Skip to content

refactor(channels): remove personal groups - #988

Merged
wesbillman merged 1 commit into
mainfrom
carl/remove-personal-groups
Oct 13, 2026
Merged

wesbillman merged 1 commit into
mainfrom
carl/remove-personal-groups

Conversation

@wesbillman

Copy link
Copy Markdown
Collaborator

Summary

Personal groups (from #181) were a second, private copy of sidebar channel groups. Once created, they replaced the regular sidebar groups (#207) in the sidebar. This removes them completely so sidebar groups are the only way to group channels again. Me groups are separate and unchanged.

  • Removes Settings → Personal groups, its manage dialog and the "Personal group" picker in channel settings.
  • Removes store switching from the sidebar, Move/Create/Remove section, the new-channel group destination, setup receipts (groupSource) and session section defaults.
  • Narrows the private groups schema to me in the frontend parser and the desktop signing validator (src-tauri/src/relay/kit.rs).

Compatibility

  • No migration, by product decision. Anyone who had personal groups sees their regular sidebar groups again and can regroup channels.
  • Saved buzz-channel-kit-v1:<community>:groups:personal records are skipped before decode (capability.ts). Without this, the stricter parser would reject the whole private catalog, which would also break teams, templates and Me. A new capability.test.ts case covers this. It fails with the skip line removed.
  • An in-flight channel setup receipt from an older build that targeted a personal group fails placement with the existing "choose its group separately" notice. The channel is kept.
  • For up to 24 hours, the cached startup sidebar may briefly show a personal-groups view until the live read replaces it. It stays read-only while cached.

Validation

At c3f98ea7:

  • tsc --noEmit and Biome pass. The full Vitest suite passed locally (after updating 4 stale assertions), and pre-commit/pre-push hooks pass.
  • Real-store tests for Me groups and catalog-read retry, previously in the deleted sidebar-personal-groups.test.ts, moved to me-preferences.test.ts (15 tests).
  • cargo test --lib relay::kit: 7 passed.
  • Chromium: sidebar-section-removal, settings-layout, settings, navigation-groups, navigation-sorting, startup specs pass (52 tests).
  • Browser cases removed: personal-group variants in navigation-groups (2), navigation-sorting (1), startup (1) and sidebar-section-removal (1 of 2 parameterized cases), plus the personal-groups steps in settings and settings-layout. Each tested only the removed feature. Regular sidebar-group equivalents remain. No browser cases added.
  • Independent agent review: no correctness findings. Its coverage finding (Me tests lost with the deleted file) is fixed.

Deferred: WebKit, the desktop app, and human testing.

Try it

In this worktree, run the app as usual. Check that Settings has no "Personal groups" entry and channel settings has no "Personal group" picker. Then create, move into and remove a sidebar section, and create a channel from a section's + button. If your account has saved personal groups, the sidebar should show your regular groups, and teams and templates should still load.

🤖 Generated with Claude Code

Personal groups duplicated sidebar groups in a second private store and
replaced them in the sidebar once created. Remove the Settings page,
channel-settings picker, store switching and personal schema. Sidebar
groups are the only channel grouping again; Me groups are unchanged.

Saved personal-group records are skipped before decode so they cannot
reject the private catalog. They are not migrated.

Co-authored-by: Carl <32a2e2c9d428ee08902cab75d956da2c1d235a22d4766b0dd4138bf6e2e5db1d@buzz.block.builderlab.xyz>
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Signed-off-by: Wes <[email protected]>
@wesbillman
wesbillman marked this pull request as ready for review October 13, 2026 19:09
@wesbillman
wesbillman requested a review from a team as a code owner October 13, 2026 19:09
@wesbillman
wesbillman merged commit d910a26 into main Oct 13, 2026
23 checks passed
@wesbillman
wesbillman deleted the carl/remove-personal-groups branch October 13, 2026 19:26
wpfleger96 pushed a commit that referenced this pull request Oct 13, 2026
* commit 'ad4040dee':
  Port IFC policy library and session APIs (#835)
  Give Codex the Buzz base prompt (#984)
  refactor(channels): remove personal groups (#988)
  Replace the agent icon with the Soft & wide mark (#932)
  fix(channels): close the activity popover through Base UI actions (#891)
  Restore model and effort picks when a background send is recovered (#887)

Signed-off-by: Duncan <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@buzz.block.builderlab.xyz>
johnmatthewtennant pushed a commit that referenced this pull request Oct 13, 2026
* origin/main: (22 commits)
  Polish workspace surfaces, split controls, and emoji composition (#801)
  fix: wake reading after an exact message reveal (#1006)
  feat(pairing): copy the pairing code from Settings (#1003)
  Ignore .scratch in the Vite dev watcher (#1001)
  fix(client): recover websocket connections across repeated rollouts (#996)
  test: fix six cross-branch CI flakes (#1002)
  feat(agents): run Buzz's own copies of Claude and Codex, kept on the latest release (#949)
  ci: repeat changed Vitest and Playwright tests 10x on pull requests (#890)
  feat(agents): restore agent memory (#982)
  Soften compact dropdown outlines (#991)
  fix(agents): manage providers, models, and agent migrations (#952)
  Port IFC policy library and session APIs (#835)
  Give Codex the Buzz base prompt (#984)
  refactor(channels): remove personal groups (#988)
  Replace the agent icon with the Soft & wide mark (#932)
  fix(channels): close the activity popover through Base UI actions (#891)
  Restore model and effort picks when a background send is recovered (#887)
  test(navigation): isolate the keyboard retry session gate (#981)
  fix(codex): log failed idle terminal clean instead of swallowing it (#878)
  feat(agents2): set the clicked conversation's session apart in agent tabs (#846)
  ...

Signed-off-by: Sol <49aa1f65411fd096d2e2ec144f1e7aa36fdc76d1b907cfdf7be000c66f9d3b8e@buzz.block.builderlab.xyz>
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.

3 participants