Skip to content

Use success task icons and connect VS Code to OpenCode, Tailscale and macOS - #11

Merged
BLamy merged 2 commits into
mainfrom
fix/verified-task-success-color
Nov 6, 2026
Merged

BLamy merged 2 commits into
mainfrom
fix/verified-task-success-color

Conversation

@BLamy

@BLamy BLamy commented Nov 6, 2026 •

Copy link
Copy Markdown
Owner

Verified task checkmarks now follow the theme's --success color, including the BL Notes example. The VS Code example also launches OpenCode from its terminal, connects to Tailscale, and is available from the macOS desktop.

  • Typing opencode opens the real TUI in the same terminal pane, using its current folder, live Explorer files, and Node runtime. Stop, /exit, or Return to terminal restores the shell and layout.
  • The VS Code status bar provides Tailscale sign-in, connection details, and sign-out. Tailnet HTTP requests from Node and OpenCode's shell tools use that controller; public requests stay in the Worker. Requests are validated, cancelled on runtime replacement, and never forwarded to a replacement Worker.
  • Visual Studio Code launches lazily from Alfred, the Dock, and the phone springboard. It shares the macOS desktop's Tailscale controller and remains mounted while minimized.
  • Regenerate the source-copy registry and document the commands and connection behavior.
  • Remove four unused docs exports and update Knip to recognize the existing TypeScript CLI script and registry-owned buffer usage; remove its stale wait-on exemption.

Validation:

  • Nx lint, typecheck, production build, and test targets for UI, registry, and docs: passed; 2,057 unit tests passed.
  • Four VS Code browser tests passed, including real OpenCode startup/restart, shared file tools and command execution, a terminal fetch over the test tailnet, and macOS launch/connection sharing.
  • The existing BL Notes task-state browser test passed. Verified the actual example's checkmark colors in light and dark mode and after changing --success at runtime.
  • Registry, tokens, and variant documentation freshness checks and Knip passed.

Summary by CodeRabbit

  • New Features
    • Launch OpenCode from the VS Code terminal and switch back to shell commands when finished. OpenCode and the Explorer share project files and the Node runtime.
    • Connect VS Code to Tailscale and send network requests to devices on your tailnet.
    • Use VS Code with the shared Tailscale connection in the macOS desktop.
    • Verified task controls now display success coloring.
  • Documentation
    • Updated VS Code and macOS block guides with OpenCode, Tailscale, and network behavior details.

Brett Lamy added 2 commits November 6, 2026 12:36
Use the success theme token for verified task icons, including BL Notes, and update the source-copy registry and examples documentation.
@bolt-new-by-stackblitz

Copy link
Copy Markdown

Review PR in StackBlitz Codeflow Run & review this pull request in StackBlitz Codeflow.

@coderabbitai

coderabbitai Bot commented Nov 6, 2026 •

Copy link
Copy Markdown

Explain Change →

Caution

Review failed

The pull request is closed.

Walkthrough

VS Code adds an OpenCode terminal experience and Tailscale connectivity, including tailnet fetches from the Worker. The macOS app registry adds VS Code with the shared Tailscale controller. The changes also update demo coverage, documentation, verified-task styling, and documentation tooling.

Changes: VS Code OpenCode and Tailscale integration

Layer / File(s) Summary
Tailscale connection and fetch flow
registry/blocks/vscode/almostnode/protocol.ts, registry/blocks/vscode/tailnet.ts, registry/blocks/vscode/page.tsx, registry/blocks/vscode/status-bar.tsx, registry/blocks/vscode/almostnode/tailnet-fetch.ts, registry/blocks/vscode/almostnode/runtime.worker.ts, registry/blocks/vscode/almostnode/worker-host.ts, registry/blocks/vscode/almostnode/index.ts, registry/blocks/vscode/tailnet-fetch.test.ts, registry/blocks/vscode/worker-host.test.ts, registry.json, registry/blocks/vscode/meta.json
VS Code accepts shared or standalone Tailscale configuration and displays connection status. Tailnet fetches pass between the Worker and host, where the configured Tailscale connection handles them. Other requests use the fallback fetch. Tests cover routing, request handling, and cancellation.
OpenCode workspace and process bridge
registry/blocks/vscode/runtime.ts, registry/blocks/vscode/almostnode/open-code.ts, registry/blocks/vscode/almostnode/index.ts, registry/blocks/vscode/almostnode/shell-line.ts, registry/blocks/vscode/open-code.test.ts, registry/blocks/vscode/meta.json, registry/blocks/vscode/almostnode/project.ts, registry.json
The opencode command creates a bridge to shared workspace files and Worker sessions. The bridge validates paths, updates shared state, runs commands, and aborts active sessions on disposal.
OpenCode terminal lifecycle
registry/blocks/vscode/store.ts, registry/blocks/vscode/store.test.ts, registry/blocks/vscode/editor-area.tsx
The store tracks an OpenCode session and prevents concurrent launches. The terminal pane displays the OpenCode view and restores terminal focus and layout when the session closes.
Desktop wiring and integration coverage
registry/blocks/macos/apps.ts, registry/blocks/macos/meta.json, registry/blocks/macos/page.tsx, registry.json, apps/docs/src/e2e-harness.tsx, apps/docs/pages/blocks.md, registry/package.json, tools/e2e/vscode.e2e.mjs
The macOS app registry adds VS Code and passes its shared Tailscale controller. Documentation and demo routes cover the new options. Playwright tests cover OpenCode behavior, tailnet fetches, and macOS launch and reopen behavior.

Verified task styling

Layer / File(s) Summary
Verified task control colors
packages/ui/src/styles.css, registry.json
Verified Docstream task controls in MarkdownView, MarkdownEditor, and Composer receive success coloring.

Documentation tooling cleanup

Layer / File(s) Summary
Remove documentation lookup constants
apps/docs/src/demos.ts, apps/docs/src/pages.ts
The exported block count, page lookup, and page ordering constants were removed.
Update Knip settings
knip.json
The tools glob now includes .mjs and .mts files, buffer is ignored as a dependency, and the wait-on binary exclusion is removed.

Estimated code review effort: 4 (Complex) | ~45 minutes

Change: Feature

Sequence Diagram(s)

sequenceDiagram
  participant Terminal
  participant VSCodeStore
  participant AlmostnodeRuntime
  participant OpenCodeView
  participant SharedWorkspace
  Terminal->>AlmostnodeRuntime: run opencode
  AlmostnodeRuntime->>VSCodeStore: provide host bridge and abort signal
  VSCodeStore->>OpenCodeView: display OpenCode with host bridge
  OpenCodeView->>SharedWorkspace: read and update shared files
  OpenCodeView->>AlmostnodeRuntime: execute commands through Worker sessions
  OpenCodeView-->>VSCodeStore: report stopped state or return action
  VSCodeStore-->>Terminal: restore terminal view and focus
Loading
Merge Risk: Moderate · up to 741b2

Resolve the storage-related render failure and independent-tab connection blocking before merging. OpenCode also has process and workspace consistency gaps, while tailnet requests have controller, cancellation, and response-metadata issues. These are material but bounded failures rather than evidence of a broad outage.

- [ ] Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

@BLamy
BLamy merged commit 11ccbec into main Nov 6, 2026
1 check failed
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