Reopening a GitHub issue/PR drawer paid full IPC + `gh` startup latency on every open. Two changes here: 1. Module-level SWR cache in GitHubItemDialog.tsx keyed by (repoPath, issueSourcePreference, type, number). Reopening within 30s paints cached data instantly; older entries paint stale-then-refresh. Concurrent opens dedupe on a shared in-flight promise. Mutation handlers invalidate by (repo, type, number); a cache-generation counter prevents in-flight refetches from resurrecting stale data after a mid-flight invalidation. 2. Collapsed GraphQL query for issue details replaces 3 serial `gh` subprocesses (REST issue + REST comments + GraphQL participants) with one round-trip. Falls back to the legacy fan-out on any GraphQL error so historical contract is preserved. Cross-window invalidation rides a new `gh:workItemMutated` IPC broadcast that skips the originating sender (the source already updated its cache optimistically — re-broadcasting would race the optimistic write). `addIssueComment` now takes a `type` so the broadcast scopes correctly when a PR shares its number with an issue. Co-authored-by: Orca <help@stably.ai> |
||
|---|---|---|
| .. | ||
| assets | ||
| README.es.md | ||
| README.ja.md | ||
| README.md | ||
| README.zh-CN.md | ||
| STYLEGUIDE.md | ||
| gh-work-item-drawer-cache.md | ||
| mobile-prefer-renderer-scrollback.md | ||
| mobile-presence-lock.md | ||
| mobile-shared-client-per-host.md | ||
| resource-usage-merge-spec.md | ||
| sidekick-animation-state-mapping.md | ||
| tasks-page-resume-state.md | ||
README.md
Orca CLI Docs
Keep this folder focused on the durable references for Orca's public CLI and runtime model.
Keep These Docs
orca-cli-focused-v1-status.md- What is actually implemented and intentionally in scope now.
orca-cli-v1-spec.md- The public CLI contract, selector grammar, JSON envelope, and command semantics.
orca-runtime-layer-design.md- Why the runtime layer exists and which boundaries it owns.
orca-cli-bundled-distribution.md- How the bundled desktop-app distribution and PATH registration model works.
Why The Folder Is Small
Earlier design and implementation work produced several planning and evaluation docs. Those were useful while the feature was taking shape, but they were intentionally removed once the implementation converged so future readers are not forced to choose between multiple overlapping sources of truth.