Skip to content

feat!: remove the apps feature entirely - #95

Merged
SawyerHood merged 1 commit into
mainfrom
remove-apps-feature
Jun 11, 2026
Merged

feat!: remove the apps feature entirely#95
SawyerHood merged 1 commit into
mainfrom
remove-apps-feature

Conversation

@SawyerHood

Copy link
Copy Markdown
Collaborator

Summary

Deletes the bb apps product feature end to end — app threads, app viewer, app sources, app data storage, the app runtime SDK, and the bb app CLI. No backwards compatibility. Net: −23,864 / +7,065 lines across 249 files (insertions are mostly restored/renamed shared routing + settings files and regenerated drizzle snapshots).

Removed

  • Server (apps/server): /api/v1/apps* and /api/v1/app-sources* routes, app + app-source services, app scaffold template and its build scripts, app-data internal routes, ws app broadcasting, building-bb-apps builtin skill
  • Frontend (apps/app): app viewer, standalone app view, sidebar apps section, app tabs, new-tab app search, app queries/mutations/realtime cache handlers, app API client functions
  • CLI / host daemon: bb app command family, app-data change reporter and file handling, host-watcher app-data targets, runtime-manager app-data wiring
  • Shared packages: @bb/domain app types and change kinds, @bb/server-contract app routes/schemas, @bb/sdk app-runtime/app-window, @bb/config app storage paths

Migrations

  • 0027_majestic_cable.sql — drops app_settings
  • 0028_clear_skullbuster.sql — adds system_experiments; experiments persistence previously piggybacked on app_settings and now has its own table (packages/db/src/data/experiments.ts)

Refactors required by the removal

  • Shared routing extracted from app-route-paths.tslib/route-paths.ts / useAppRouteuseRouteState
  • Global settings page survives: AppSettingsViewSettingsView (only its apps-source section was feature code); sidebar label "App settings" → "Settings"
  • Builtin-skill copy sentinel switched from the deleted building-bb-apps to bb-cli
  • New skill-storage-paths.ts in @bb/config for data-dir skill storage formerly colocated with app storage paths

Intentionally untouched

Electron/desktop "app" code, Hono createApp, the monorepo apps/ directory, docs/codex-app-server.md (OpenAI Codex protocol doc), and historical migrations 0026_*.

Validation

  • pnpm exec turbo run typecheck — 31/31 packages pass
  • pnpm exec turbo run build — 8/8 pass
  • pnpm exec turbo run test --force — 30/30 packages pass (incl. 1,135 frontend tests)
  • Repo-wide rg sweeps for apps-feature identifiers (registerGlobalAppRoutes, AppSearchSuggestion, appSettings, app-runtime, building-bb-apps, app_ id prefixes, …) return only historical-migration hits

🤖 Generated with Claude Code

Deletes the bb apps product feature end to end: app threads, app viewer,
app sources, app data storage, app runtime SDK, and the `bb app` CLI.
No backwards compatibility.

- Server: /api/v1/apps* routes, app + app-source services, scaffold
  templates and build scripts, app-data internal routes, ws app
  broadcasting, building-bb-apps skill
- Frontend: app viewer, sidebar apps section, app tabs, new-tab app
  search, app queries/mutations/cache handlers; shared routing extracted
  to lib/route-paths.ts; global settings page renamed
  AppSettingsView -> SettingsView (apps-source section removed)
- CLI/daemon: bb app command family, app-data change reporter and file
  handling, host-watcher app-data targets, runtime-manager wiring
- Shared: domain app types and change kinds, server-contract app types,
  SDK app-runtime/app-window, app_settings table dropped (0027);
  experiments persistence moved to new system_experiments table (0028)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@SawyerHood
SawyerHood merged commit 8a02828 into main Jun 11, 2026
5 of 6 checks passed
@SawyerHood
SawyerHood deleted the remove-apps-feature branch June 11, 2026 22:19
brsbl added a commit that referenced this pull request Jun 17, 2026
Resolve conflicts with main's #95 (remove apps feature). Drop the
workflow-* and schedule-due taxonomy kinds (their subsystems/templates
were removed on main); keep ownership + child taxonomy, Family A titles,
per-action icons, and markdown bodies. Integrate main's route-paths/
RouteAnchor rename, side-chat childOrigin props, and centralized matchMedia.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
brsbl added a commit that referenced this pull request Jun 17, 2026
…wn bodies (#192)

## Action-specific timeline system message titles

Replaces the timeline's generic system-message rendering with action-
and thread-specific titles, per-action icons, a conservative body
de-duplication, and markdown bodies for system messages. Built from the
approved spec `timeline-system-message-taxonomy-108f`.

### What changes
- **Granular titles** that name the action and link the thread:
- **Family A (operation rows):** `Provisioned thread` → **"Fix auth bug
provisioned"**; also provisioning (active/failed/cancelled/interrupted),
thread-interrupted, and parent-change (`assign`/`release`/`transfer`,
unlinked fallback when a parent is missing). Provider
warnings/deprecations/unhandled and compaction stay generic by design.
- **Family B (conversation messages):** the hardcoded **"System
Message"** specializes per template — `[child] finished`/`failed`/`was
interrupted` (split by the child's `turnStatus`), `N threads updated`
(batch), `[child] needs attention`, `[child] assigned to
you`/`unassigned`. Legacy messages fall back to "System Message".
- **Per-action icons** keyed on `operationKind` / `systemMessageKind`.
- **Body de-duplication:** `ownership-assigned`/`ownership-removed`
collapse to title-only (their one-line body equals the title).
- **Markdown bodies for system messages**, preserving `@thread` mention
pills (remark plugin), with `remark-breaks` so single newlines still
break. Agent bodies keep the offset renderer; assistant rendering
unchanged.
- New `GeneratedConversationMessage` Ladle story (Overview) covering
every kind.

### Design
- New `systemMessageKind` enum + `systemMessageSubject` payload on the
`client/turn/requested` event and the user conversation row; stamped at
each emit site, decoded onto the row. Legacy events default to
`unlabeled`/`null` once at the stored-event boundary — **no migration**.
- Operation-row contract `title` stays a flat string; the app composes
the linked title from the row's `threadId`/`parentChange` (shared
`family-a-verbs` constants prevent builder/splitter drift).

### Scope note (rebased onto current main)
main's #95 ("remove the apps feature entirely") deleted the
**workflows** and **scheduling** subsystems and their templates. The
`workflow-*` and `schedule-due` taxonomy kinds were therefore
**dropped** during the merge (their emit sites no longer exist); the
thread/child/ownership taxonomy, Family A titles, icons, and markdown
bodies are unaffected.

### Testing
- Typecheck clean across `@bb/domain`, `@bb/server-contract`,
`@bb/thread-view`, `@bb/server`, `@bb/app`.
- thread-view **305**, app (markdown + title mapping + parse-operation +
timeline-row-title) **58**, server stamping **7**.
- Built in reviewed sessions; final 3-reviewer integration pass found no
P0/P1.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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