Above the message box sat Sending as Apollo Beach → #ops with a Lock button beside it. The box's own placeholder already reads Message #ops…, and the title bar already carries a Lock, so the line only said both again. Both removed; the title-bar Lock is untouched and still relocks every Slack tile on the page.
Quick replies keeps its line. It has no message box and so no placeholder — that line is the only place its target channel is named.
The send target now has to be on screen
Until a transcript was clicked, resolve() fell back to list[0] — the first channel in the admin list — whether or not that channel had a tile on the dashboard. A board showing only #ops would quietly aim at #general.
The order is now:
the transcript clicked last, while it is still configured and still on the page;
else the first configured channel whose transcript is on this page — with a single transcript up, that one;
else (the page shows no transcript at all) the first configured channel, as before.
Verified against tools/slack-mock.js
With #production (C001) and #ops (C002) configured in that order, and a saved selection cleared:
a board holding only the #ops transcript aimed at #ops, not #production — and a real send through the tile landed in C002's history, with C001 untouched;
the Send tile showed no header line, no Lock link, placeholder Message #ops…, and Lock alone in its title bar; Quick replies still showed Sending as Apollo Beach → #ops and its Lock link;
clicking between the two transcripts moved the target, the placeholder and the is-target highlight each time — the path where the now-absent line used to be repainted;
closing the selected #ops tile moved the target to #production rather than leaving it on a channel with no tile; closing both fell back to #production;
the title-bar Lock relocked both the Send and Quick replies tiles;
one PIN entry still unlocks every Slack tile on the page.
Two things, one behind the other.
### The Send tile's header line is gone
Above the message box sat `Sending as Apollo Beach → #ops` with a **Lock** button beside it. The box's own placeholder already reads `Message #ops…`, and the title bar already carries a Lock, so the line only said both again. Both removed; the title-bar Lock is untouched and still relocks every Slack tile on the page.
**Quick replies keeps its line.** It has no message box and so no placeholder — that line is the only place its target channel is named.
### The send target now has to be on screen
Until a transcript was clicked, `resolve()` fell back to `list[0]` — the first channel in the *admin* list — whether or not that channel had a tile on the dashboard. A board showing only `#ops` would quietly aim at `#general`.
The order is now:
1. the transcript clicked last, while it is still configured and still on the page;
2. else the first configured channel **whose transcript is on this page** — with a single transcript up, that one;
3. else (the page shows no transcript at all) the first configured channel, as before.
### Verified against `tools/slack-mock.js`
With `#production` (C001) and `#ops` (C002) configured in that order, and a saved selection cleared:
- a board holding only the **`#ops`** transcript aimed at `#ops`, not `#production` — and a real send through the tile landed in C002's history, with C001 untouched;
- the Send tile showed no header line, no Lock link, placeholder `Message #ops…`, and `Lock` alone in its title bar; Quick replies still showed `Sending as Apollo Beach → #ops` and its Lock link;
- clicking between the two transcripts moved the target, the placeholder and the `is-target` highlight each time — the path where the now-absent line used to be repainted;
- closing the selected `#ops` tile moved the target to `#production` rather than leaving it on a channel with no tile; closing both fell back to `#production`;
- the title-bar Lock relocked both the Send and Quick replies tiles;
- one PIN entry still unlocks every Slack tile on the page.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
The line above the message box said "Sending as Apollo Beach → #ops" with a
Lock button beside it. The box's own placeholder already reads "Message
#ops…" and the title bar already has a Lock, so both went. Quick replies
keeps its line: it has no placeholder, so that is the only place its target
is named.
The bigger thing behind it: until a transcript was clicked, a send went to
the first channel in the admin list whether or not that channel was on the
dashboard — so a board showing only #ops would quietly aim at #general. The
target now falls to the first configured channel whose transcript is
actually up, which with a single transcript is that one. Only when the page
shows no transcript at all does it fall back to the first configured
channel.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
michael
merged commit d52cfcc48e into main2026-09-17 12:42:50 -04:00
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.
Two things, one behind the other.
The Send tile's header line is gone
Above the message box sat
Sending as Apollo Beach → #opswith a Lock button beside it. The box's own placeholder already readsMessage #ops…, and the title bar already carries a Lock, so the line only said both again. Both removed; the title-bar Lock is untouched and still relocks every Slack tile on the page.Quick replies keeps its line. It has no message box and so no placeholder — that line is the only place its target channel is named.
The send target now has to be on screen
Until a transcript was clicked,
resolve()fell back tolist[0]— the first channel in the admin list — whether or not that channel had a tile on the dashboard. A board showing only#opswould quietly aim at#general.The order is now:
Verified against
tools/slack-mock.jsWith
#production(C001) and#ops(C002) configured in that order, and a saved selection cleared:#opstranscript aimed at#ops, not#production— and a real send through the tile landed in C002's history, with C001 untouched;Message #ops…, andLockalone in its title bar; Quick replies still showedSending as Apollo Beach → #opsand its Lock link;is-targethighlight each time — the path where the now-absent line used to be repainted;#opstile moved the target to#productionrather than leaving it on a channel with no tile; closing both fell back to#production;🤖 Generated with Claude Code