Commit Graph
23136 Commits
Author SHA1 Message Date
NeilandClaude c0d3a7c400 fix(cloud): Settings page is "Cloud workspaces" with its scope as the subtitle (design-squad on #647)
Co-Authored-By: Claude <noreply@anthropic.com>
2026-11-13 01:30:10 -08:00
NeilandClaude 8d2dd6f26b test(cloud): Settings › Workspaces test uses fixed timestamps
Co-Authored-By: Claude <noreply@anthropic.com>
2026-11-13 01:30:08 -08:00
NeilandClaude 2a9ff9b3c9 fix(cloud): Settings › Workspaces search gets room; State column fits "Couldn't start"
Co-Authored-By: Claude <noreply@anthropic.com>
2026-11-13 01:30:08 -08:00
NeilandClaude 730b52f596 feat(cloud): Settings › Workspaces, the team's cloud workspaces for owners and admins (HOME-1)
A table of every team cloud workspace (name, W-number, repository, created by, state, last
active, shared/private) with By, In and search; per row only the actions the control plane
allows (open, sleep, archive) through the existing flows. No pins, sections or ordering.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-11-13 01:30:07 -08:00
Neil 4554d946a1 Merge pull request #649 from nwparker/cloud/cri-polish
fix(cloud): CRI-POLISH renew-in-place: no flash after a renewal, uniform ×, per-agent setup, checking copy
2026-11-13 01:29:02 -08:00
Neil 8f9354d0c7 Merge pull request #637 from nwparker/cloud/secrets-effective-shared
feat(cloud): SECRETS-EFFECTIVE-SHARED effective view answers for shared workspaces (stacked on #632)
2026-11-13 01:25:21 -08:00
Neil b4bff5d551 Merge pull request #631 from nwparker/cloud/capability-off-recheck
fix(cloud-setup): "Try again" on capability-off asks auth for fresh capabilities (PAID-TEAM-CHOOSE-PLAN)
2026-11-13 01:21:56 -08:00
Neil 7645922c24 Merge pull request #645 from nwparker/cloud/w6-repo-can-install
feat(sandbox-control): canInstall on repo-access (REPO-CAN-INSTALL)
2026-11-13 01:18:27 -08:00
Neil ac20858712 feat(cloud): ENTERPRISE-SSO Settings › Enterprise single sign-on and directory sync (SCIM dark, server-driven) (#619)
* feat(cloud): ENTERPRISE-SSO Settings › Enterprise single sign-on and directory sync, driven by server state

* feat(cloud): key icon on the single sign-on group title (TEAM-DIALOG-2)

* fix(cloud): Contact us in the SSO block is a plain button; Copy link is for sign-in surfaces

* test(cloud): the copied SSO setup link is minted like the opened one and never logged

* fix(cloud): design-squad review of the SSO blocks (sentence-case chips, directory sync icon, grace and last-change wording)

* fix(cloud): sentence-case success badge variant for the SSO chips; catalog matches the new copy

* fix(cloud): register the Enterprise IPC handlers with the team handlers (file line limit)
2026-11-13 01:16:02 -08:00
Neil 372cb03e7b Merge pull request #630 from nwparker/cloud/clone-access-error
feat(cloud): a refused clone says Orca can't access the repo, and fixes it (CLONE-ACCESS-ERROR)
2026-11-13 01:13:40 -08:00
Neil 1cc86b0a5b fix(cloud): CANCEL-SIGNIN-MENU the code step's ⋯ menu drops Cancel sign-in; the strip's × (and Esc) cancels (#643) 2026-11-13 01:09:17 -08:00
Neil 1cd7310108 Merge pull request #642 from nwparker/cloud/team-dialog-3
fix(team): centre the Team dialog; quiet row to Settings › Enterprise
2026-11-13 01:06:02 -08:00
Neil 2e36fa4d56 fix(cloud): ENV-NOTICE-ACTIONS setup notices get plain words and a real fix, or don't show; no Install where it can't install (#644)
* feat(cloud): every setup notice line has plain words and a real action, or doesn't show (ENV-NOTICE-ACTIONS)

- Doctor checks that reached the bare 'check' line now classify: low disk ('disk')
  and a missing repo tool ('tool') get their own plain words; disk.free without a
  code and any check this desktop doesn't know are hidden, never a bare label.
- The push notice reads repo access plus the person's own gh rights on the repo
  (new gitHubInstallRights IPC): Install on {owner} only where installing can
  work, 'Copy request for an owner' once an owner was asked, Check again where
  the App already reaches the repo, plain words for someone else's public repo
  (octocat/Hello-World). Install no longer carries a Copy link.

* copy(cloud): a push nobody here can install offers Copy request for an owner (design-squad, ENV-NOTICE-ACTIONS)

* fix(cloud): ENV-NOTICE-ACTIONS rebase onto AUTH-ONLY-COPY-LINK: the owner request takes the install page from the repo-access answer
2026-11-13 01:03:53 -08:00
Neil 88d6e2b58c fix(cloud): CRI-POLISH while checking, the detail says "Checking the code…" and the disabled button keeps "Finish renewing" (design-squad) 2026-11-13 01:03:41 -08:00
Neil 54247bbe53 fix(cloud): CRI-POLISH saved stays "Checking the code…" until the account read lands; × is uniform in a failed renewal; the setup is per agent (test, comment) 2026-11-13 01:03:41 -08:00
Neil ac7fb50fc8 Merge pull request #640 from nwparker/cloud/picker-empty-copy
fix(cloud): picker empty state says 'Nothing else to open' or 'No cloud workspaces yet' (#594 follow-up)
2026-11-13 01:01:04 -08:00
Neil 7ad848b907 fix(cloud): the owner request takes its install link from the repo-access answer (gitHubInstallLink went with AUTH-ONLY-COPY-LINK) 2026-11-13 01:01:01 -08:00
Neil ed42ecb675 Merge remote-tracking branch 'private/cloud/integration' into cloud/clone-access-error
# Conflicts:
#	src/renderer/src/lib/orca-cloud/cloud-glossary-allowlist.json
2026-11-13 00:58:57 -08:00
Neil 57ee5574ec Merge pull request #639 from nwparker/cloud/glossary-allowlist-snippet
test(cloud-glossary): allowlist matches file + string snippet, not line number
2026-11-13 00:58:25 -08:00
Neil 22bcd1c21b Merge pull request #628 from nwparker/cloud/billing-subscribed-flag
feat(billing): features answer says whether the account pays for a plan (PAID-TEAM-CHOOSE-PLAN)
2026-11-13 00:53:23 -08:00
Neil 087e308c79 lint: type-only import in CloudPanelSections 2026-11-13 00:50:23 -08:00
Neil 3586c9f6e6 Merge pull request #641 from nwparker/cloud/chat-renew-inplace-v2
feat(cloud): CHAT-RENEW-INPLACE every expired strip renews in place; a renewal never auto-starts a held agent
2026-11-13 00:48:22 -08:00
Neil 8d35cf2562 test: type the repo-writer caller in askScopes test 2026-11-13 00:44:16 -08:00
Neil cdfe552e8b Merge remote-tracking branch 'private/cloud/integration' into cloud/capability-off-recheck 2026-11-13 00:43:49 -08:00
Neil 35520d4da0 Merge remote-tracking branch 'private/cloud/integration' into cloud/w6-repo-can-install-local 2026-11-13 00:43:49 -08:00
Neil d1edd0e618 Merge remote-tracking branch 'private/cloud/integration' into cloud/glossary-allowlist-snippet
# Conflicts:
#	src/renderer/src/lib/orca-cloud/cloud-glossary-allowlist.json
2026-11-13 00:43:37 -08:00
Neil bcbd195c6c Merge remote-tracking branch 'private/cloud/integration' into team-dialog-3 2026-11-13 00:43:28 -08:00
NeilandClaude a96d20d04a fix(cloud): picker empty state says 'Nothing else to open' or 'No cloud workspaces yet' (design-squad on #594)
Co-Authored-By: Claude <noreply@anthropic.com>
2026-11-13 00:43:12 -08:00
Neil 6eaa958196 Merge remote-tracking branch 'private/cloud/integration' into cloud/billing-subscribed-flag 2026-11-13 00:42:57 -08:00
Neil 0454bd5b22 Merge remote-tracking branch 'private/cloud/integration' into secrets-effective-shared 2026-11-13 00:42:28 -08:00
Neil 8a31cba9f1 Merge pull request #632 from nwparker/sec5/shared-workspace-secrets
fix(cloud): SEC-5 a shared workspace gets none of its owner's personal secrets
2026-11-13 00:42:20 -08:00
Neil 07c34913f2 Merge pull request #623 from nwparker/create-speed/gh-create-row-cancel
fix(cloud-create): GitHub-only creates get a sidebar row and a real Cancel (GH-CREATE-NO-ROW, GH-CREATE-CANCEL)
2026-11-13 00:37:11 -08:00
Neil 0467de861e Merge pull request #633 from nwparker/cloud/mfa-enforcement-ui
feat(cloud): MFA status column, Account row, team MFA banner and setup screen
2026-11-13 00:33:52 -08:00
Neil 18a79bcf4b fix(cloud): MFA toast uses a plain button; toasts no longer take a Copy link source 2026-11-13 00:12:10 -08:00
Neil c055544ad3 Merge remote-tracking branch 'private/cloud/integration' into cloud/mfa-enforcement-ui
# Conflicts:
#	src/main/hosted-sandbox/hosted-sandbox-config.ts
2026-11-13 00:10:56 -08:00
Neil 2a4f0fe4f3 Merge pull request #627 from nwparker/feat/auth-only-copy-link
fix(cloud): AUTH-ONLY-COPY-LINK Copy link only on sign-in pages
2026-11-13 00:10:06 -08:00
Neil a2f63a0c7d fix(sandbox-control): canInstall never says false for an unreadable org membership
A GitHub App user token generally can't read orgs the App isn't installed on, which is
exactly when canInstall is asked. Read the owner type anonymously first (GET /users/{owner}):
another user's account is false; an org is true only for active admin, false for another
role/state, and null for 403/404/errors/timeouts. Owner-type lookup failures are null.
2026-11-13 00:09:05 -08:00
Neil 1049be50c2 feat(sandbox-control): canInstall on GET /v1/github/repo-access (REPO-CAN-INSTALL)
Present while the Orca GitHub App isn't installed for the repo owner ('missing', or
'public' with no installation). true: the caller's connected GitHub login is the owner,
or their membership in the owner org is active admin. false: member, non-member (403/404),
or another user's account. null: no connected GitHub user token, the token can't be read
or refreshed, or GitHub errored / timed out (3 s). Never fails the answer.

The token comes from memberGitIdentity (decrypt + refresh near expiry).
2026-11-13 00:06:50 -08:00
Neil 596f0598bc fix(team): Enterprise row reads 'Single sign-on, directory sync and the audit log' 2026-11-13 00:01:27 -08:00
Neil c801f40186 fix(team): TEAM-MODAL-CENTER and TEAM-ENTERPRISE-ROW; centre the Team dialog, quiet row to Settings › Enterprise 2026-11-13 00:01:25 -08:00
Neil a5674d7da0 Merge pull request #626 from nwparker/cloud/team-dialog-2
fix(team): TEAM-DIALOG-2; no header Plan & billing button, invite line is only the seat rule
2026-11-13 00:01:07 -08:00
Neil 2c72382776 Merge pull request #541 from nwparker/cloud/w6-passenv-warning
fix(recipes): scope the recipe-host env warning to the recipe's passEnv
2026-11-12 23:54:41 -08:00
Neil 0180dd1834 Merge remote-tracking branch 'private/cloud/integration' into secrets-effective-shared 2026-11-12 23:51:22 -08:00
Neil af0d0802a4 Merge remote-tracking branch 'private/sec5/shared-workspace-secrets' into secrets-effective-shared 2026-11-12 23:51:16 -08:00
Neil cb9427ed55 test(cloud): move two glossary allowlist lines after the CLONE-ACCESS-ERROR edits 2026-11-12 23:49:21 -08:00
Neil befe5fe049 fix(cloud): CLONE-ACCESS-ERROR review: the clone step fails (not Start sandbox), warning tone for missing access, Copied on the request button
design-squad: a clone GitHub refused marks Start sandbox done and the clone step failed; missing
or requested access reads as a warning (amber, triangle; new InlineError 'warning' tone), the
reachable-now case stays an error; 'Copy request for an owner' reads 'Copied' for 1.5 s.
2026-11-12 23:49:21 -08:00
Neil 28490e23e9 feat(cloud): a refused clone says Orca can't access the repo, and fixes it (CLONE-ACCESS-ERROR)
'Couldn't clone owner/repo' with only Try again becomes 'Orca can't access owner/repo' with Give
Orca access (the App's install page for the owner, repository preselected; no Copy link) and
Choose another repository (back to the draft with the Project picker open). After the handoff the
card re-checks access on focus and on a backing-off timer, and starts the create again once
GitHub grants it. An install GitHub turned into a request says who to ask, with a request to copy;
a repository Orca can reach now offers Try again.
2026-11-12 23:49:19 -08:00
Neil 9aee999293 Merge pull request #634 from nwparker/fix/org-token-stale
fix(cloud): sandbox tokens follow the shown team (ORG-TOKEN-STALE b)
2026-11-12 23:48:59 -08:00
Neil 0ce35bb1ab Merge remote-tracking branch 'private/cloud/integration' into feat/auth-only-copy-link 2026-11-12 23:48:21 -08:00
Neil df55fc4786 feat(cloud): COPY-LINK-FIRST-CLICK Copy link on the first Sign in and Continue in browser (#616)
* feat(cloud): COPY-LINK-FIRST-CLICK Copy link on the first Sign in and setup's first Continue in browser starts the same flow without opening the browser

* feat(cloud): COPY-LINK-FIRST-CLICK loopback sign-in links say they open in any browser on this computer (menu line and copied toast)

* fix(cloud): COPY-LINK-FIRST-CLICK Copy link stays on sign-in only; the choose-plan Continue in browser has no copy link
2026-11-12 23:45:34 -08:00