feat: ship v0.2.1 tray, adapters, lighting, and release recovery - #46
Conversation
|
Warning Review limit reachedYou’ve reached a temporary PR review limit under our Fair Usage Limits Policy. Next review available in: 32 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (3)
📒 Files selected for processing (46)
Comment |
There was a problem hiding this comment.
Pull request overview
This PR prepares the v0.2.1 release by expanding Microbridge’s adapter model (consent + capabilities), bundling/installing Cursor lifecycle hooks, adding a daemon-owned paired T3 Code integration, normalizing hardware-control and lighting behavior, and hardening the Homebrew + release publication workflow with smoke/verification steps.
Changes:
- Adds adapter consent/capability gating across protocol, daemon state, UI, and tooling (including lifecycle leases for managed IDE hooks).
- Introduces T3 Code pairing + pinned-contract HTTP orchestration inside
microbridged, with Keychain credential storage and UI controls. - Strengthens release + Homebrew publication with prepublish/public-asset smoke tests, version validation, and post-Homebrew finalization automation.
Reviewed changes
Copilot reviewed 46 out of 49 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| scripts/smoke-formula.sh | Adds a Homebrew formula lifecycle smoke test for macOS installs/services/app bundle. |
| scripts/bump-formula.sh | Allows overriding release asset base URL (e.g., file:// for CI smoke validation). |
| README.md | Updates project positioning/status and documents Cursor integration shipping model. |
| PRIVACY.md | Updates privacy posture to reflect opt-in update checks and opt-in paired T3 networking. |
| Makefile | Runs Cursor hook tests and UI tests in CI target. |
| INSTALL.md | Documents hardware-control toggle and Cursor integration install/remove behavior. |
| docs/protocol.md | Updates NDJSON protocol spec for capabilities, adapter consent, pairing, and adapter state events. |
| docs/governance.md | Updates Homebrew upgrade steps and clarifies marker-owned app refresh behavior. |
| docs/device-hid.md | Updates HID claim guidance to UI consent + diagnostic env override. |
| docs/architecture.md | Updates footprint/network/security posture for opt-in hardware polling + paired T3 refresh. |
| docs/adapters.md | Updates adapter guidelines for capability advertising and declared/opt-in network access. |
| crates/microbridged/src/t3code.rs | Adds daemon-owned T3 Code pairing + polling/dispatch adapter implementation. |
| crates/microbridged/src/state.rs | Adds adapter registry/status, consent persistence, leased lifecycle sessions, HID input routing, and capability-gated action routing. |
| crates/microbridged/src/socket.rs | Enforces role/handshake rules and adds consent/pairing/lifecycle ingestion operations. |
| crates/microbridged/src/main.rs | Enables claimed device open with consent, spawns T3 adapter, and adds periodic HID input + lease expiry tick. |
| crates/microbridged/src/lib.rs | Exposes new t3code module. |
| crates/microbridged/src/config.rs | Normalizes config on load to backfill defaults and enforce invariants. |
| crates/microbridged/Cargo.toml | Adds reqwest/url/time and macOS keyring dependency for T3 integration. |
| crates/microbridgectl/src/main.rs | Adds cursor-event helper and updates UI handshake hello fields. |
| crates/mb-protocol/src/lib.rs | Extends protocol types (capabilities, adapter status, consent/pairing ops, lifecycle ingestion, config normalization). |
| crates/mb-device/src/lib.rs | Adds explicit “open with claim” API and expands HID input mapping/routing. |
| Cargo.toml | Bumps workspace version to 0.2.1. |
| Cargo.lock | Updates lockfile for new Rust dependencies. |
| apps/microbridge-ui/vite.config.ts | Switches to vitest-aware config and configures test inclusion. |
| apps/microbridge-ui/src/surfaces/surfaces.test.tsx | Adds UI surface tests for lighting presets, adapter state rendering, and popover scrolling. |
| apps/microbridge-ui/src/surfaces/Settings.tsx | Adds adapter controls (enable/pair/remove), capability display, lighting preset UX, and hardware-control toggle. |
| apps/microbridge-ui/src/surfaces/Popover.tsx | Fits popover to content via Tauri command and makes thread list the only scrollable area. |
| apps/microbridge-ui/src/lib/types.ts | Adds adapter/capability/config schema and typed lighting palette model. |
| apps/microbridge-ui/src/lib/threads.ts | Removes thread truncation and returns full ranked list. |
| apps/microbridge-ui/src/lib/bus.ts | Adds Tauri commands for adapter operations and popover fitting; updates demo snapshot schema. |
| apps/microbridge-ui/src-tauri/tauri.conf.json | Bumps app version and bundles Cursor plugin/hook resources. |
| apps/microbridge-ui/src-tauri/src/lib.rs | Implements Cursor integration installer/remover, adapter commands, popover fitting, and tray click debounce. |
| apps/microbridge-ui/src-tauri/src/bus.rs | Adds adapter-operation plumbing and handles new config/adapters events. |
| apps/microbridge-ui/src-tauri/Cargo.toml | Bumps UI crate version to 0.2.1. |
| apps/microbridge-ui/src-tauri/Cargo.lock | Updates lock for protocol version bump. |
| apps/microbridge-ui/package.json | Adds vitest and npm test script; bumps version to 0.2.1. |
| apps/microbridge-ui/package-lock.json | Updates lock for vitest and version bump. |
| adapters/t3code/README.md | Documents daemon-owned pairing/contract/version pin behavior. |
| adapters/t3code/index.mjs | Replaces scaffold with a pointer to daemon-owned adapter behavior. |
| adapters/cursor/README.md | Documents bundled Cursor lifecycle integration, consent model, and capability boundary. |
| adapters/cursor/index.mjs | Points legacy entrypoint at the managed hook implementation. |
| adapters/cursor/hooks/microbridge-event.test.mjs | Adds Node tests for Cursor hook payload sanitization and socket behavior. |
| adapters/cursor/hooks/microbridge-event.mjs | Implements non-blocking Cursor hook that sends lifecycle events to the local socket. |
| adapters/cursor/hooks/hooks.json | Declares Cursor-managed lifecycle hooks invoking Microbridge hook script. |
| adapters/cursor/hooks/event.mjs | Implements event shaping + protocol messages for lifecycle ingestion. |
| adapters/cursor/.cursor-plugin/plugin.json | Adds Cursor local plugin manifest for bundled integration. |
| .github/workflows/release.yml | Adds asset assembly/validation, formula smoke (prepublish + public), prerelease publish, and PR automation. |
| .github/workflows/finalize-release.yml | Finalizes prerelease after Homebrew PR merge + verified clean installs. |
| .github/workflows/ci.yml | Hardens checkout credentials and adds UI + adapter hook tests. |
Files not reviewed (1)
- apps/microbridge-ui/package-lock.json: Generated file
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Summary
Cursor does not require a separate Marketplace download. The runtime files live in this repository, are bundled in Microbridge.app, and are installed into Cursor only after the user clicks Enable Cursor.
Validation
Release boundary
Hardware control remains off by default pending physical Codex Micro verification. Cursor lifecycle is capability-gated as Limited for unsupported IDE controls. T3 Code remains opt-in and requires a pairing link. The v0.2.1 tag will publish signed artifacts as a prerelease, open the tested formula PR, verify public Apple Silicon and Intel installs, then promote the release.