Skip to content

Re-extract app-bundle overlay at fork v1.18.10-amicode.16 (repairs the #513 drift break) - #531

Merged
aarontrowbridge merged 4 commits into
mainfrom
530-reextract-amicode-16
Aug 23, 2026
Merged

Re-extract app-bundle overlay at fork v1.18.10-amicode.16 (repairs the #513 drift break)#531
aarontrowbridge merged 4 commits into
mainfrom
530-reextract-amicode-16

Conversation

@aarontrowbridge

@aarontrowbridge aarontrowbridge commented Aug 23, 2026

Copy link
Copy Markdown
Member

Closes #530.

The overlay hand-edit from #513 (session-question-dock.tsx) is superseded by the fork's canonical implementation (opencode#232, in the .16 tag) — same feature, fork-canonical code. 80 files added, 63 changed (the UI wave: workspace engine, retheme, status-dot semantics, theme fixes); round-trip verified byte-identical to the tag; drift gate PASS locally.

Second commit (pending): the vendored-binary lock bump (opencode.lock.json .14 → .16) once the fork release assets finish building — then CI's full matrix can go green.

Fork tag: harmoniqs/opencode#238.

Summary by CodeRabbit

  • New Features

    • Added command palette search for commands, files, and sessions.
    • Added provider connection, project editing, file selection, WSL server setup, and release-notes dialogs.
    • Added terminal tabs, session status indicators, context menus, prompt attachments, and tool cards.
    • Added solver-mode switching notifications and improved session/project management.
    • Added the Harmoniqs theme, refreshed branding, typography, colors, and responsive UI styling.
  • Bug Fixes

    • Improved connection recovery, provider readiness retries, theme loading, and session timeline states.
    • Corrected question defaults and path handling.
  • Tests

    • Expanded regression and accessibility-related coverage across sessions, themes, services, and solver switching.

Repairs the #513 drift-gate break on main: the overlay hand-edit is
superseded by the fork's canonical question-default implementation
(opencode#232, included in the .16 tag). 80 files added, 63 changed —
the full UI wave (workspace engine, retheme, status-dot semantics,
theme fixes). Round-trip verified: all 502 files byte-identical to the
tag; drift gate PASS.

Closes #530. Fork tag tracked by harmoniqs/opencode#238.
@coderabbitai

coderabbitai Bot commented Aug 23, 2026

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 439a8901-1475-4bcf-b6f4-f4eb1a5e625b

📥 Commits

Reviewing files that changed from the base of the PR and between 416b74c and 238ab87.

⛔ Files ignored due to path filters (2)
  • packages/app-bundle/overlay/packages/app/public/assets/DMSans-Variable.woff2 is excluded by !**/*.woff2
  • packages/app-bundle/overlay/packages/sdk/js/src/v2/gen/types.gen.ts is excluded by !**/gen/**
📒 Files selected for processing (149)
  • packages/app-bundle/manifest.json
  • packages/app-bundle/overlay/packages/app/e2e/regression/session-timeline-lifecycle-state.spec.ts
  • packages/app-bundle/overlay/packages/app/index.html
  • packages/app-bundle/overlay/packages/app/public/oc-theme-preload.js
  • packages/app-bundle/overlay/packages/app/src/app.tsx
  • packages/app-bundle/overlay/packages/app/src/components/amicode-defaults-capsule.tsx
  • packages/app-bundle/overlay/packages/app/src/components/connection-banner.tsx
  • packages/app-bundle/overlay/packages/app/src/components/dialog-command-palette-v2.css
  • packages/app-bundle/overlay/packages/app/src/components/dialog-command-palette-v2.tsx
  • packages/app-bundle/overlay/packages/app/src/components/dialog-connect-provider.tsx
  • packages/app-bundle/overlay/packages/app/src/components/dialog-edit-project-v2.tsx
  • packages/app-bundle/overlay/packages/app/src/components/dialog-edit-project.tsx
  • packages/app-bundle/overlay/packages/app/src/components/dialog-release-notes.tsx
  • packages/app-bundle/overlay/packages/app/src/components/dialog-select-directory-v2.css
  • packages/app-bundle/overlay/packages/app/src/components/dialog-select-file.tsx
  • packages/app-bundle/overlay/packages/app/src/components/help-button.tsx
  • packages/app-bundle/overlay/packages/app/src/components/prompt-input/context-items.tsx
  • packages/app-bundle/overlay/packages/app/src/components/prompt-input/image-attachments.tsx
  • packages/app-bundle/overlay/packages/app/src/components/prompt-input/slash-popover.tsx
  • packages/app-bundle/overlay/packages/app/src/components/report-bug-button.stories.tsx
  • packages/app-bundle/overlay/packages/app/src/components/session/session-header.tsx
  • packages/app-bundle/overlay/packages/app/src/components/session/session-new-view.tsx
  • packages/app-bundle/overlay/packages/app/src/components/session/session-sortable-terminal-tab-v2.tsx
  • packages/app-bundle/overlay/packages/app/src/components/settings-v2/general.tsx
  • packages/app-bundle/overlay/packages/app/src/components/settings-v2/permissions.tsx
  • packages/app-bundle/overlay/packages/app/src/components/settings-v2/settings-v2.css
  • packages/app-bundle/overlay/packages/app/src/components/solver-switch-banner.tsx
  • packages/app-bundle/overlay/packages/app/src/components/status-popover-body.tsx
  • packages/app-bundle/overlay/packages/app/src/components/status-popover-indicator.test.ts
  • packages/app-bundle/overlay/packages/app/src/components/status-popover-indicator.ts
  • packages/app-bundle/overlay/packages/app/src/components/status-popover.tsx
  • packages/app-bundle/overlay/packages/app/src/components/terminal.tsx
  • packages/app-bundle/overlay/packages/app/src/components/titlebar-tab-nav.css
  • packages/app-bundle/overlay/packages/app/src/components/titlebar-tab-nav.tsx
  • packages/app-bundle/overlay/packages/app/src/components/titlebar-tab-popover.css
  • packages/app-bundle/overlay/packages/app/src/components/titlebar.tsx
  • packages/app-bundle/overlay/packages/app/src/components/ui/drawer.tsx
  • packages/app-bundle/overlay/packages/app/src/components/windows-app-menu.tsx
  • packages/app-bundle/overlay/packages/app/src/context/server-sdk.test.ts
  • packages/app-bundle/overlay/packages/app/src/context/server-sdk.tsx
  • packages/app-bundle/overlay/packages/app/src/design-polish.css
  • packages/app-bundle/overlay/packages/app/src/index.css
  • packages/app-bundle/overlay/packages/app/src/pages/home.tsx
  • packages/app-bundle/overlay/packages/app/src/pages/home/home-projects-view.tsx
  • packages/app-bundle/overlay/packages/app/src/pages/home/home-sessions-view.tsx
  • packages/app-bundle/overlay/packages/app/src/pages/layout-new.tsx
  • packages/app-bundle/overlay/packages/app/src/pages/layout/project-avatar-state.ts
  • packages/app-bundle/overlay/packages/app/src/pages/layout/session-tab-avatar.tsx
  • packages/app-bundle/overlay/packages/app/src/pages/layout/session-tab-status.test.ts
  • packages/app-bundle/overlay/packages/app/src/pages/layout/session-tab-status.tsx
  • packages/app-bundle/overlay/packages/app/src/pages/new-session/new-session-draft-controller.ts
  • packages/app-bundle/overlay/packages/app/src/pages/new-session/new-session-view.test.ts
  • packages/app-bundle/overlay/packages/app/src/pages/new-session/new-session-view.tsx
  • packages/app-bundle/overlay/packages/app/src/pages/session.tsx
  • packages/app-bundle/overlay/packages/app/src/pages/session/composer/session-bug-dock.stories.tsx
  • packages/app-bundle/overlay/packages/app/src/pages/session/composer/session-composer-region.tsx
  • packages/app-bundle/overlay/packages/app/src/pages/session/composer/session-question-dock.tsx
  • packages/app-bundle/overlay/packages/app/src/pages/session/composer/session-revert-dock.stories.tsx
  • packages/app-bundle/overlay/packages/app/src/pages/session/composer/todo-panel-motion.stories.tsx
  • packages/app-bundle/overlay/packages/app/src/pages/session/session-side-panel.tsx
  • packages/app-bundle/overlay/packages/app/src/pages/session/terminal-panel-v2.tsx
  • packages/app-bundle/overlay/packages/app/src/pages/session/timeline/message-timeline.tsx
  • packages/app-bundle/overlay/packages/app/src/theme-preload.test.ts
  • packages/app-bundle/overlay/packages/app/src/utils/webview-context-menu.ts
  • packages/app-bundle/overlay/packages/app/src/wsl/dialog-add-server.tsx
  • packages/app-bundle/overlay/packages/app/src/wsl/dialog-add-wsl-server.css
  • packages/app-bundle/overlay/packages/app/src/wsl/settings.tsx
  • packages/app-bundle/overlay/packages/core/src/database/migration.gen.ts
  • packages/app-bundle/overlay/packages/core/src/database/migration/20260820000001_add_session_directories.ts
  • packages/app-bundle/overlay/packages/core/src/location-mutation.ts
  • packages/app-bundle/overlay/packages/core/src/location.ts
  • packages/app-bundle/overlay/packages/core/src/session/sql.ts
  • packages/app-bundle/overlay/packages/core/src/system-context/builtins.ts
  • packages/app-bundle/overlay/packages/core/src/tool/question.ts
  • packages/app-bundle/overlay/packages/core/test/fixture/location.ts
  • packages/app-bundle/overlay/packages/core/test/location-mutation.test.ts
  • packages/app-bundle/overlay/packages/core/test/system-context/builtins.test.ts
  • packages/app-bundle/overlay/packages/core/test/tool-question.test.ts
  • packages/app-bundle/overlay/packages/schema/src/location.ts
  • packages/app-bundle/overlay/packages/session-ui/src/components/basic-tool.css
  • packages/app-bundle/overlay/packages/session-ui/src/components/basic-tool.stories.tsx
  • packages/app-bundle/overlay/packages/session-ui/src/components/basic-tool.tsx
  • packages/app-bundle/overlay/packages/session-ui/src/components/line-comment-styles.ts
  • packages/app-bundle/overlay/packages/session-ui/src/components/markdown.css
  • packages/app-bundle/overlay/packages/session-ui/src/components/message-part.css
  • packages/app-bundle/overlay/packages/session-ui/src/components/message-part.tsx
  • packages/app-bundle/overlay/packages/session-ui/src/components/session-review.css
  • packages/app-bundle/overlay/packages/session-ui/src/components/session-turn.tsx
  • packages/app-bundle/overlay/packages/session-ui/src/v2/components/attachment-card-v2.css
  • packages/app-bundle/overlay/packages/session-ui/src/v2/components/basic-tool-v2.css
  • packages/app-bundle/overlay/packages/session-ui/src/v2/components/basic-tool-v2.tsx
  • packages/app-bundle/overlay/packages/session-ui/src/v2/components/prompt-input/index.tsx
  • packages/app-bundle/overlay/packages/session-ui/src/v2/components/session-review-v2.css
  • packages/app-bundle/overlay/packages/session-ui/src/v2/components/tool-error-card-v2.css
  • packages/app-bundle/overlay/packages/ui/src/amicode/amico-presence.stories.tsx
  • packages/app-bundle/overlay/packages/ui/src/amicode/amico-wave.stories.tsx
  • packages/app-bundle/overlay/packages/ui/src/amicode/amicode.css
  • packages/app-bundle/overlay/packages/ui/src/amicode/brain-engine.ts
  • packages/app-bundle/overlay/packages/ui/src/amicode/connection-icon.tsx
  • packages/app-bundle/overlay/packages/ui/src/amicode/connection-picker.tsx
  • packages/app-bundle/overlay/packages/ui/src/amicode/context-tree-engine.ts
  • packages/app-bundle/overlay/packages/ui/src/amicode/home-cards.tsx
  • packages/app-bundle/overlay/packages/ui/src/amicode/onboarding-wizard.tsx
  • packages/app-bundle/overlay/packages/ui/src/amicode/run-gallery.tsx
  • packages/app-bundle/overlay/packages/ui/src/amicode/solver-switch.test.ts
  • packages/app-bundle/overlay/packages/ui/src/amicode/solver-switch.ts
  • packages/app-bundle/overlay/packages/ui/src/amicode/solver-toggle.test.ts
  • packages/app-bundle/overlay/packages/ui/src/amicode/solver-toggle.tsx
  • packages/app-bundle/overlay/packages/ui/src/amicode/widget-tokens.test.ts
  • packages/app-bundle/overlay/packages/ui/src/amicode/widget-tokens.ts
  • packages/app-bundle/overlay/packages/ui/src/components/amicode-solver-switch.tsx
  • packages/app-bundle/overlay/packages/ui/src/components/amicode-solver-toggle.tsx
  • packages/app-bundle/overlay/packages/ui/src/components/context-menu.css
  • packages/app-bundle/overlay/packages/ui/src/components/context-menu.stories.tsx
  • packages/app-bundle/overlay/packages/ui/src/components/dropdown-menu.css
  • packages/app-bundle/overlay/packages/ui/src/components/hover-card.css
  • packages/app-bundle/overlay/packages/ui/src/components/image-preview.css
  • packages/app-bundle/overlay/packages/ui/src/components/list.stories.tsx
  • packages/app-bundle/overlay/packages/ui/src/components/popover.css
  • packages/app-bundle/overlay/packages/ui/src/components/resize-handle.stories.tsx
  • packages/app-bundle/overlay/packages/ui/src/components/select.css
  • packages/app-bundle/overlay/packages/ui/src/components/tabs.css
  • packages/app-bundle/overlay/packages/ui/src/components/text-reveal.stories.tsx
  • packages/app-bundle/overlay/packages/ui/src/components/text-strikethrough.stories.tsx
  • packages/app-bundle/overlay/packages/ui/src/components/thinking-heading.stories.tsx
  • packages/app-bundle/overlay/packages/ui/src/components/toast.css
  • packages/app-bundle/overlay/packages/ui/src/components/tooltip.css
  • packages/app-bundle/overlay/packages/ui/src/styles/index.css
  • packages/app-bundle/overlay/packages/ui/src/styles/theme.css
  • packages/app-bundle/overlay/packages/ui/src/theme/context.tsx
  • packages/app-bundle/overlay/packages/ui/src/theme/default-themes.ts
  • packages/app-bundle/overlay/packages/ui/src/theme/themes/harmoniqs.json
  • packages/app-bundle/overlay/packages/ui/src/v2/components/badge-v2.css
  • packages/app-bundle/overlay/packages/ui/src/v2/components/menu-v2.css
  • packages/app-bundle/overlay/packages/ui/src/v2/components/menu-v2.stories.tsx
  • packages/app-bundle/overlay/packages/ui/src/v2/components/radio-v2.css
  • packages/app-bundle/overlay/packages/ui/src/v2/components/select-v2.css
  • packages/app-bundle/overlay/packages/ui/src/v2/components/toast-v2.css
  • packages/app-bundle/overlay/packages/ui/src/v2/components/tooltip-v2.css
  • packages/app-bundle/overlay/packages/ui/src/v2/styles/theme.css
  • packages/extension/opencode.lock.json
  • packages/extension/src/amicode_service/widgets_src/about-you.ts
  • packages/extension/src/amicode_service/widgets_src/jump-back-in.ts
  • packages/extension/src/amicode_service/widgets_src/library.ts
  • packages/extension/src/amicode_service/widgets_src/meet-amico.ts
  • packages/extension/src/amicode_service/widgets_src/now-solving.ts
  • packages/extension/src/amicode_service/widgets_src/pulse-bank.ts
  • packages/extension/src/amicode_service/widgets_src/showcase.ts
  • packages/extension/test/fixtures/amicode/golden.json

📝 Walkthrough

Walkthrough

This PR re-extracts the app bundle at the Amicode fork release. It adds application dialogs, session state handling, WSL support, core location and session contracts, new UI components and themes, solver switching, regression tests, and extension styling updates.

Changes

Amicode release and application integration

Layer / File(s) Summary
Manifest and extraction inventory
packages/app-bundle/manifest.json
The manifest records the new fork metadata, extracted files, classifications, deletions, counts, and hashes.
Theme, session state, and application services
packages/app-bundle/overlay/packages/app/..., packages/app-bundle/overlay/packages/ui/src/amicode/...
The application pins the harmoniqs theme, adds session status dots, solver-switch state, SSE cleanup, command-palette behavior, provider connection flows, project editing, prompt controls, and terminal tabs.
Application dialogs and platform flows
packages/app-bundle/overlay/packages/app/src/wsl/..., packages/app-bundle/overlay/packages/app/src/components/...
The application adds WSL onboarding and settings, release notes, file selection, help content, Windows menus, project views, and supporting Storybook playgrounds.
Core location, session, and context contracts
packages/app-bundle/overlay/packages/core/..., packages/app-bundle/overlay/packages/schema/src/location.ts
Core adds location schemas and path mutation validation, session SQL tables, a session-directories migration, system-context builtins, and related tests.
Session rendering and tool components
packages/app-bundle/overlay/packages/session-ui/...
Session UI adds tool components, session-turn rendering, review and line-comment styles, attachment styles, v2 controls, and lifecycle coverage.
UI system, theme, and component stories
packages/app-bundle/overlay/packages/ui/src/...
The UI package adds the Harmoniqs theme, token resolution, shared component styles, v2 control styles, solver helpers, and Storybook examples.
Extension release and widget alignment
packages/extension/...
The extension updates the fork lockfile and replaces widget-specific styling values with shared Amicode tokens.

Estimated code review effort: 5 (Critical) | ~120 minutes

Sequence Diagram(s)

sequenceDiagram
  participant User
  participant SolverToggle
  participant StatusPopover
  participant SolverSwitchBanner
  participant Server
  User->>SolverToggle: Select Piccolo
  SolverToggle->>StatusPopover: Request solver selection
  StatusPopover->>SolverSwitchBanner: Begin switch narration
  StatusPopover->>Server: POST /amicode/solver-mode
  Server-->>StatusPopover: Connection state changes
  SolverSwitchBanner-->>User: Render phase status
Loading
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch 530-reextract-amicode-16

Comment @coderabbitai help to get the list of available commands.

Aligns the vendored binary with the app-bundle overlay pin and the
frozen server binary (same fork revision, 77bb1c8b7). Asset hashes
recorded from the release.
The contract suite's self-tracking check caught the pin bump — goldens
re-recorded via scripts/record_amicode_fixtures.mjs (71 entries).
The parity suite caught the pin bump's second-order effect: the fork's
re-theme wave (opencode#235) restyled all seven builtin widgets; the
extension's copies lagged. Synced verbatim from the fork's
widgets-src — the fork binary is the parity source of truth.
@aarontrowbridge
aarontrowbridge marked this pull request as ready for review August 23, 2026 17:00
@aarontrowbridge
aarontrowbridge merged commit 5a7c8db into main Aug 23, 2026
8 checks passed
@aarontrowbridge
aarontrowbridge deleted the 530-reextract-amicode-16 branch August 23, 2026 17:00
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.

Re-extract app-bundle overlay at fork v1.18.10-amicode.16 — repair the #513 drift-gate break on main

1 participant