github linuxserver/docker-thelounge nightly-78cadc5f-ls218

pre-releaseone hour ago

CI Report:

https://ci-tests.linuxserver.io/linuxserver/thelounge/nightly-78cadc5f-ls218/index.html

LinuxServer Changes:

No changes

Remote Changes:

ircv3: monitor and extended-monitor (#5045)

Updated version of #4550. Closes #337, closes #872 (#337 can't be fully
addressed — tracking nick changes isn't really possible atm).

image

Away support:
image

Summary

Query windows show whether the person behind them is online, and whether
they are away, using
MONITOR rather than
polling. Network keeps the monitor list: queries are registered in
batched MONITOR + commands once RPL_ISUPPORT tells us the server
supports it, and one at a time as new query windows open. The limit
advertised in MONITOR=<n> is respected, with anything over it waiting
for a slot; MONITOR=0 means no monitoring at all, a bare MONITOR
means no limit. A nick change on a monitored query swaps the target in
place so the query keeps its slot.

extended-monitor
is requested too, so away, nick, account and chghost updates arrive for
monitored nicks we share no channel with. Away state for people we do
share a channel with comes from a WHO on join.

The indicator is a dot on the query in the sidebar and next to the nick
in the message bubble, with a tooltip and an img role so it isn't
colour-only, and it can be turned off under Appearance.

Known limitation: a server that enforces a monitor limit it doesn't
advertise will reject part of a batch with ERR_MONLISTFULL; the user
gets a message in the lobby, but the client's own list isn't reconciled
until reconnect.

Test Plan

  • Unit tests for the monitor list: add, case-insensitive dedupe,
    queueing at the limit, removal draining the queue, batching, and the
    rename path.
  • Ran the server against a local IRCd and watched the wire: opening
    queries sends MONITOR + <nick> each, a reconnect with four open
    queries sends a single MONITOR + bob,carol,dave,mallory, 730/731 drive
    the online/offline state, a rename sends MONITOR - bob then MONITOR + bob2, MONITOR=0 sends nothing at all, and a bare MONITOR behaves as
    unlimited.

Don't miss a new docker-thelounge release

NewReleases is sending notifications on new releases.