Skip to content

feat: start new channels unshared and state what sharing grants - #243

Merged
iamnbutler merged 1 commit into
mainfrom
unshared-default
Oct 14, 2026
Merged

iamnbutler merged 1 commit into
mainfrom
unshared-default

Conversation

@iamnbutler

Copy link
Copy Markdown
Contributor

Part of #214. New channels start with collaborator agent invocation off, and turning it on says what it grants.

  • Default: ace.settings initial is now shared: false; migrate is unchanged. A new channel (no root conversation yet) stores the settings document before its root is created. Existing channels that never changed a setting have no stored document, so a missing document still means shared (LEGACY), and changing desktop access on such a channel writes its current shared value instead of initial's.
  • Header toggle: turning agent access on opens a confirmation, "Let collaborators invoke agents?" / "Teammates can run commands as you on this machine." (plus "Desktop tools are on, so they can also operate your apps." when they are), with Cancel / Turn on. The tooltip now reads "Allow collaborators to invoke agents, which run commands as you on this machine. …". Turning it off is unchanged.
  • CLI: ace share <channel> on prints Sharing is on for <name>. Teammates can run commands as you on this machine.
  • Docs: readme.md, docs/architecture.md, and docs/data.md no longer say channels start shared; data.md records the check below.

Remaining in #214: whether desktop also starts off for new channels (left at true).

Verification (source host, isolated ACE_HOME/ACE_CONFIG_HOME in a temp dir, no mocks):

  • On origin/main code, created legacy (never changed, so no ace.settings row in SQLite) and legacyoff (ace share legacyoff off), then stopped their workers and backed them up.
  • On this branch: legacy reopened shared: true, legacyoff shared: false; legacyoff's documents, document_revisions, and entries matched its backup, and integrity_check passed.
  • Turning desktop off on legacy kept shared: true, including after a worker restart.
  • A new channel fresh reported shared: false, stored ace.settings at creation, refused ace ask from another ACE_USER with "Only the owner can invoke agents here", and stayed unshared after a restart. ace share fresh on printed the notice and flipped it; off flipped it back.
  • bun types and bun run ci pass. The header confirmation was type-checked but not exercised in the running app.

Built in Ace

No. Made by a Claude Code subagent in a terminal at the maintainer's choice for this session; not an Ace capability gap. Dogfooding: #5.

New channels store shared: false at creation. Channels without stored settings stay shared, and
changing desktop access on them keeps that. Turning sharing on in the header asks for confirmation
and the CLI prints a notice: teammates can run commands as you on this machine.

Part of #214.
@iamnbutler
iamnbutler merged commit 163271e into main Oct 14, 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.

1 participant