feat!: remove the apps feature entirely - #95
Merged
Conversation
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>
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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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 appCLI. 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
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-appsbuiltin skillapps/app): app viewer, standalone app view, sidebar apps section, app tabs, new-tab app search, app queries/mutations/realtime cache handlers, app API client functionsbb appcommand family, app-data change reporter and file handling, host-watcher app-data targets, runtime-manager app-data wiring@bb/domainapp types and change kinds,@bb/server-contractapp routes/schemas,@bb/sdkapp-runtime/app-window,@bb/configapp storage pathsMigrations
0027_majestic_cable.sql— dropsapp_settings0028_clear_skullbuster.sql— addssystem_experiments; experiments persistence previously piggybacked onapp_settingsand now has its own table (packages/db/src/data/experiments.ts)Refactors required by the removal
app-route-paths.ts→lib/route-paths.ts/useAppRoute→useRouteStateAppSettingsView→SettingsView(only its apps-source section was feature code); sidebar label "App settings" → "Settings"building-bb-appstobb-cliskill-storage-paths.tsin@bb/configfor data-dir skill storage formerly colocated with app storage pathsIntentionally untouched
Electron/desktop "app" code, Hono
createApp, the monorepoapps/directory,docs/codex-app-server.md(OpenAI Codex protocol doc), and historical migrations0026_*.Validation
pnpm exec turbo run typecheck— 31/31 packages passpnpm exec turbo run build— 8/8 passpnpm exec turbo run test --force— 30/30 packages pass (incl. 1,135 frontend tests)rgsweeps for apps-feature identifiers (registerGlobalAppRoutes,AppSearchSuggestion,appSettings,app-runtime,building-bb-apps,app_id prefixes, …) return only historical-migration hits🤖 Generated with Claude Code