Skip to content

Keep the channel user list tracked after an attendance reply - #324

Merged
raucao merged 1 commit into
masterfrom
fix/tracked-user-list-after-attendance
Oct 11, 2026
Merged

raucao merged 1 commit into
masterfrom
fix/tracked-user-list-after-attendance

Conversation

@silverbucket

Copy link
Copy Markdown
Member

Sockethub is changing the IRC attendance query to answer with one query message carrying object.members (and a roles map), the same shape XMPP already uses, instead of one presence update per nick (sockethub/sockethub#1308, closes sockethub/sockethub#277).

Hyperchannel already handles that shape in updateChannelUserList, and the IRC room id in the response (#channel@host) matches sockethubChannelId, so nothing breaks on the wire. JOIN, PART, and WHO still arrive as before.

One side effect: updateChannelUserList replaced the channel's TrackedArray with the plain members array. Later addUser/removeUser calls then mutated an untracked array, so joins and parts after the attendance reply stopped re-rendering the sidebar. XMPP had this already; with the Sockethub change IRC would hit it too. This wraps the members in a TrackedArray.

Not done: showing op/voice from the new roles map. LinkToUsername still derives the role from a @/%/+ prefix that Sockethub strips, and no stylesheet styles those classes yet, so there is nothing to render until the UI wants it.

Tests: added assertions for the tracked list and an IRC-shaped attendance response. pnpm test:ember passes (212 pass, 3 skipped).

updateChannelUserList replaced the TrackedArray with the plain members
array from the response. Later join and leave updates mutated that plain
array, so the sidebar stopped re-rendering. Sockethub now answers IRC
attendance queries with the same single members message as XMPP
(sockethub/sockethub#1308), which made this reachable on IRC too.
@silverbucket
silverbucket requested a review from raucao October 11, 2026 15:19
@silverbucket silverbucket self-assigned this Oct 11, 2026

@raucao raucao left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

@raucao raucao changed the title fix: keep the channel user list tracked after an attendance reply Keep the channel user list tracked after an attendance reply Oct 11, 2026
@raucao
raucao merged commit fc5b817 into master Oct 11, 2026
4 checks passed
@raucao
raucao deleted the fix/tracked-user-list-after-attendance branch October 11, 2026 15:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Get room attendance list as single message

2 participants