Skip to content

Rebase onto upstream/master (2026-08-26): 558 commits (d5b9f6c8..821573ed) #575

Rebase onto upstream/master (2026-08-26): 558 commits (d5b9f6c8..821573ed)

Rebase onto upstream/master (2026-08-26): 558 commits (d5b9f6c8..821573ed) #575

Triggered via pull request August 26, 2026 08:44
Status Cancelled
Total duration 6m 1s
Artifacts 3

pr.yml

on: pull_request
Matrix: e2e_shards
Matrix: general_tests
Typecheck + Release Registry
2m 0s
Typecheck + Release Registry
Build
2m 21s
Build
Matrix: verify_serialized_server
Fit to window
Zoom out
Zoom in

Annotations

57 errors and 1 warning
Verify serialized server suites (1/5)
Process completed with exit code 1.
[@paperclipai/server] src/__tests__/heartbeat-process-recovery.test.ts > heartbeat orphaned process recovery > soft-drains: a second heartbeat service instance also suppresses new-run dispatch once shutdown begins: server/src/services/heartbeat.ts#L10997
TypeError: object is not iterable (cannot read property Symbol(Symbol.iterator)) ❯ Object.drainRunningRunsForShutdown src/services/heartbeat.ts:10997:41 ❯ src/__tests__/heartbeat-process-recovery.test.ts:2070:28
[@paperclipai/server] src/__tests__/heartbeat-process-recovery.test.ts > heartbeat orphaned process recovery > soft-drains: a sub-interval drain timeout never oversleeps past the deadline: server/src/services/heartbeat.ts#L10997
TypeError: object is not iterable (cannot read property Symbol(Symbol.iterator)) ❯ Object.drainRunningRunsForShutdown src/services/heartbeat.ts:10997:41 ❯ src/__tests__/heartbeat-process-recovery.test.ts:2025:21
[@paperclipai/server] src/__tests__/heartbeat-process-recovery.test.ts > heartbeat orphaned process recovery > soft-drains: the wait is bounded by the drain timeout: server/src/services/heartbeat.ts#L10997
TypeError: object is not iterable (cannot read property Symbol(Symbol.iterator)) ❯ Object.drainRunningRunsForShutdown src/services/heartbeat.ts:10997:41 ❯ src/__tests__/heartbeat-process-recovery.test.ts:1987:21
[@paperclipai/server] src/__tests__/heartbeat-process-recovery.test.ts > heartbeat orphaned process recovery > soft-drains: a run still running at the drain deadline is interrupted and retried: server/src/services/heartbeat.ts#L10997
TypeError: object is not iterable (cannot read property Symbol(Symbol.iterator)) ❯ Object.drainRunningRunsForShutdown src/services/heartbeat.ts:10997:41 ❯ src/__tests__/heartbeat-process-recovery.test.ts:1951:36
[@paperclipai/server] src/__tests__/heartbeat-process-recovery.test.ts > heartbeat orphaned process recovery > soft-drains: new-run dispatch is quiesced before the drain wait begins: server/src/services/heartbeat.ts#L10997
TypeError: object is not iterable (cannot read property Symbol(Symbol.iterator)) ❯ Object.drainRunningRunsForShutdown src/services/heartbeat.ts:10997:41 ❯ src/__tests__/heartbeat-process-recovery.test.ts:1932:21
[@paperclipai/server] src/__tests__/heartbeat-process-recovery.test.ts > heartbeat orphaned process recovery > soft-drains: a run that finishes within the drain window is not interrupted: server/src/services/heartbeat.ts#L10997
TypeError: object is not iterable (cannot read property Symbol(Symbol.iterator)) ❯ Object.drainRunningRunsForShutdown src/services/heartbeat.ts:10997:41 ❯ src/__tests__/heartbeat-process-recovery.test.ts:1888:36
[@paperclipai/ui] src/components/CompanySettingsSidebar.test.tsx > CompanySettingsSidebar operator-hidden entries > hides operator-hidden company pages: ui/src/components/CompanySettingsSidebar.test.tsx#L628
AssertionError: expected 'PaperclipProfileEnvironmentsAccessHea…' to contain 'General' Expected: "General" Received: "PaperclipProfileEnvironmentsAccessHeartbeatsExperimentalPluginsAdapters" ❯ src/components/CompanySettingsSidebar.test.tsx:628:35
[@paperclipai/ui] src/components/CompanySettingsSidebar.test.tsx > CompanySettingsSidebar operator-hidden entries > skips operator-hidden pages and their queries: ui/src/components/CompanySettingsSidebar.test.tsx#L595
AssertionError: expected 'PaperclipProfileEnvironmentsAccessExp…' to contain 'General' Expected: "General" Received: "PaperclipProfileEnvironmentsAccessExportImportExperimentalAdapters" ❯ src/components/CompanySettingsSidebar.test.tsx:595:35
[@paperclipai/ui] src/components/CompanySettingsSidebar.test.tsx > CompanySettingsSidebar > degrades closed: gated entries hidden while capabilities are unavailable: ui/src/components/CompanySettingsSidebar.test.tsx#L503
AssertionError: expected 'PaperclipProfileEnvironmentsAccessHea…' to contain 'Company Settings' Expected: "Company Settings" Received: "PaperclipProfileEnvironmentsAccessHeartbeatsExportImportExperimentalPluginsAdapters" ❯ src/components/CompanySettingsSidebar.test.tsx:503:35
[@paperclipai/ui] src/components/CompanySettingsSidebar.test.tsx > CompanySettingsSidebar > renders instance plugin links while filtering sandbox-provider-only plugins: ui/src/components/CompanySettingsSidebar.test.tsx#L419
AssertionError: expected [ …(4) ] to deeply equal [ …(2) ] - Expected + Received [ "/company/settings/instance/plugins/linear", "/company/settings/instance/plugins/hybrid", + "/company/settings/instance/plugins/linear", + "/company/settings/instance/plugins/hybrid", ] ❯ src/components/CompanySettingsSidebar.test.tsx:419:66
[@paperclipai/ui] src/components/CompanySettingsSidebar.test.tsx > CompanySettingsSidebar > renders one unified settings list without company or instance headers: ui/src/components/CompanySettingsSidebar.test.tsx#L238
AssertionError: expected Set{ '/company/settings', …(1) } to deeply equal Set{ '/company/settings' } - Expected + Received Set { "/company/settings", + "/company/settings/instance/general", } ❯ src/components/CompanySettingsSidebar.test.tsx:238:8
[@paperclipai/ui] src/components/AgentConfigForm.render.test.tsx > AgentConfigForm environment selector > labels the platform-managed instance default by name, without the driver key: ui/src/components/AgentConfigForm.render.test.tsx#L836
AssertionError: expected 'Default: LocalPaperclip Computer' to contain 'Default: Paperclip Computer' Expected: "Default: Paperclip Computer" Received: "Default: LocalPaperclip Computer" ❯ src/components/AgentConfigForm.render.test.tsx:836:35
[@paperclipai/ui] src/pages/NewAgent.test.tsx > NewAgent Claude subscription login > applies a stored token first and starts a replacement login with the captured version: ui/src/pages/NewAgent.test.tsx#L379
Error: Test timed out in 5000ms. If this is a long-running test, pass a timeout value as the last argument or configure it globally with "testTimeout". ❯ src/pages/NewAgent.test.tsx:379:3
[@paperclipai/ui] src/pages/NewAgent.test.tsx > NewAgent Claude subscription login > stores the secret and adds the fixed binding through the create request, with no token in the DOM: ui/src/pages/NewAgent.test.tsx#L338
Error: Test timed out in 5000ms. If this is a long-running test, pass a timeout value as the last argument or configure it globally with "testTimeout". ❯ src/pages/NewAgent.test.tsx:338:3
[@paperclipai/ui] src/pages/NewAgent.test.tsx > NewAgent Claude subscription login > shows Log in for a Claude sandbox before Create agent: ui/src/pages/NewAgent.test.tsx#L329
AssertionError: expected undefined to be truthy - Expected: true + Received: undefined ❯ src/pages/NewAgent.test.tsx:329:25
e2e shard (3/3)
Process completed with exit code 1.
[@paperclipai/ui] src/components/OnboardingWizard.step.test.tsx > OnboardingWizard — which step it lands on > the mission step, reached with a company that already exists > saves the mission it asked for: ui/src/components/OnboardingWizard.step.test.tsx#L393
AssertionError: expected "vi.fn()" to be called with arguments: [ 'company-1', ObjectContaining{…} ] Number of calls: 0 ❯ src/components/OnboardingWizard.step.test.tsx:393:35
[@paperclipai/ui] src/components/OnboardingWizard.step.test.tsx > OnboardingWizard — which step it lands on > re-decides the company when the route names a different one: ui/src/components/OnboardingWizard.step.test.tsx#L312
AssertionError: expected 'other' to be 'agent' // Object.is equality Expected: "agent" Received: "other" ❯ src/components/OnboardingWizard.step.test.tsx:312:27
[@paperclipai/ui] src/components/OnboardingWizard.step.test.tsx > OnboardingWizard — which step it lands on > does not move an open wizard when the dialog is re-opened with a new step: ui/src/components/OnboardingWizard.step.test.tsx#L303
AssertionError: expected 'other' to be 'mission' // Object.is equality Expected: "mission" Received: "other" ❯ src/components/OnboardingWizard.step.test.tsx:303:27
[@paperclipai/ui] src/components/OnboardingWizard.step.test.tsx > OnboardingWizard — which step it lands on > does not move an open wizard when a later refetch finds a mission: ui/src/components/OnboardingWizard.step.test.tsx#L273
AssertionError: expected 'other' to be 'agent' // Object.is equality Expected: "agent" Received: "other" ❯ src/components/OnboardingWizard.step.test.tsx:273:27
[@paperclipai/ui] src/components/OnboardingWizard.step.test.tsx > OnboardingWizard — which step it lands on > opens on the agent step when the goals lookup fails outright: ui/src/components/OnboardingWizard.step.test.tsx#L261
AssertionError: expected 'other' to be 'agent' // Object.is equality Expected: "agent" Received: "other" ❯ src/components/OnboardingWizard.step.test.tsx:261:27
[@paperclipai/ui] src/components/OnboardingWizard.step.test.tsx > OnboardingWizard — which step it lands on > opens on the agent step without waiting for the goals lookup: ui/src/components/OnboardingWizard.step.test.tsx#L252
AssertionError: expected 'other' to be 'agent' // Object.is equality Expected: "agent" Received: "other" ❯ src/components/OnboardingWizard.step.test.tsx:252:27
[@paperclipai/ui] src/components/OnboardingWizard.step.test.tsx > OnboardingWizard — which step it lands on > opens a company that already has its mission on the agent step: ui/src/components/OnboardingWizard.step.test.tsx#L233
AssertionError: expected 'other' to be 'agent' // Object.is equality Expected: "agent" Received: "other" ❯ src/components/OnboardingWizard.step.test.tsx:233:27
[@paperclipai/ui] src/pages/IssueDetail.test.tsx > IssueDetail > shows the plan decomposition panel when the experimental flag is enabled: ui/src/pages/IssueDetail.test.tsx#L2209
AssertionError: expected "vi.fn()" to not be called at all, but actually been called 1 times Received: 1st vi.fn() call: Array [ <IssueProperties checkingMonitorNow={false} childIssues={Array []} documentDeepLink={null} hasActiveRun={false} issue={ Object { "ancestors": Array [], "assigneeAdapterOverrides": null, "assigneeAgentId": null, "assigneeUserId": null, "billingCode": null, "cancelledAt": null, "checkoutRunId": null, "companyId": "company-1", "completedAt": null, "createdAt": 2026-04-21T00:00:00.000Z, "createdByAgentId": null, "createdByUserId": null, "currentExecutionWorkspace": null, "description": "Loads after the initial pending query.", "documentSummaries": Array [], "executionAgentNameKey": null, "executionLockedAt": null, "executionPolicy": null, "executionRunId": null, "executionState": null, "executionWorkspaceId": null, "executionWorkspacePreference": null, "executionWorkspaceSettings": null, "goalId": "goal-1", "hiddenAt": null, "id": "issue-1", "identifier": "PAP-1", "issueNumber": 1, "labelIds": Array [], "labels": Array [], "originFingerprint": "default", "originId": null, "originKind": "manual", "originRunId": null, "parentId": null, "priority": "medium", "projectId": null, "projectWorkspaceId": null, "requestDepth": 0, "startedAt": null, "status": "todo", "title": "Issue detail smoke", "updatedAt": 2026-04-21T00:00:00.000Z, } } onAddSubIssue={[Function anonymous]} onCheckMonitorNow={[Function onCheckMonitorNow]} onUpdate={[Function anonymous]} />, ] Number of calls: 1 ❯ src/pages/IssueDetail.test.tsx:2209:31
[@paperclipai/ui] src/pages/InviteLanding.test.tsx > InviteLandingPage > refreshes the companies cache with the joined company before redirecting a fresh authenticated invitee: ui/src/pages/InviteLanding.test.tsx#L646
AssertionError: the given combination of arguments (undefined and string) is invalid for this assertion. You can use an array, a map, an object, a set, a string, or a weakset instead of a string ❯ src/pages/InviteLanding.test.tsx:646:60
General tests (workspaces-b)
Canceling since a higher priority waiting request for pr-334 exists
General tests (workspaces-b)
Process completed with exit code 1.
[@paperclipai/adapter-utils] src/execution-target-sandbox.test.ts > sandbox adapter execution targets > applies the remote sandbox fallback when adapter timeoutSec is unset: packages/adapter-utils/src/execution-target-sandbox.test.ts#L1523
Error: Calling the suite function inside test function is not allowed. It can be only called at the top level or inside another suite function. ❯ src/execution-target-sandbox.test.ts:1523:3
General tests (server (1/5))
Canceling since a higher priority waiting request for pr-334 exists
General tests (server (1/5))
The operation was canceled.
General tests (server (2/5))
Canceling since a higher priority waiting request for pr-334 exists
General tests (server (2/5))
The operation was canceled.
Verify serialized server suites (2/5)
Canceling since a higher priority waiting request for pr-334 exists
Verify serialized server suites (2/5)
The operation was canceled.
Verify serialized server suites (4/5)
Canceling since a higher priority waiting request for pr-334 exists
Verify serialized server suites (4/5)
The operation was canceled.
Verify serialized server suites (3/5)
Canceling since a higher priority waiting request for pr-334 exists
Verify serialized server suites (3/5)
The operation was canceled.
General tests (server (5/5))
Canceling since a higher priority waiting request for pr-334 exists
General tests (server (5/5))
The operation was canceled.
General tests (server (3/5))
Canceling since a higher priority waiting request for pr-334 exists
General tests (server (3/5))
The operation was canceled.
General tests (server (4/5))
Canceling since a higher priority waiting request for pr-334 exists
General tests (server (4/5))
The operation was canceled.
e2e shard (1/3)
Canceling since a higher priority waiting request for pr-334 exists
e2e shard (1/3)
The operation was canceled.
e2e shard (2/3)
Canceling since a higher priority waiting request for pr-334 exists
e2e shard (2/3)
The operation was canceled.
verify
Process completed with exit code 1.
e2e
Process completed with exit code 1.
PR
Canceling since a higher priority waiting request for pr-334 exists
e2e shard (1/3)
No files were found with the provided path: tests/e2e/playwright-report/ tests/e2e/test-results/. No artifacts will be uploaded.

Artifacts

Produced during runtime
Name Size Digest
playwright-report-1
43.2 KB
sha256:68b92d172a25fe88f0d88f4666ed35d279c08101269a5d3fefc798b7ac9078b0
playwright-report-2
545 KB
sha256:724bb04de9aac55edf29d584f71938c1cf0ff812ed12012108d8081e431f2785
pr-lockfile Expired
159 KB
sha256:aea52da71f42c622b803d51468af64a1ac35810aaa52e2b9561391932b4b61ca