Commit Graph
18485 Commits
Author SHA1 Message Date
Neil 34459d7565 Merge pull request #672 from nwparker/cloud/mfa-design-followups
fix(cloud): MFA-646-REVIEW design follow-ups on the two-factor screens
2026-11-13 03:37:41 -08:00
Neil 7a44ac5fed chore(i18n): remove the Enterprise banner title key this PR replaced 2026-11-13 03:30:40 -08:00
Neil e65f777984 Merge pull request #661 from nwparker/cloud/rs5-claude-label
fix(cloud): RS-5 a Claude credential is always labelled "Claude subscription" (never a possibly-wrong email)
2026-11-13 03:30:11 -08:00
Neil 36f243041b Merge pull request #670 from nwparker/cloud/auto-env-deps-label
feat(cloud): environment page says whether an automatic environment's dependencies installed (AUTO-ENV-DEPS-LABEL)
2026-11-13 03:27:32 -08:00
Neil f0c8ef96db fix(cloud): pad the Require two-factor row inside its settings card 2026-11-13 03:24:39 -08:00
Neil 2382f3e8dd fix(cloud): MFA-646-REVIEW: one Contact sales per page, single sign-on note wording, underlined link, reason on pending rows 2026-11-13 03:23:56 -08:00
Neil f12e8e739f Merge pull request #646 from nwparker/cloud/mfa-enterprise-row
feat(cloud): Require two-factor in Settings › Enterprise, two-factor wording, handled-by-identity-provider state
2026-11-13 03:19:25 -08:00
Neil fe61ab6e1f Merge remote-tracking branch 'private/cloud/integration' into cloud/rs5-claude-label
# Conflicts:
#	cloud/apps/sandbox-control/src/agent-credentials.ts
2026-11-13 03:16:59 -08:00
Neil 03044c1f22 Merge pull request #659 from nwparker/cloud/rs3-rs4-codex-messages
fix(cloud): RS-3/RS-4 Codex errors say what to do (device-code sign-in off; signed-out 403 with a renew message)
2026-11-13 03:16:23 -08:00
Neil 79c04c5c19 Merge pull request #655 from nwparker/cloud/rs2-probe-suspect
fix(cloud): RS-2 a failed auth check never revokes a sign-in; it needs a check until a real request confirms or clears it
2026-11-13 03:11:23 -08:00
Neil 292de2db21 copy(cloud): AUTO-ENV-DEPS-LABEL review: 'Dependencies installed with pnpm' / 'weren't installed … New workspaces start without them.' 2026-11-13 03:06:18 -08:00
Neil c5d1fb6f6b feat(cloud): the environment page says whether an automatic environment's dependencies installed (AUTO-ENV-DEPS-LABEL)
The Worker reads environment-build.sh's own lines from the stored build log at finalize and records
autoInstall { manager, outcome } in the build result (no image change). The build view carries it;
the environment page shows 'Dependencies installed (pnpm)' or that the install failed and workspaces
run their own setup.
2026-11-13 03:04:16 -08:00
Neil 7a07d9cafb feat(cloud): PARITY-FOLLOW phase 2: Follow, followers and the Following section (#665)
* wip(cloud): PARITY-FOLLOW design fixtures (top-bar followers, sidebar Team and Following)

* feat(cloud): PARITY-FOLLOW phase 1: sidebar Team list and the top bar's people (creator and who is here now)

* test(cloud): PARITY-FOLLOW fixtures name the workspace a teammate is in

* fix(cloud): PARITY-FOLLOW fixture typecheck

* feat(cloud): PARITY-FOLLOW follow endpoint: workspace_follows (0055), PUT/DELETE /v1/team/workspaces/:id/follow, followers in workspace views

* fix(cloud): PARITY-FOLLOW lint: the hover action's wrapper owns its visibility; no Button restyles; no side effect in a state updater

* feat(cloud): PARITY-FOLLOW phase 2: Follow in the top bar, followers in the stack, Following section in the sidebar

* test(cloud): PARITY-FOLLOW no real-time wait in the live-read test
2026-11-13 02:59:54 -08:00
Neil e5d2cf3823 fix(cloud): REPO-CAN-INSTALL the push notice reads the control plane's canInstall first; gh only when it can't tell (#651)
true -> Install, false -> no Install (copy request for an owner); null (no connected GitHub, GitHub
refused) or absent (older Worker) -> the person's gh read as before (#644). Visible copy unchanged.
2026-11-13 02:53:35 -08:00
Neil 62e9740741 Merge pull request #657 from nwparker/cloud/v3-double-shell
fix(cloud): V3-01-DOUBLE-SHELL a launch released while its account still can't run the agent holds again in the same placeholder
2026-11-13 02:49:36 -08:00
Neil fe9c60b3ee Merge pull request #656 from nwparker/cloud/rs1-setup-token-parse
fix(cloud): RS-1 setup-token parsing holds up to real CLI output (wrapped token, CRLF, the CLI's refusals, both paste formats)
2026-11-13 02:39:12 -08:00
Neil d12ce48fbc Merge remote-tracking branch 'private/cloud/integration' into HEAD 2026-11-13 02:35:21 -08:00
Neil dc3e8869e7 Merge pull request #647 from nwparker/cloud/settings-team-workspaces
feat(cloud): Settings › Cloud workspaces, the team's cloud workspaces for owners and admins (HOME-1)
2026-11-13 02:34:48 -08:00
Neil f287d1e98e feat(cloud): PARITY-FOLLOW phase 1: sidebar Team list and the top bar's people (#652)
* wip(cloud): PARITY-FOLLOW design fixtures (top-bar followers, sidebar Team and Following)

* feat(cloud): PARITY-FOLLOW phase 1: sidebar Team list and the top bar's people (creator and who is here now)

* test(cloud): PARITY-FOLLOW fixtures name the workspace a teammate is in

* fix(cloud): PARITY-FOLLOW fixture typecheck

* fix(cloud): PARITY-FOLLOW lint: the hover action's wrapper owns its visibility; no Button restyles; no side effect in a state updater

* test(cloud): PARITY-FOLLOW no real-time wait in the live-read test
2026-11-13 02:29:40 -08:00
Neil c94f2aaea1 Merge remote-tracking branch 'private/cloud/integration' into cloud/mfa-enterprise-row
# Conflicts:
#	src/renderer/src/components/billing/team/TeamMemberList.test.tsx
#	src/renderer/src/components/settings/enterprise/enterprise-audit-copy.ts
#	src/renderer/src/i18n/locales/en.json
2026-11-13 02:26:59 -08:00
Neil bf9db06cc4 Merge pull request #662 from nwparker/cloud/secret-request-card-max-lines
fix(lint): split the repo-write check out of use-secret-request-card (max-lines trap)
2026-11-13 02:25:58 -08:00
Neil 0b47e51cb9 feat(cloud): SSO-FOLLOWUPS identity-provider-managed members on the Team page; a clear message when single sign-on ends a sign-in (#653)
* feat(cloud): SSO-FOLLOWUPS members managed by the identity provider on the Team page; a clear message when single sign-on ends a sign-in

* fix(cloud): import the roster type where it is used

* feat(cloud): wording for single sign-on and directory sync events in the audit log

* fix(cloud): the missing-DNS-record audit line reads as an action (design-squad)
2026-11-13 02:22:04 -08:00
Neil 2642b3e4d0 feat(cloud): PARITY-FOLLOW follow endpoint: workspace_follows (0055), PUT/DELETE /v1/team/workspaces/:id/follow, followers in workspace views (#654) 2026-11-13 02:17:45 -08:00
Neil 4d774310ef fix(lint): split the repo-write check out of use-secret-request-card (max-lines)
cloud/integration fails oxlint max-lines on use-secret-request-card.ts (303 counted
lines, limit 300) since #637, which fails every premerge that merges integration.
Moves canWriteRepo and its cache to secret-request-repo-write.ts; no behaviour change.
2026-11-13 02:15:47 -08:00
Neil 932fd0cd5e Merge pull request #648 from nwparker/cloud/pha-focus-test
test(cloud): PAIRED-HELD-ACTIVE the other-workspace focus test proves its guard
2026-11-13 02:13:19 -08:00
Neil 83ccaa4a8b fix(cloud): RS-5 a Claude credential is always labelled "Claude subscription": never this computer's email or the Orca name; old labels read the same 2026-11-13 02:10:24 -08:00
Neil 41654c37fa Merge remote-tracking branch 'private/cloud/integration' into cloud/mfa-enterprise-row
# Conflicts:
#	src/renderer/src/components/settings/enterprise/EnterpriseSettingsPane.tsx
2026-11-13 02:09:48 -08:00
Neil ebc572bcc4 Merge pull request #650 from nwparker/cloud/request-copy-share
refactor(cloud): one 'Copy request for an owner' helper (REQUEST-COPY-SHARE)
2026-11-13 02:08:40 -08:00
Neil 72223723b0 fix(cloud): RS-3/RS-4 copy per design-squad (device code sign-in off: amber, no guessed setting name; Codex 403 says check it in Orca); RS-3 strip fixture 2026-11-13 02:07:58 -08:00
Neil df47672708 fix(cloud): RS-3 device-code sign-in turned off on ChatGPT gets its own message; RS-4 a signed-out Codex gets a 403 that says to renew in Orca 2026-11-13 02:03:49 -08:00
Neil c6a03253e0 fix(cloud): RS-1 a line that starts a new token copy is never a continuation; test lint 2026-11-13 01:53:43 -08:00
Neil 4e76f4daab fix(cloud): RS-1 setup-token parsing holds up to real output: CRLF, a wrapped token joined (never cut short), the CLI's own refusal wording, a code without its state refused, a wrapped paste joined 2026-11-13 01:49:29 -08:00
Neil 49fb8a9d8c fix(cloud): RS-2 a failed auth check never revokes an Orca-account sign-in: it needs a check (shown as expired); a later real 401 revokes, a real success clears it 2026-11-13 01:40:50 -08:00
Neil 46c04667e0 fix(cloud): V3-01-DOUBLE-SHELL a launch released while its account still can't run the agent holds again in the same placeholder, never a second one 2026-11-13 01:33:05 -08:00
NeilandClaude 2c097c7f72 chore(i18n): Settings › Cloud workspaces keys after rebase
Co-Authored-By: Claude <noreply@anthropic.com>
2026-11-13 01:30:58 -08:00
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 471236fab1 refactor(cloud): one 'Copy request for an owner' for the clone card and the push notice (REQUEST-COPY-SHARE)
owner-request.ts: copyOwnerRequest(repoUrl, 'start' | 'push'), ownerRequestLabel and
useOwnerRequestCopy (Copied for 1.5 s), with one set of keys (orcaCloud.ownerRequest.*). The
CLONE-ACCESS-ERROR and ENV-NOTICE-ACTIONS copies and their private keys are gone. Same visible
words.
2026-11-13 01:18:11 -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 a5b2efdc41 Merge remote-tracking branch 'private/cloud/integration' into cloud/mfa-enterprise-row
# Conflicts:
#	src/renderer/src/components/team-mfa/team-mfa-copy.ts
#	src/renderer/src/i18n/locales/en.json
2026-11-13 01:06:53 -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