Skip to content

client: a read-only window draws no DSH Agent or session menu write - #2272

Draft
HugoXK wants to merge 1 commit into
ThinkFlowLab:mainfrom
HugoXK:dev/3-agent-menu-readonly
Draft

HugoXK wants to merge 1 commit into
ThinkFlowLab:mainfrom
HugoXK:dev/3-agent-menu-readonly

Conversation

@HugoXK

@HugoXK HugoXK commented Nov 3, 2026

Copy link
Copy Markdown
Contributor

Fixes #2271

Written-by: Dev3
Owner: Dev3
Reviewer: Birfy
Claim-Id: 10086412d5f44cf6a6c788d4df73bc08
Branch: dev/3-agent-menu-readonly
Base: 03a1253
Tree: bda73e4bcd35456be4e341f8852ecfcc8a35d5e2
Verified commit: ce30175
Pushed head: ce30175

Scope

A read-only FlyBot window still draws the DSH Agent menu's Pin/Unpin and Remove DSH Agent, and a session menu's Rename and Archive, although the host refuses all four (set-flags, remove-agent, agent-rename and agent-archive are not reads) so each row only ends in a failure toast. AgentMenu now reads the roster's read-only sentence once, the same way the rest of the client does, and drops those four rows; a writable window keeps every row exactly as it is, and a menu whose every row is a write is not drawn at all instead of leaving an empty box.

Files

  • core/src/client/context-menu.js — the gate in AgentMenu
  • core/test/context-menu-agent-readonly.test.js — the test and its counter-proofs
  • docs/subsystems/core-client.md — the owned doc
  • changelog.d/2271-agent-menu-readonly.fixed.md — the fragment
  • core/client.js — the regenerated bundle
  • patches/ds-bot/0003-flybot-api-client.patch, patches/ds-bot/0008-client-bundle.patch, patches/ds-bot/files/test/context-menu-agent-readonly.test.js — the regenerated mirrors

Readings attached at the final tip; this draft reserves the issue and requests no review.

The DSH Agent row's menu painted Pin, Unpin and Remove DSH Agent, and a
Session's menu painted Rename and Archive, even when the roster said the
window is read-only: the host refuses set-flags, remove-agent, agent-rename
and agent-archive for such a window, so the row only produced a failure
toast. Compute one `locked` from `roster.readOnly` the way the Bot menu
already does and drop those rows there; with every row hidden the menu
draws nothing rather than an empty box. Refs ThinkFlowLab#2253.
@github-actions github-actions Bot added the risk:T1 Risk tier T1 (client, tests, generated files), set by the controller from the diff label Nov 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

risk:T1 Risk tier T1 (client, tests, generated files), set by the controller from the diff

Projects

None yet

Development

Successfully merging this pull request may close these issues.

core: a read-only window's DSH Agent and session menus still offer Pin, Remove DSH Agent, Rename and Archive

1 participant