Repository navigation
fix: mark channels unread for any message and count @mentions of you - #577
Merged
Merged
Conversation
iamnbutler
force-pushed
the
fix-unread
branch
from
October 22, 2026 14:56
a182889 to
5b94ab1
Compare
Each message a person or another channel's agent writes is published like a run end: the host records the latest one and a running count of @mentions per name on the channel's listing, which reaches teammates through peers. The app marks a channel unread when someone else wrote since you last looked, counts mentions of your GitHub login since then, and shows both, with needs-you, in the sidebar, palette and the Dashboard's channel list. Decided in Q122. Why: apps/host/src/catalog.ts#function said | mention counts only grow; apps subtract the count they last saw, so resetting one hides or invents mentions
iamnbutler
force-pushed
the
fix-unread
branch
from
October 22, 2026 15:12
5b94ab1 to
5bfbcd3
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Decided in Q122: mark a channel unread for any new message and count @mentions of you. Map ids: ^386 ^620.
onSaid, likeonRun), with the names it @mentions. Local workers write it to the catalog; hosted/cloud channels project it over the workspace socket. The host records the latest message (said) and a running per-name mention count (mentions) on the listing, so teammates get it through peers likeran.message), and counts @mentions of your GitHub login since then, against a per-profile baseline so history doesn't light up. Opening the channel clears both.Mention/Unread.@ace/channel/protocolso what the channel counts matches what the app links.Smoked on an isolated loopback host (4431) with
ace serve --demoand a synthetic teammate: after sam wrote in lab-one and twice @mentioned me in lab-two (once as@IAMNBUTLER), the Dashboard showed lab-one Unread and lab-two2 mentions+ Unread, the sidebar showed the dot and a2badge, the palette read Unread/Mention; opening both cleared them, and they stayed cleared after a reload. My ownace saymarked nothing. Records heldsaidandmentions: {"iamnbutler": 2}.Note: hosted/cloud channels need the channel service redeployed to send
said; an older host answers it as an unknown method with no call id, which the service drops.Built in Ace
No. Built with Claude Code (fix-train worker) in a lane, outside Ace, as part of the map-lead fix train. Tracked under #5.