Commit Graph
91 Commits
Author SHA1 Message Date
Jinjing 1d9aefe021 fix: reopen pull requests with gh pr (#3980) 2026-05-30 21:14:08 -07:00
Jinjing 7686eaba2d fix: address review findings (#3968) 2026-05-30 18:33:31 -07:00
Jinjing 9ca42f5582 Create GitHub issues with markdown and metadata (#3947)
* Create GitHub issues with markdown and metadata

- Add a reusable rich markdown composer for GitHub issue bodies and comments
- Let new GitHub issues include selected labels and assignees through IPC/RPC
- Preserve created issue metadata in the task list and cover the new API path with tests

* fix: address review findings
2026-05-30 18:25:31 -07:00
Neil ef1324d6f1 Detect GitHub URL-style SSH remotes (#3605) 2026-05-30 13:25:48 -07:00
Neil 181741d769 chore: enforce exhaustive switch handling 2026-05-30 13:18:12 -07:00
ef74c713ae Fix PR lookup for tracked upstream branches (#3484)
* Fix PR lookup for tracked upstream branches

* fix: handle upstream PR lookup over SSH

Co-authored-by: Orca <help@stably.ai>

---------

Co-authored-by: Jinwoo-H <jinwoo0825@gmail.com>
Co-authored-by: Orca <help@stably.ai>
2026-05-30 14:33:23 -04:00
Neil c99eb29bb0 chore: remove unused code 2026-05-30 11:05:58 -07:00
7242b41698 Fix GitHub merge queue PR status (#2856)
* Fix GitHub merge queue PR status

* Fix merge queue GraphQL field encoding

Co-authored-by: Orca <help@stably.ai>

---------

Co-authored-by: Neil <4138956+nwparker@users.noreply.github.com>
Co-authored-by: Jinwoo-H <jinwoo0825@gmail.com>
Co-authored-by: Orca <help@stably.ai>
2026-05-29 20:22:41 -04:00
Jinwoo HongandOrca 153fd863c6 Refresh GitHub issues after creation (#3018)
Implements the no-cache GitHub issue list refresh path described in docs/refresh-github-issues-after-create.md.

Co-authored-by: Orca <help@stably.ai>
2026-05-28 21:14:58 -04:00
Brennan BensonandOrca a15b13b02d Customize Source Control AI prompts (#2916)
Co-authored-by: Orca <help@stably.ai>
2026-05-27 16:03:36 -07:00
Brennan BensonandOrca 0d78e807dd fix: support SSH hosted review PR creation (#2628)
Co-authored-by: Orca <help@stably.ai>
2026-05-22 13:27:06 -07:00
Jinwoo HongandOrca b1973657ea Add mobile Tasks parity (#2452)
Co-authored-by: Orca <help@stably.ai>
2026-05-21 20:26:07 -07:00
Jinjing e9d5bf2a05 fix: address review findings (#2576) 2026-05-21 17:57:23 -07:00
Jinjing c949af129a fix: preserve fallback PR cache on refresh miss (#2566) 2026-05-21 16:06:41 -07:00
Jinwoo HongandOrca a69ce28e1d Quiet expected SSH GitHub task skips (#2565)
Co-authored-by: Orca <help@stably.ai>
2026-05-21 16:01:29 -07:00
Jinjing c6043a6702 Show GitHub issue assignees in the task list (#2557) 2026-05-21 13:30:41 -07:00
Jinjing d4e9c22f8b Fix worktree creation for selected existing branches (#2543)
* fix: address review findings

* fix: address CI failures
2026-05-21 12:25:32 -07:00
Jinjing fca5f498db Keep PR refreshes anchored to cached review numbers (#2541)
- Use fallback PR numbers after branch lookup misses, including detached HEAD
- Preserve review cards for forked or deleted-head PRs across manual refreshes
- Clear stale GitHub PR cache entries when unlinking worktree review metadata
2026-05-21 12:12:10 -07:00
Jinwoo HongandOrca fbf53aa4cc Prevent unscoped GitHub task queries for SSH repos (#2506)
* fix: prevent unscoped ssh github task queries

Co-authored-by: Orca <help@stably.ai>

* test: update worktree card context menu mock

Co-authored-by: Orca <help@stably.ai>

---------

Co-authored-by: Orca <help@stably.ai>
2026-05-21 04:23:59 -04:00
Jinwoo HongandOrca 8cf39f3a2c Fix stale GitHub status cache updates (#2483)
Co-authored-by: Orca <help@stably.ai>
2026-05-20 23:38:32 -07:00
Jinjing 671f33a8c7 fix: address review findings (#2470) 2026-05-20 19:12:40 -07:00
Jinjing 38ccb999d4 fix: render PR review comments inline (#2382) 2026-05-19 18:24:51 -07:00
Jinjing f79c03e3df fix: address review findings (#2381) 2026-05-19 18:14:49 -07:00
Jinjing 8321ea2e03 fix: address review findings (#2377) 2026-05-19 17:50:04 -07:00
Jinjing 9d5f27fa3c Fix PR check refresh and terminal tombstone test (#2375)
* Prefetch task PR checks by head SHA

* Fix terminal host tombstone cap test
2026-05-19 17:42:30 -07:00
Jinwoo HongandOrca fb4069be52 Improve GitHub PR status refresh freshness (#1716)
Co-authored-by: Orca <help@stably.ai>
2026-05-19 15:39:44 -07:00
Jinjing 9bbfb04a09 fix: address review findings (#2339) 2026-05-19 13:03:47 -07:00
63b11f11a4 Add PR automation CLI and mobile browser streaming (#2328)
* Squashed commits

- WIP: uncommitted changes before rebase

- ci

- Show inline PR check details in task drawer

- Add a Checks tab that opens from the PR checks cell and expands runs inline
- Fetch check output, annotations, and workflow job steps through IPC/RPC
- Improve markdown/comment wrapping so long PR content stays within the drawer

* Use app-styled confirmations for PR actions (#2324)

Co-authored-by: Orca <help@stably.ai>

* fix: pr-bug-scan validated finding from #2274 (#2296)

Co-authored-by: orca-bug-scan-bot <orca-bug-scan-bot@stably.ai>

---------

Co-authored-by: Jinwoo Hong <73622457+Jinwoo-H@users.noreply.github.com>
Co-authored-by: Orca <help@stably.ai>
Co-authored-by: buf0-bot[bot] <252831055+buf0-bot[bot]@users.noreply.github.com>
Co-authored-by: orca-bug-scan-bot <orca-bug-scan-bot@stably.ai>
2026-05-19 11:36:24 -07:00
Jinjing a6ca940d0f Show GitHub PR reviewer names in task rows (#2309) 2026-05-18 23:06:54 -07:00
Jinjing 4ca26db06a fix: address PR checks fallback (#2303) 2026-05-18 21:09:15 -07:00
Jinjing e0a5aa24d4 fix: address review findings (#2256) 2026-05-18 11:59:43 -07:00
AnweshandNeil 95577ea9a0 Fix start-from PR failures for fork-backed PRs (#2233)
* Fix start-from PR failures for some fork PRs

* fix: limit PR fallback fetches to missing refs

---------

Co-authored-by: Neil <4138956+nwparker@users.noreply.github.com>
2026-05-18 00:36:34 -07:00
Jinjing c7ddfd17d1 Improve git remote selection (#2207) 2026-05-17 21:00:15 -07:00
Jinjing e4a794ec68 fix: address review findings (#2206) 2026-05-17 20:15:05 -07:00
Neil 4bfd1eb157 Prefer exact PR lookups and stale sidebar refresh
Prefer exact linked PR lookup when safe, add stale-while-revalidate for sidebar hosted review metadata, and preserve branch discovery correctness for stale linked PR metadata.
2026-05-15 22:42:17 -07:00
Neil 99df02b923 Add GitHub PR file viewed tracking (#1914) 2026-05-15 18:28:13 -07:00
Jinjing c90b9f72ef Add PR review queue badge foundation
- Add provider-neutral review queue types, adapter, and checks-panel badges.\n- Keep the design doc out of the PR diff.
2026-05-15 13:50:56 -07:00
Brennan BensonandOrca e5c394b09b Add pull request creation flow (#1960)
Co-authored-by: Orca <help@stably.ai>
2026-05-15 13:36:06 -07:00
Jinjing ac818caae5 Reduce GitHub GraphQL rate-limit spend (#1974) 2026-05-15 13:13:55 -07:00
Jinjing 9c601be199 Fix PR lookup during GitHub GraphQL limits (#1973) 2026-05-15 12:49:53 -07:00
Jinwoo HongandOrca 6c4bcf7ea6 feat(ssh): make remote workspaces first-class (#1876)
Co-authored-by: Orca <help@stably.ai>
2026-05-15 12:32:07 -07:00
Jinwoo Hong 31ab1560a7 Fix WSL gh fallback for task lists (#1879) 2026-05-14 22:42:11 -04:00
Jinjing 5a6b2994ea fix: address review findings (#1770) 2026-05-13 16:14:50 -07:00
JinjingandOrca ace7db218d perf(github-drawer): cache work-item details + collapse issue fetch (#1655)
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>
2026-05-09 23:46:30 -07:00
buf0-bot[bot]andorca-bot a3242035c2 fix: pr-bug-scan findings from #1478 (#1561)
Fixed banner Docs link to use openExternal IPC like the block variant; restricted hasKeyringFallback to same-host keyring accounts so multi-host users aren't told a fallback exists when none does.

Findings addressed:
- src/renderer/src/components/github-project/GhAuthErrorHelp.tsx:218-227 — Banner Docs link uses <a target="_blank"> instead of shell IPC
- src/main/github/auth-diagnose.ts:121-127 — hasKeyringFallback ignores host, can mislead multi-host users

Rebased onto current main to drop unrelated reverts.

Co-authored-by: orca-bot <bot@stably.ai>
2026-05-07 23:14:05 -07:00
Neil 96092977e3 fix(github/project-view): escape NUL byte so diffs render as text (#1519) 2026-05-06 19:24:15 -07:00
Neilandnwparker a75e706a6c fix: flip parentFieldRetried inside probe IIFE before resolveProbe() (#1514)
Closes the race where siblings awaiting parentFieldProbeInFlight wake
between resolveProbe() and the deferred parentFieldRetriedByOwner.add()
in the outer block, see parentFieldProbeInFlight=null +
parentFieldRetriedByOwner without scopeKey, and issue duplicate
with-parent probes.

Originally raised in #1456, but that PR branched off pre-#1465 main and
its diff against current main reverted #1465's owner-keyed parent-field
caches back to global flags. This re-applies the fix on current main.

Refs #1456

Co-authored-by: nwparker <nwparker@stably.ai>
2026-05-06 15:38:17 -07:00
Brennan BensonandOrca c28c06a9c2 fix: focus the right pane after clicking an agent (#1451)
Co-authored-by: Orca <help@stably.ai>
2026-05-05 18:01:47 -07:00
NeilandOrca e49d90bee4 fix(gh-project): diagnose env-shadowed gh tokens in auth errors (#1478)
* fix(gh-project): diagnose env-shadowed gh tokens in auth errors

`gh auth refresh -s project` silently no-ops when GITHUB_TOKEN/GH_TOKEN
is exported in the user's shell — gh prefers env tokens and refuses to
modify them, exiting 0. Users follow the canned remediation, see no
error, retry, and stay stuck.

Add a one-shot `gh auth status` probe (gh:diagnoseAuth IPC) that:

- Detects env-shadowed credentials and rewrites the fix to `unset
  GITHUB_TOKEN` plus a grep to find where it's exported.
- Detects missing gh install, plain missing-scope on a keyring login,
  and SAML SSO authorization.
- Surfaces a tailored multi-button error UI in ProjectViewWrapper and
  ProjectPicker instead of one canned 'Copy command'.

Co-authored-by: Orca <help@stably.ai>

* fix(gh-project): address review feedback

- Cross-platform shell guidance: PowerShell commands on Windows
  (Get-ChildItem Env:, Remove-Item Env:, [Environment]::SetEnvironmentVariable)
  via navigator.userAgent platform check.
- Use `window.api.shell.openUrl` for the docs button instead of
  `window.open`, matching SidebarToolbar's external-URL pattern.
- Tighten gh auth status parser: accept single-label hostnames and
  optional trailing colon; recover host from the inline 'Logged in to
  <host>' line so a missed section header never silently drops accounts.
- Add tests for multi-host output and host-recovery fallback.
- Drop dead command/copy locals in ProjectViewWrapper.ErrorState by
  short-circuiting the auth-error case before they're computed.

Co-authored-by: Orca <help@stably.ai>

---------

Co-authored-by: Orca <help@stably.ai>
2026-05-05 17:36:27 -07:00
buf0-bot[bot]andorca-bug-scan-bot dd1c940fef fix: address pr-bug-scan findings from #1424 (#1465)
Gate gh retries on idempotency (auto-detected from argv/-X/mutation), key parent-field probe by (owner,ownerType), accept 'to an' in not_found classifier, and replace bulk label PUT with parallel sing

Co-authored-by: orca-bug-scan-bot <orca-bug-scan-bot@stably.ai>
2026-05-05 15:46:21 -07:00