Skip to content

feat(app): add channel header agent and desktop access toggles - #161

Merged
iamnbutler merged 4 commits into
mainfrom
codex/team-agent-access
Oct 7, 2026
Merged

iamnbutler merged 4 commits into
mainfrom
codex/team-agent-access

Conversation

@iamnbutler

@iamnbutler iamnbutler commented Oct 6, 2026 •

Copy link
Copy Markdown
Contributor

Closes #158 (tracked by #5). Revised per owner feedback: use two channel-header toggle buttons immediately left of +, rather than a details-sidebar checkbox.

  • Collaborator agent access allows teammates to invoke agents. Turning it off blocks new collaborator invocations, not human chat or active runs. Invoking drafts and attachments are held intact by the teammate composer. Composer notices sit below the composer, clear of the attachment tray.
  • Channel desktop tools independently gates native desktop dispatch throughout the channel, including owner/collaborator runs, other chats and subagents. Turning it off refuses subsequent desktop calls without cancelling already-dispatched operations. Shell tools remain available; this is not a shell security sandbox.
  • Both controls are owner-editable and read-only for collaborators, with pressed styling, accessible states, tooltips, pending states and error toasts. The sidebar sharing section is removed.
  • Metadata watch events carry both settings on initial watch and committed changes without changing name/summary revisions. Older hosts retain their existing behavior; unsupported controls are unavailable. SettingsDoc v2 preserves existing shared values and adds desktop: true through a versioned migration.

The header revision was briefly opened as #169; its commit is now included directly here and #169 is superseded.

Validation

  • bun types, bun run ci, and git diff --check pass on e3bb405. The original agent-access implementation also passed React Doctor with no new rule.
  • Signed lane-local Ace-dev build, real native desktop inspection/clicks: agent → monitor → + placement, all four independent toggle combinations, both-off and both-on persistence through full app/host restarts, and absence of the sidebar checkbox. Isolated profile/channel only; development processes stopped afterward.
  • Real Anthropic runs verified owner/subagent desktop refusal, mid-run disabling in a collaborator's second chat, re-enabled native inventory, and persisted refusal after worker restart.
  • Two isolated backups reopened (absent settings and v1 sharing off); sharing preserved and desktop enabled. All 175 original entries remained byte-for-byte unchanged; integrity checks and source-backup checksums passed.
  • Earlier feat(app): add channel header agent and desktop access toggles #161 validation covered real-provider owner/teammate agent enforcement, human chat while off, live updates, active-run continuity and persistence. Headless React checks covered three clients, held text/image drafts, Chat submission, reconnect and reload. Worker-restart watch recovery remains the Reattach the open chat watch after its channel worker restarts #153 baseline addressed in fix(host): recover open transcript watches after channel workers restart #159.
  • Remaining native checks: collaborator read-only view, older/disconnected hosts, hover tooltips and split-pane layouts. Hosted desktop forwarding was type/code reviewed, not deployed; no second-person/tailnet-machine check.

Built in Ace

The header/desktop-toggle revision was entirely built in Ace using its lane, shell/build tools, subagents and native desktop tools; no external editor, terminal, browser automation or agent was used for that revision.

The original implementation, shell work, smokes and browser validation runs were done in Ace by an Anthropic-model agent. Codex coordinated from outside Ace and independently reviewed the original head b30e9f6 there (#9). Ace had no browser inspection tools (#50), so those original React checks used an installed external Playwright 1.63.0 driver with chromium_headless_shell-1243.

@iamnbutler

Copy link
Copy Markdown
Contributor Author

Follow-up UI revision requested by @iamnbutler is ready in #169, stacked on this branch. It replaces the sidebar checkbox with two toggle buttons immediately left of +: collaborator agent access and channel-wide native desktop tools. Native signed-dev clicks/restarts, real-provider gate checks, backup migration, types and lint passed. #169 is separate to keep this branch undisturbed; merge/retarget the follow-up after #161, or incorporate it before landing.

@iamnbutler iamnbutler changed the title feat(app): show and change collaborator agent invocation feat(app): add channel header agent and desktop access toggles Oct 6, 2026
@iamnbutler
iamnbutler marked this pull request as ready for review October 7, 2026 00:24
@iamnbutler

Copy link
Copy Markdown
Contributor Author

Resolved the conflict with current main (5194bf7): retained the native desktop permission gate and main’s independent browser-tool registration. Also reviewed the automatic transcript merge to preserve both watch recovery and live access settings. Local bun types, bun run ci, app production build, and diff checks pass. Awaiting the refreshed CI before merging as requested.

@iamnbutler
iamnbutler merged commit 10f06d2 into main Oct 7, 2026
1 check passed
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.

Show and change collaborator agent invocation in the app

1 participant