Skip to content

fix(desktop): make starter profiles optional and removable - #7466

Open
JackHunzicker wants to merge 1 commit into
block:mainfrom
JackHunzicker:fix/removable-default-profiles
Open

fix(desktop): make starter profiles optional and removable#7466
JackHunzicker wants to merge 1 commit into
block:mainfrom
JackHunzicker:fix/removable-default-profiles

Conversation

@JackHunzicker

@JackHunzicker JackHunzicker commented Sep 7, 2026

Copy link
Copy Markdown

Summary

Starter personas and the built-in Welcome Team are currently forced into every user's inventory and re-created after removal. This PR keeps the templates available by explicit choice instead.

  • New built-in personas start inactive; existing activation choices and customizations are preserved.
  • The startup fold preserves inactive/customized built-ins instead of discarding their opt-out state.
  • Missing Welcome Teams are not automatically recreated, and onboarding respects absent teams or inactive starters instead of activating and launching them again.
  • The Agents screen gets an explicit Starter templates menu. Stock profiles and the Welcome Team can be removed through the ordinary delete controls and stay removed across reload.
  • Removing a local built-in team does not queue kind:30176 or catalog deletion events (built-in templates are never owner-published, so a synchronized tombstone could delete another device's customized copy). Owner-authored custom teams keep normal synchronized deletion. Existing dependency/reference guards and same-named custom teams are preserved.

Independent of #7419. Based on 3c7f288c60d67df78577b237e27c3dfc8831aaa1. No change to agent runtime/harness configuration, no second profile store, and the stock template definitions themselves are not removed.

Related issue

Fixes #5553 (allow hiding or disabling built-in personas and the Welcome Team). Adjacent, not duplicates: #5979 (channel-membership repair after a completed kickoff; this PR touches welcomeKickoff.ts on one line and should compose with it), #5319 / #6211 (per-device duplicate agents).

Testing

  • Native desktop library: 3,013 passed, 0 failed, 15 ignored (cargo test --manifest-path desktop/src-tauri/Cargo.toml --lib --locked). Native regressions cover local-only built-in deletion, custom-team tombstone retention through the same production seam, opt-out survival through the real startup migration/fold, and no automatic Welcome Team re-creation.
  • Desktop JS: 6,452 passed, 0 failed (pnpm test, both globs).
  • pnpm build:e2e (TypeScript check + mock-bridge build) passed.
  • Browser (Playwright smoke, tests/e2e/removable-defaults.spec.ts): 2 passed: starter templates are opt-in and can be removed again; deleting the built-in Welcome Team leaves a custom look-alike team intact.
  • Rust fmt, Biome on touched frontend files, git diff --check, and just file-size-check pass.

Verified on Windows (x86_64-pc-windows-msvc). The full just ci on this host surfaced a set of pre-existing Windows-only Clippy/test-fixture issues on main that are unrelated to this change; I have those fixed locally and will open them as a separate PR so this one stays scoped.

Screenshots (mock bridge):

Starter templates control, no forced profiles Delete on a starter profile
starter templates opt-in delete menu
Stays removed after reload Custom look-alike team survives built-in team deletion
reload stays removed custom lookalike survives

Signed-off-by: Jack <JLHunzicker@gmail.com>
@JackHunzicker
JackHunzicker requested a review from a team as a code owner September 7, 2026 23:13
@github-actions

github-actions Bot commented Sep 7, 2026

Copy link
Copy Markdown

🔐 Codex Security Review

Status: review required for the current range.

The current range is 3c7f288c60d67df78577b237e27c3dfc8831aaa1...bdea3002df41d33af2b69b2a7a1b2fddbbdb1ce8.
A new review must complete for this exact range. When manual authorization
is required, a Block organization member must comment exactly
@buzz-security-review bdea3002df41d33af2b69b2a7a1b2fddbbdb1ce8 to authorize a new review.
Any previous review applies only to its recorded range.

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.

Allow hiding or disabling built-in personas (Fizz/Honey/Bumble) and the Welcome Team

1 participant