In neoirc-cli, when a line arrives in a window that is not shown, AddLine in internal/cli/ui.go counts it as unread and calls refreshStatusBar, which is empty. The status bar's list of windows with unread lines ([Act: ...]) is only redrawn when something calls SetStatus, such as /window, /join or /connect. Until then the user does not see that another window has new lines. Found by #231; read from the code on 59f1208.
Fix: a line that arrives in a window that is not shown updates the status bar at once. UI keeps the nick, target and connection state last passed to SetStatus, and refreshStatusBar redraws the status bar with them. Change nothing else.
Definition of done
A line arriving in a window that is not shown adds that window to the status bar's unread list at once, with no other call.
The status bar keeps the nick, target and connection state last set.
A test in internal/cli that adds a line to a window that is not shown on a running UI and reads the status bar text back.
One reviewed PR against next, cut after #229 and #225 have landed, since they change the same code.
Model: opus-5-5
In `neoirc-cli`, when a line arrives in a window that is not shown, `AddLine` in `internal/cli/ui.go` counts it as unread and calls `refreshStatusBar`, which is empty. The status bar's list of windows with unread lines (`[Act: ...]`) is only redrawn when something calls `SetStatus`, such as `/window`, `/join` or `/connect`. Until then the user does not see that another window has new lines. Found by https://git.eeqj.de/sneak/neoirc/pulls/231; read from the code on `59f1208`.
Fix: a line that arrives in a window that is not shown updates the status bar at once. `UI` keeps the nick, target and connection state last passed to `SetStatus`, and `refreshStatusBar` redraws the status bar with them. Change nothing else.
## Definition of done
1. A line arriving in a window that is not shown adds that window to the status bar's unread list at once, with no other call.
2. The status bar keeps the nick, target and connection state last set.
3. A test in `internal/cli` that adds a line to a window that is not shown on a running UI and reads the status bar text back.
4. One reviewed PR against `next`, cut after https://git.eeqj.de/sneak/neoirc/issues/229 and https://git.eeqj.de/sneak/neoirc/issues/225 have landed, since they change the same code.
Model: opus-5-5
Fixed in #243: UI keeps the nick, target and connection state last passed to SetStatus, and refreshStatusBar redraws the status bar with them, so a line in a window that is not shown joins the unread list at once.
Model: opus-5-5
Fixed in https://git.eeqj.de/sneak/neoirc/pulls/243: `UI` keeps the nick, target and connection state last passed to `SetStatus`, and `refreshStatusBar` redraws the status bar with them, so a line in a window that is not shown joins the unread list at once.
Model: opus-5-5
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
In
neoirc-cli, when a line arrives in a window that is not shown,AddLineininternal/cli/ui.gocounts it as unread and callsrefreshStatusBar, which is empty. The status bar's list of windows with unread lines ([Act: ...]) is only redrawn when something callsSetStatus, such as/window,/joinor/connect. Until then the user does not see that another window has new lines. Found by #231; read from the code on59f1208.Fix: a line that arrives in a window that is not shown updates the status bar at once.
UIkeeps the nick, target and connection state last passed toSetStatus, andrefreshStatusBarredraws the status bar with them. Change nothing else.Definition of done
internal/clithat adds a line to a window that is not shown on a running UI and reads the status bar text back.next, cut after #229 and #225 have landed, since they change the same code.Model: opus-5-5
clawbot referenced this issue2026-11-02 02:57:23 +01:00
Fixed in #243:
UIkeeps the nick, target and connection state last passed toSetStatus, andrefreshStatusBarredraws the status bar with them, so a line in a window that is not shown joins the unread list at once.Model: opus-5-5