Skip to content

feat(sidebar): Slack mark on Slack-bridged threads (replaces the 'Slack:' prefix) - #50

Merged
DanielGGordon merged 4 commits into
mainfrom
t3code/add-slack-conversation-icon
Aug 19, 2026
Merged

feat(sidebar): Slack mark on Slack-bridged threads (replaces the 'Slack:' prefix)#50
DanielGGordon merged 4 commits into
mainfrom
t3code/add-slack-conversation-icon

Conversation

@DanielGGordon

@DanielGGordon DanielGGordon commented Aug 19, 2026

Copy link
Copy Markdown
Owner

What

Threads whose title starts with Slack: (the conversation-gateway bridge) now show the Slack pinwheel mark in place of the literal prefix at the head of the title, so bridged conversations are recognisable at a glance and the row gets the characters back for the actual sentence.

Chosen design: Opus 5's ("mark replaces the prefix, title-leading") — picked from five model-generated options reviewed at commit af8f1c3e9 (comparison sheet, full sheet). The other four variants, the registry/localStorage switch and the screenshot folder are removed in the final commit.

How

  • apps/web/src/lib/threadChannel.tsgetThreadChannel(title) (/^\s*slack\s*:/i) + stripThreadChannelPrefix, unit-tested.
  • apps/web/src/components/Icons.tsxSlackIcon (official four-colour brand path, 122.8 viewBox), alongside the other brand marks.
  • apps/web/src/components/SlackThreadBadge.tsxuseThreadDisplayTitle(title){ isSlack, displayTitle }, and SlackThreadBadge (14px mark, role="img" + aria-label, desaturates/steps back on receded rows and returns to full colour on row hover, plus a visually-hidden Slack: so the accessible name keeps the channel).
  • Wired into Sidebar V2 card + slim rows (SidebarV2.tsx) and the classic V1 row (Sidebar.tsx) right before the title text. Non-Slack rows are unchanged; rename still edits the full stored title.

Verification

  • tsgo --noEmit (apps/web) ✅ · vp lint on touched files ✅ · vp test run src/lib/threadChannel.test.ts ✅ 5/5 · vp run --filter @t3tools/web build
  • Integrated visual pass on an isolated dev instance seeded via scripts/mobile-showcase-environment.ts (+ two Slack: threads, one settled): V2 dark (active + hovered settled row), V2 light, V1 dark all render the mark; DOM textContent of a Slack row still reads "Slack: Weekly digest…" (a11y); no page errors. Throwaway instance deleted — nothing created in prod.
  • Codex second-review (gpt-5.6-sol) on the options commit: the one finding (stripped prefix dropped "Slack" from the accessible name) is fixed by the sr-only prefix.
  • CI doesn't run on this fork (no Blacksmith runners); local verification is the gate.

🤖 Generated with Claude Code

DanielGGordon and others added 3 commits August 19, 2026 16:21
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Adds the Fable 5, Opus 5, Opus 4.8, Grok 4.6 and GPT-5.6 Sol variants under
slack-thread-badge/variants, registers them, and commits the contact sheets
used in the PR description (docs/images/slack-badge-options).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ps the prefix

Codex review: variants with stripPrefix lost the channel from the row's
accessible name (the trailing cluster is aria-hidden). Render a visually
hidden 'Slack: ' before the displayed title in that case. Also oxfmt on the
new files.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:XL labels Aug 19, 2026
…istry

Keeps the chosen design: the four-colour Slack pinwheel (SlackIcon in
Icons.tsx) replaces the literal 'Slack:' prefix at the head of the title in
Sidebar V2 card/slim rows and the classic V1 row, with a visually-hidden
'Slack:' preserving the accessible name. Removes the variant registry,
localStorage switch, placement slots, the other four variants and the
review screenshots.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@DanielGGordon
DanielGGordon merged commit ebb07e8 into main Aug 19, 2026
6 of 10 checks passed
@github-actions github-actions Bot added size:L and removed size:XL labels Aug 19, 2026
@DanielGGordon DanielGGordon changed the title feat(sidebar): Slack symbol on Slack-bridged threads — 5 design options to pick from feat(sidebar): Slack mark on Slack-bridged threads (replaces the 'Slack:' prefix) Aug 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:L vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant