Skip to content

fix(app): say why an offline channel can't open - #364

Merged
iamnbutler merged 3 commits into
mainfrom
offline-label
Oct 15, 2026
Merged

iamnbutler merged 3 commits into
mainfrom
offline-label

Conversation

@iamnbutler

Copy link
Copy Markdown
Contributor

Offline channels showed only a gray dot (study scenario 18b, #218). Now:

  • Sidebar rows: an offline row's glyph has a tooltip and accessible label, "Offline: is unreachable", naming the channel's host (SidebarRow.host, set from the listing).
  • Section headings: when every channel in a teammate's section is offline, the heading reads " · Offline" (project view and All Projects). Hosted channels are never offline, so a section with one stays unmarked, and a hosted channel whose workspace is offline keeps feat(app): show where a hosted channel runs and what waits for its workspace #357's wording.
  • Dashboard: the existing "Offline" label gets the same explanation as a tooltip and screen-reader text.
  • Channel: an offline channel's chat says "Offline: is unreachable. This chat loads when it's back." instead of the gateway's "No reachable host runs that channel" with a Try again button that could not succeed (the watch already retries when the host returns).

Tested in headless Chromium against a separate test host (own port, state dir, and keychain service; kept off the tailnet) synced to a stand-in directory listing an unreachable teammate's two channels plus a hosted channel whose workspace is that host.

Not changed: the composer's footer still shows the gateway's error for an offline channel; composer.tsx is being changed elsewhere tonight.

Fixes #361

Built in Ace

No — built with Claude Code outside Ace by an overnight issue watcher, because this Mac's Ace Canary is a participant in the running two-person study (#218); dogfooding gap tracked in #5.

Offline sidebar rows get a tooltip and accessible label naming the unreachable host, a teammate
section whose channels are all offline says so in its heading, the dashboard's Offline label
explains itself, and an offline channel's chat says its host is unreachable instead of showing
the gateway's error with a retry that cannot succeed.

Why: apps/app/src/app.tsx#function heading | a section reads Offline only when every row is offline; hosted rows never are, so a section with one stays unmarked
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Offline channels show only an unexplained gray dot

1 participant