Skip to content

fix(sidebar): keep plugin token follow-ups from #1341 in step with the rows - #1402

Merged
devswha merged 1 commit into
mainfrom
fix/sidebar-token-followups
Oct 19, 2026
Merged

devswha merged 1 commit into
mainfrom
fix/sidebar-token-followups

Conversation

@devswha

@devswha devswha commented Oct 19, 2026

Copy link
Copy Markdown
Owner

Refs #1349 (items 1, 2, 3 and 5; item 4, hide-rule operands on the machine events, touches what watch-only browsers receive and goes in its own PR).

Change

Follow-ups to #1341 (plugin pane tokens in the sidebar, not released yet, so no changelog fragment: changelog.d/sidebar-plugin-tokens.md still describes the feature).

  1. Long token values no longer push the phone sheet's actions away. .row-sheet-detail is capped at a third of the screen and scrolls. Before, 32 long tokens filled the sheet: the title scrolled off the top and Pin agent sat under Cancel, out of reach. This follows the iOS action sheet (and the Claude and Codex apps' long-press sheets): a long message scrolls, the actions stay put.
  2. An open phone sheet follows its row. AgentSidebar kept a copy of the title, place and tokens taken when the menu opened. The menu now keeps only which row and anchor, and reads what it says from the row at each render, so a changed value, a hide rule that now applies or a PC going away shows in the open sheet too.
  3. A plugin line (display_agent) after a recovery is measured against what clients show. The collector's dedupe baseline was seeded only for panes it had never seen, so after a lost subscription the baseline stayed at the line heard before the loss. A change back to that line then looked like no change, and the sidebar waited for the next roster poll. On a resync, which already tells clients to read the panes again, the baseline now takes the snapshot's line, except for panes an event has spoken for since the snapshot was asked.
  4. A token named twice in herdr's rows shows if any of its places shows it. server/herdr-sidebar.ts kept only the first place of a token, so a token hidden by its first place's rule showed nowhere, though herdr tests each place on its own (src/ui/sidebar/tokens.rs maps every row entry independently). The parser now keeps each place, and paneTokenValues says a token once, at the first place whose rules leave it shown. The herdr-sidebar machine event may now list a name more than once; an older browser reading it keeps the first place, as before.

Validation

  • bun run check fast: workflow syntax, generated types and themes, typecheck, build, unit tests (4504 pass, 0 fail, 8 skip).
  • New unit cases: shared/pane-tokens.test.ts (a token named twice), server/herdr-sidebar.test.ts (each place kept, updated from "each once"), server/collector.test.ts (an event after a recovery). The collector case times out against main's server/collector.ts and passes with this change.
  • scripts/sidebar-tokens-demo-regression.ts (demo fixture, no live session) gained two phone checks: the open sheet's detail follows a changed value, and with 32 long tokens the sheet's title, Pin agent and Cancel are on screen and hit-testable while the detail scrolls. All four desktop and phone passes are green. Both checks failed on main when reproduced by hand before the fix (Pin agent covered by Cancel; sheet kept 40% 12m · 5h 95% after the row changed).

…e rows

The phone sheet scrolls long token values instead of pushing its actions out, an open sheet reads its row at each render, a recovery resets the display_agent baseline to the resynced snapshot, and a token named twice in herdr's rows shows at the first place that does not hide it. Refs #1349.
@devswha

devswha commented Oct 19, 2026

Copy link
Copy Markdown
Owner Author

@coderabbitai review

@devswha

devswha commented Oct 19, 2026

Copy link
Copy Markdown
Owner Author

CodeRabbit did not review ba0ea26 (its review allowance ran out; @coderabbitai review got no answer). Merged on the required checks, the merge pass's own reviews (omo-native-code-reviewer and Codex) and its local verification.

@devswha
devswha merged commit 192be8d into main Oct 19, 2026
16 checks passed
@devswha
devswha deleted the fix/sidebar-token-followups branch October 19, 2026 17:32
@coderabbitai

coderabbitai Bot commented Oct 19, 2026

Copy link
Copy Markdown

Review in Change Stack →

Note

Currently processing new changes in this PR. This may take a few minutes, please wait...

⚙️ Run configuration
  • Configuration used: Repository: devswha/herdr-web-ui/.coderabbit.yaml
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 8f3f1ba7-71bd-4947-ac45-232fa41e5f6b
📥 Commits

Reviewing files that changed from the base of the PR and between b55a2fe and ba0ea26.

📒 Files selected for processing: 10
  • DESIGN.md
  • scripts/sidebar-tokens-demo-regression.ts
  • server/collector.test.ts
  • server/collector.ts
  • server/herdr-sidebar.test.ts
  • server/herdr-sidebar.ts
  • shared/pane-tokens.test.ts
  • shared/pane-tokens.ts
  • src/components/AgentSidebar.tsx
  • src/components/RowMenu.css
+-------------------------------------------------------+
| Coding ain't done 'til all the Tests run. 'Nuff said. |
+-------------------------------------------------------+
  \
   \   (\__/)
       (•ㅅ•)
       /   づ
✨ Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai

coderabbitai Bot commented Oct 19, 2026 •

Copy link
Copy Markdown
⚠️ Action not completed

Pull request is closed.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@coderabbitai

coderabbitai Bot commented Oct 19, 2026

Copy link
Copy Markdown

Tip

For best results, initiate chat on the files or code changes.

@devswha Thanks for clarifying. ba0ea26f did not receive a CodeRabbit review. As you reported, the merge relied on the required checks, reviews from omo-native-code-reviewer and Codex, and local verification.

You are interacting with an AI system.

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.

1 participant