feat(desktop): add task context titlebar - #178
Conversation
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (18)
📝 WalkthroughWalkthroughAdds a macOS Desktop overlay titlebar with task details, cloud sync, and workspace application actions. Adds Tauri commands for macOS app discovery/opening, task-scoped workspace Git status resolution, local path validation, localization, and frontend tests. ChangesTask Workspace Resolution
Native Workspace Applications
Cloud Sync State
macOS Desktop Titlebar
Estimated code review effort: 4 (Complex) | ~60 minutes Sequence Diagram(s)sequenceDiagram
participant TaskTitlebar
participant WorkspaceAPI
participant WebServer
participant Git
participant Tauri
participant macOS
TaskTitlebar->>WorkspaceAPI: request workspace(taskId)
WorkspaceAPI->>WebServer: GET /api/workspace?task_id=taskId
WebServer->>Git: run branch and status in task workspace
Git-->>WebServer: branch and dirty state
WebServer-->>TaskTitlebar: workspace metadata
TaskTitlebar->>Tauri: discover or open workspace application
Tauri->>macOS: resolve application or reveal workspace
macOS-->>Tauri: application result
Tauri-->>TaskTitlebar: discovery or open result
Possibly related PRs
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
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. Comment |
Summary
.icnsartwork in the “Open” menu, use Finder's native reveal API, and resolve all other apps inside the Tauri backend.Why
The macOS Desktop titlebar was visually empty even though task identity and environment context are frequently needed. The first pass also guessed at installed applications and represented them with generic symbols. This revision follows the model used by GitHub Desktop and Raycast: identify installed apps through their bundle IDs, then let the operating system supply the real app identity and icon.
User impact
Desktop users can identify the active task and branch at a glance, manage task metadata and cloud sync from one place, and open the current local workspace only in tools present on their Mac. Finder now uses the system reveal path. Browser behavior is unchanged.
Validation
make build-webmake lint-webgo test ./...pnpm --dir web test(19 tests)cargo check --manifest-path desktop/src-tauri/Cargo.tomlcargo test --manifest-path desktop/src-tauri/Cargo.toml(3 tests, including native Finder discovery/icon extraction on macOS)cargo clippy --manifest-path desktop/src-tauri/Cargo.toml --all-targets -- -D warningsgit diff --checkmake lintis currently blocked by 44 pre-existingSA5011findings in untouched Go test files; none are in this PR's diff. The web lint/typecheck and all Go, React, and Rust tests above pass.Summary by CodeRabbit
New Features
Bug Fixes