Skip to content

feat(app): show Work by default, with an opt-out - #318

Merged
quickbeard merged 1 commit into
mainfrom
show-work-default
Aug 24, 2026
Merged

quickbeard merged 1 commit into
mainfrom
show-work-default

Conversation

@quickbeard

Copy link
Copy Markdown
Owner

Follow-up to #292 (feat/work-side-opt-in), which added the general.showWork preference and shipped it off — hiding the Code/Work strip for any profile that had never made a sandbox. This flips the default to on.

Why

The gate is worth having: a desktop profile that does not use sandboxes pays for the strip anyway, with a Work side that has nothing in it and offers to build one. Letting that profile put both away is right.

Shipping it off is the part that does not hold up:

  • Hiding Work until a sandbox exists also hides the only evidence that sandboxes exist. The profile most likely to lose the strip is exactly the one that would then never discover the feature — Settings → Servers → + → Add sandbox is not somewhere you go looking for something you have never heard of.
  • It silently changes the sidebar for every existing install that has no sandbox, without anyone asking for it.

On by default keeps the app as it is and makes putting Work away an explicit choice.

What changed

  • settings.tsx: showWork default false → true.
  • en/es/vi: the description said "Creating a sandbox shows Work either way", which reads as a caveat on an opt-in reveal. With the switch on by default the meaningful action is turning it off, so it now says what off does: "Keep the Code/Work tabs visible even with no sandboxes. Turn it off and Work stays hidden until you create one."
  • Comments in settings.tsx, settings-v2/general.tsx, workspace/side.ts and workspace/tabs.tsx that asserted "sandboxes are opt-in, a profile with none has no Work side" — no longer true unless the user opts out.
  • CHANGELOG.md: feat(app): hide the Work side until a sandbox exists #292's entry is still unreleased, so it is rewritten to describe what actually ships rather than stacking a contradicting entry after it. Both PRs are credited.
  • DIVERGENCES.md: row retitled (it is opt-out now), default corrected, rationale replaced, vi.ts added to the file list, and the on-conflict guidance gains "keep the default true".

No logic changed: workSideAvailable() and its four branches are untouched, and the tests pass explicit preference values, so they cover both defaults as they stand.

Testing

packages/app: 700 unit + 130 browser tests pass, bun typecheck clean. No e2e spec references the strip or the preference.

Docs PR: quickbeard/codev-landing-page (follows).

🤖 Generated with Claude Code

The Show Work preference shipped off, which hid the Code/Work strip for any
profile that had never made a sandbox. That also hides the only evidence that
sandboxes exist, so the profile most likely to lose the strip is the one that
would then never discover the feature — and it silently changes the sidebar for
every existing install.

Default it on. The gate is unchanged and still does its job: turning Show Work
off puts both the Work side and the strip away until a sandbox exists, which
makes hiding Work a choice rather than something that happens to you.

Description reworded to match — the meaningful action is now turning the switch
off, so it says what off does instead of restating that a sandbox shows Work.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@quickbeard
quickbeard merged commit cf77d9c into main Aug 24, 2026
0 of 5 checks passed
@quickbeard
quickbeard deleted the show-work-default branch August 24, 2026 09:23
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