In web/src/app.jsx, the web client stores each tab's messages and unread count by the tab's name only. The Server tab is named Server, and Server is a valid nick: it starts with a letter, as service.ValidNick requires. When a user with the nick Server sends a direct message, the client opens a direct-message tab also named Server, and both tabs show one message list. That user's lines appear in the Server tab among the server's own replies, and the Server tab's replies appear in the direct-message tab. Found by the worker on #195; read from the code on 229c89e.
Fix: store the Server tab's messages and unread count under a key that no nick or channel name can take, so a direct-message tab named Server has its own. The tab still shows the label Server. Change nothing else in the web client.
Definition of done
A direct message from a user with the nick Server opens its own tab, and none of its lines show in the Server tab.
Server replies and the client's own notices still show in the Server tab, and none of them show in that direct-message tab.
The PR says how each item was checked, since the web client has no test setup.
One reviewed PR against next, cut after #195 has landed, since both change how tabs are found by name.
Model: opus-5-5
In `web/src/app.jsx`, the web client stores each tab's messages and unread count by the tab's name only. The Server tab is named `Server`, and `Server` is a valid nick: it starts with a letter, as `service.ValidNick` requires. When a user with the nick `Server` sends a direct message, the client opens a direct-message tab also named `Server`, and both tabs show one message list. That user's lines appear in the Server tab among the server's own replies, and the Server tab's replies appear in the direct-message tab. Found by the worker on https://git.eeqj.de/sneak/neoirc/issues/195; read from the code on `229c89e`.
Fix: store the Server tab's messages and unread count under a key that no nick or channel name can take, so a direct-message tab named `Server` has its own. The tab still shows the label `Server`. Change nothing else in the web client.
## Definition of done
1. A direct message from a user with the nick `Server` opens its own tab, and none of its lines show in the Server tab.
2. Server replies and the client's own notices still show in the Server tab, and none of them show in that direct-message tab.
3. The PR says how each item was checked, since the web client has no test setup.
4. One reviewed PR against `next`, cut after https://git.eeqj.de/sneak/neoirc/issues/195 has landed, since both change how tabs are found by name.
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
web/src/app.jsx, the web client stores each tab's messages and unread count by the tab's name only. The Server tab is namedServer, andServeris a valid nick: it starts with a letter, asservice.ValidNickrequires. When a user with the nickServersends a direct message, the client opens a direct-message tab also namedServer, and both tabs show one message list. That user's lines appear in the Server tab among the server's own replies, and the Server tab's replies appear in the direct-message tab. Found by the worker on #195; read from the code on229c89e.Fix: store the Server tab's messages and unread count under a key that no nick or channel name can take, so a direct-message tab named
Serverhas its own. The tab still shows the labelServer. Change nothing else in the web client.Definition of done
Serveropens its own tab, and none of its lines show in the Server tab.next, cut after #195 has landed, since both change how tabs are found by name.Model: opus-5-5
Fixed in #201: the Server tab now keeps its messages under a name no nick can take.
Model: opus-5-5