Releases: MarcPer/lanchat
Releases · MarcPer/lanchat
New UI, automatic reconnects
Several improvements were done in this version:
PR 1:
- new UI with tview. Now the input doesn't interfere with text from incoming messages, and generally the terminal UI is handled better all around (e.g. window resizing).
- Host scanning now doesn't rely on the
arp
UNIX command, and is implemented instead purely in Go. Besides better portability, this makes the scan more reliable, as hosts can't be always foudn in the ARP cache. - Some unit tests were added, together with Github flow automated testing
- Config files can be used to run lanchat, to avoid having to always type the command line flags. Note that the config file path needs to be specified through the
--config
(or-c
) flag though, as lanchat doesn't assume any location for it. A reasonable approach is to define an alias such as:Of course using an alias, you could just as well add the flags you need there, without resorting to the config file, but changing the config file is easier than redefining the alias 🙂 .alias lanchat=<path-to-lanchat> --config <path-to-config>
PR 3:
- All peers ping each other. If non-host peers notice the host is down, they try to become a host. See the pull request description for some caveats.
Notifications and refactoring
New features:
- system notification (using the notify-send command), with a cooldown of 20s;
- the
:info
command shows which users are currently connected to the server. This is triggered automatically for a client after it has just connected. - connection polling: the server polls its connections and removes ones that are already closed.
- connected users are notified whenever someone disconnects or when a new user joins the server.
In this release, the server and client code were merged into a peer file, since they already had a lot in common.