Repository navigation
Add card gap and quick-create in worktree dialog - #10
Merged
Merged
Conversation
- Add 8px (pb-2) gap between worktree cards in the virtual list - Allow pressing Enter in the Add Worktree dialog to quickly create a worktree without clicking the Create button Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Check for active text selection in the card click handler and bail out, so selecting text in PR/issue/comment hovercards doesn't accidentally switch the active worktree. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
3 of 7 tasks
LesleyMurfin
referenced
this pull request
in LesleyMurfin/orca
Jun 20, 2026
…w (4 fixes) NotebookLM peer review verdict: CHANGES-NEEDED. Applied the genuine findings (assessed against actual Electron/Node behavior; teardown was the only hypothesis NLM rated already-Established): - fix #7: also override XDG_RUNTIME_DIR (scratch, mode 0700) -- Chromium/ Electron IPC sockets live there (/run/user/UID, shared w/ prod) and are NOT covered by app.getPath('userData'). - fix #8: PRE-7b df -h /tmp gate -- --appimage-extract-and-run unpacks the full ~400-600MB squashfs into shared /tmp; a full /tmp could hang prod. - fix #9: correct Step 4 + acceptance #2 -- under the HOME override, homedir() resolves to the scratch home, so expect that cwd (avoids a false-negative wrong-cwd failure). - fix #10: documented prod-recovery pointer for Lesley (systemctl restart / orca-serve-version restore); STOP-first posture retained per the never-hotfix / deviation=STOP governance. Execution remains GATED on Lesley's approval. Notebook: cf8d676b-fb68-4f01-9388-922b83568759 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Merged
3 tasks done
Jinwoo-H
added a commit
that referenced
this pull request
Sep 4, 2026
Jinwoo-H
added a commit
that referenced
this pull request
Sep 4, 2026
8 of 9 tasks
8 of 9 tasks
scolety1
added a commit
to scolety1/orca
that referenced
this pull request
Sep 11, 2026
Documents the fresh 2-pass stability sequence run after finding stablyai#11 reset the counter: Pass stablyai#1 (run stablyai#10, PASS, 2 classic-artifact failures including one newly-isolated-confirmed RAPID SWITCHING), one RESOURCE_ABORTED attempt (run stablyai#11, real OOM kill), then Pass stablyai#2 (run stablyai#12, PASS) launched under the owner's explicit ">95%-used-only" memory rule. Updates the session-status header, §12 stability declaration, §13 SHA ledger, §14 resource-pressure section, §15/§16 worktree/SHA, §17 next-highest-value work, and the terminal declaration block to reflect STABILITY_PASS = 2 of 2 at current tip SHA 9374ba7. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CdU7C6R8tKG5diqfdjNCPp
gaberudy
added a commit
to goldenhelix/vsagent
that referenced
this pull request
Sep 12, 2026
Ported the VSAgent brand mark and the CLI help-text rebrand seam, plus one package.json script addition, per B5 (stablyai#6, stablyai#8, stablyai#9, stablyai#10, stablyai#14): - resources/vsagent.svg: net-new flat SVG logo (blue #068AFE mark), copied verbatim from the fork (no upstream collision). - src/renderer/web-index.html: title -> "VSAgent"; inlined SVG favicon (data: URI, base64) since `orca serve`'s static handler only exposes /web-index.html and /assets/*. Re-derived the base64 from this commit's own resources/vsagent.svg (base64 -w0) rather than copying the fork's literal string, then diffed byte-for-byte against the fork's inlined value to confirm they match exactly. - src/renderer/src/assets/main.css: added the 9-line `.titlebar-brand-logo` rule immediately after `:root:not(.dark) .titlebar-logo { filter: invert(1); }` — the VSAgent mark is full-color and must not be inverted in light mode the way the monochrome Orca mark is. - src/cli/help.ts: added `brandHelpText()` (rewrites /\bOrca\b/ and /\borca\b/ when VSAGENT_BRAND_CLI=1) and wrapped all 3 printHelp() console.log sites with it. printHelp's shape and the ROOT_HELP_TEXT_PRIMARY/SECONDARY split (upstream's own refactor, unrelated to this bucket) were untouched. VSAGENT_BRAND_CLI is the same seam name S15/B2's formatRuntimePairingOffer reads and B6's scripts/vsagent-cli launcher sets — not renamed here. - package.json: added "smoke:web": "node tests/web-client-smoke.mjs" next to "smoke:computer" (script backing file lands with B6/S38-S39; the entry is inert but harmless until then). Left "name": "orca" and "version": "1.4.197" untouched per Q7 — vsagent-next tracks upstream's version, not the fork's 0.6.10. Did not touch root-help-text-primary.ts/-secondary.ts (S15's pairing-url content) or notification-permission-probe.ts/startup-notification- registration.ts (left unbranded per Q9). Verification: corepack pnpm tc (tc:node/tc:cli/tc:web) clean; brandHelpText sanity (`Usage: orca foo` -> `Usage: vsagent foo` only when VSAGENT_BRAND_CLI=1, unchanged otherwise); src/cli/handlers/terminal.test.ts (16 tests, exercises printHelp with no VSAGENT_BRAND_CLI set — unbranded regression) and src/cli/index.test.ts (27 tests) both pass; check:code-quality:changed clean (0 findings, 13 changed files); check:max-lines-ratchet and check:runtime-electron-ratchet both unchanged. Fork-origin: 6669054 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Wekb1M8qsHPobDxMHzoMEZ
scolety1
added a commit
to scolety1/orca
that referenced
this pull request
Sep 15, 2026
…e override moved to Advanced disclosure New shared ui/src/components/AdvancedDisclosure.tsx (a plain native <details>, collapsed by default) -- the one reusable progressive-disclosure surface this batch's Global rule calls for, reused by both findings below. Finding stablyai#8 (IA problem): ProjectCard.tsx's card footer showed a raw git SHA prefix; now shows the real, already-populated release.stable.branch (plain language). ProjectDetailPage.tsx's Release card now leads with Branch/Testing/Adoption/Published in plain language; exact Stable/Previous Stable/Upgrade commit+tree identity moves into an AdvancedDisclosure -- never deleted, one click away. Finding stablyai#10 (IA problem): KeepGoingTickForm.tsx's worktree/agent fields (the "Run now" dispatch form's own placement controls) move into an AdvancedDisclosure, collapsed by default. Ordinary use of this form (work item id, scope, optional spec) no longer requires engaging with placement at all. Worktree remains a real, required field with no fabricated default -- hasExplicitPlacement's own safety history (a prior default silently resolved to the coordinator's own working directory, not the project's) is exactly why no default is introduced here either; the existing client-side validation error already tells an operator who forgets it to provide one, so expert capability is fully preserved. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CdU7C6R8tKG5diqfdjNCPp
scolety1
added a commit
to scolety1/orca
that referenced
this pull request
Sep 15, 2026
…ehind Advanced The Overview tab's Recent Decision card was already plain-language (title/rationale from analysis.direction.recommendedNextMission) -- unchanged. The Onboarding card's own maturity/alignment/unfinished-summary/ upgrade-backlog fields are already reasonably plain-language too; only its Orca-registration-check and exact analysis timestamp read as engineering mechanics rather than owner-facing summary. Moved into the same AdvancedDisclosure Finding stablyai#8/stablyai#10 already established, never deleted. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CdU7C6R8tKG5diqfdjNCPp
9 tasks done
nwparker
added a commit
that referenced
this pull request
Sep 30, 2026
Reverses my own restore of `native-chat-assembler-merge-parity.test.ts`. I kept it believing it was a live cross-implementation differential oracle; it is not. `native-chat-session-assembler.ts:233` documents the gate: the `turnKey` fallback "only merges a candidate against an existing message of a DIFFERENT source (#10)". The test passes `sources: { transcript }` — a single source — so that fallback is gated off, the assembler reduces to id-dedup-and-append, and it equals the mobile id-only merge by construction. The assertion is identity === identity. Both contracts it nominally covered are owned directly, by tests asserting concrete values rather than comparing two implementations that degenerate to the same operation: identical same-source prompts surviving at `native-chat-session-assembler.test.ts:328` and `:354` (both citing #10), and id-append order at `mobile/src/session/mobile-native-chat-merge.test.ts:18`. The lesson generalizes: a differential is only worth keeping if the two implementations can actually diverge on the fixture used. Check that the fixture reaches the code that differs.
9 tasks done
nwparker
added a commit
that referenced
this pull request
Sep 30, 2026
#23968) * test: retire native-chat and sidebar cases their fixtures or predicates neutralize Semantic sweep of renderer sidebar, right-sidebar and native-chat. 10 cases removed across 6 files; one test-only production re-export removed. Two new shapes here, both of which make a case unable to fail: A fixture that neutralizes its own variation. `NativeChatNoticeRow`'s `old-reader compatibility` table had six rows, but the test's own `oldStatusSchema.omit({tone, presentation})` strips the metadata being varied, so all six render the identical body `{kind:'status', text:'…'}`. Its schema-acceptance half is owned case-for-case at `agent-session-journal-schemas.test.ts:310-318`. A fixture that makes the distinction its name claims impossible. "Counts a new turn from its stamp, not a row held open by background work" set `turnStartedAt` and `mainAgent.stateStartedAt` to the same `now - 5_000`, so it could not tell the two links apart; `native-chat-terminal-turn.test.ts:75` owns the real version. Also removed: two cases varying `stateHistory`, which no native-chat production file reads (`NativeChatHookTurnEntry` omits it); the `agent-session` row of a transport table whose guard is `valueSource === 'dispatched' && transport === 'catalog'`, so under `reported` the transport is never consulted — the `catalog` row stays as the only test of the non-dispatched arm; `openclaude` from an `it.each` where the only agent test on that path is `args.agent === 'codex'`, so both agents take the identical arm. Production change: `NativeChatMessageList.tsx` no longer re-exports `ProviderFrameRow`. That export existed only for `NativeChatMessageList.provider-frame.test.tsx`; both production callers (`NativeChatNoticeRow.tsx:9`, `NativeChatMessageRow.tsx:24`) already import it from `NativeChatTranscriptChrome` directly, so the test now does too. Kept where the call site differs though the assertions match: a dispatched-pill tooltip case and a transport-hedge case hit `NativeChatSessionOptionPickers.tsx:278` (model pill) versus `:302` (options pill). Kept as live branches: the `lifecycle === null || lifecycle === 'published'` disjuncts, the four distinct wirings in `native-chat-reader-scroll-input.ts:33-46`, and a ring case that is the only one reaching the module's own keydown listener, because the sibling's click path already runs `dropPendingHover`. * test: delete the assembler/id-merge differential, which cannot fail Reverses my own restore of `native-chat-assembler-merge-parity.test.ts`. I kept it believing it was a live cross-implementation differential oracle; it is not. `native-chat-session-assembler.ts:233` documents the gate: the `turnKey` fallback "only merges a candidate against an existing message of a DIFFERENT source (#10)". The test passes `sources: { transcript }` — a single source — so that fallback is gated off, the assembler reduces to id-dedup-and-append, and it equals the mobile id-only merge by construction. The assertion is identity === identity. Both contracts it nominally covered are owned directly, by tests asserting concrete values rather than comparing two implementations that degenerate to the same operation: identical same-source prompts surviving at `native-chat-session-assembler.test.ts:328` and `:354` (both citing #10), and id-append order at `mobile/src/session/mobile-native-chat-merge.test.ts:18`. The lesson generalizes: a differential is only worth keeping if the two implementations can actually diverge on the fixture used. Check that the fixture reaches the code that differs.
enrick-dev
pushed a commit
to enrick-dev/orca
that referenced
this pull request
Oct 15, 2026
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
7 of 9 tasks
nwparker
added a commit
that referenced
this pull request
Oct 19, 2026
…-page readers off the deprecated owner resolver (#30478) Thirteen read-routing callers (#4, #5, #10-#20 of the round-3 caller list) read the owner through runtimeEnvironmentIdWithLegacyFallbackUnlessTwin. A workspace two hosts publish is no longer searched on either host. The focus-read ratchet now counts the legacy-fallback adapter, which reads the focused runtime inside an object literal its discovery skipped; the five F1 entries that blind spot pruned come back. Deprecated importers 53 -> 40.
This was referenced Oct 19, 2026
nwparker
added a commit
that referenced
this pull request
Oct 19, 2026
…win projections stay on their host (review-5 #2 #9 #11) A selected ssh: host that two paired servers proxy now resolves ambiguous at the one selected-host resolver, so no caller can fall back to this app's own SSH connection. File Explorer and SSH mutation expectations derive the full {endpoint, place} pair from resolveOwner, so a server folder's nested SSH target stays the write's host. A local lineage write projects onto its own host's rows only. The id-only store-write ratchet now also covers persistence repo-row lookups by id alone (review-5 #10's shape).
nwparker
added a commit
that referenced
this pull request
Oct 20, 2026
…win projections stay on their host (review-5 #2 #9 #11) (#30890) * fix(renderer): host writes route only through the strict owner, and twin projections stay on their host (review-5 #2 #9 #11) A selected ssh: host that two paired servers proxy now resolves ambiguous at the one selected-host resolver, so no caller can fall back to this app's own SSH connection. File Explorer and SSH mutation expectations derive the full {endpoint, place} pair from resolveOwner, so a server folder's nested SSH target stays the write's host. A local lineage write projects onto its own host's rows only. The id-only store-write ratchet now also covers persistence repo-row lookups by id alone (review-5 #10's shape). * fix(ratchet): the id-only lookup scan also sees optional chaining and destructured ids * fix(renderer): an unstamped folder keeps reading its host from its repos; editor focus fallback left for a follow-up * docs(renderer): the File Explorer owner comment names its folder fallback
This was referenced Oct 26, 2026
KyleQuinn888
added a commit
to KyleQuinn888/orca
that referenced
this pull request
Oct 27, 2026
…: isLocalSession/policy on native scope, cursor advance in (epoch,seq) order not ts, candidate metrics dedup via folded-cursor stamp, workspace fallback picks a real journal carrier
KyleQuinn888
added a commit
to KyleQuinn888/orca
that referenced
this pull request
Oct 28, 2026
…ds, stablyai#4 progress cleanup, stablyai#6 reentrancy guards, stablyai#10 debug removal)
rizoadev
added a commit
to rizoadev/orca
that referenced
this pull request
Nov 3, 2026
- Add CloudflareRuntimeHint — reads cloudflareRelayHostname from settings, shows banner with copy button when tunnel is active - Inject into runtime-share-computer-button.tsx below RuntimePairingUrlGenerator - Click 'Copy' copies wss:// URL to clipboard + toast instructs user to paste into Custom Address field - Update INJECTION-MAP.md (touch point stablyai#10)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Test plan
🤖 Generated with Claude Code