Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3f4fb2e67a | ||
|
|
678aef4c5d |
@@ -0,0 +1,90 @@
|
||||
# Workspace creation focus QA
|
||||
|
||||
Contribution: Christoph Leiter's [PR #2986](https://github.com/getpaseo/paseo/pull/2986).
|
||||
Baseline: current main `433e67b18b7964a92d593bdc78c518143accfc8b`.
|
||||
Original recorded implementation: `9457bb6f4053b6ab36e7eabcae0a2902176635c8`.
|
||||
Latest verified implementation: `1b96fa4fdcf147f7d412f210ff45170a9112da8d`.
|
||||
|
||||
These are recorded Chromium interactions with the real Expo app and isolated Linux daemons.
|
||||
Workspace registry updates, git worktree creation, uploaded files, and shell terminals are real.
|
||||
Playwright holds `workspace.create.response` until after the user changes workspace
|
||||
(or deliberately stays). Recording runs add 1.5 seconds of viewing time.
|
||||
The agent uses Paseo's built-in simulated provider, model `ten-second-stream`,
|
||||
mode `load-test`, thinking `low`. This does not verify a live external AI provider.
|
||||
The simulated provider echoes text only; file preservation is checked at the real
|
||||
create request and by comparing the uploaded file's bytes, not by expecting its
|
||||
simulated transcript to echo attachment metadata.
|
||||
|
||||
## Before and after
|
||||
|
||||
| Journey | Current main | Fix |
|
||||
| --- | --- | --- |
|
||||
| Worktree + chat | [Recording](before-worktree-chat.webm) | [Recording](after-worktree-chat.webm) |
|
||||
| Worktree + terminal | [Recording](before-worktree-terminal.webm) | [Recording](after-worktree-terminal.webm) |
|
||||
| Empty worktree | [Recording](before-worktree-empty.webm) | [Recording](after-worktree-empty.webm) |
|
||||
| Local workspace + chat | [Recording](before-local-chat.webm) | [Recording](after-local-chat.webm) |
|
||||
| Local workspace + terminal | [Recording](before-local-terminal.webm) | [Recording](after-local-terminal.webm) |
|
||||
|
||||
The worktree terminal recording shows the chosen `main` workspace remaining active,
|
||||
then opening the new workspace reveals `captured: Hello from the navigation guard`.
|
||||
[Preserving a newer draft](after-newer-draft.webm) and
|
||||
[empty local workspace](after-local-empty.webm) are also recorded.
|
||||
|
||||

|
||||

|
||||
|
||||
## Context ownership repair verification
|
||||
|
||||
The latest head also preserves a newer fork draft's setup and chat-history context,
|
||||
including context-only edits that do not change the text version. Cleanup captures
|
||||
ownership before workspace creation begins. A regression using the previous head's
|
||||
background helper fails; all seven cleanup tests pass on the repair.
|
||||
|
||||
All ten browser journeys were rerun together and recorded on this repair:
|
||||
[complete results](context-e2e.txt), [newer-draft recording](after-context-repair-newer-draft.webm).
|
||||
These recordings repeat the real-daemon method and platform/provider limitations above.
|
||||
The fork context race is verified through the real draft stores in the focused unit test;
|
||||
the browser newer-draft journey covers text preservation.
|
||||
|
||||
[Context regression before](context-red.txt), [after](context-green.txt),
|
||||
[typecheck](context-typecheck.txt), [lint](context-lint.txt), [format](context-format.txt).
|
||||
|
||||
## Results
|
||||
|
||||
- Current-main baseline: both original local journeys fail on the wrong final route.
|
||||
- Current-main baseline: all three explicit worktree journeys fail on the wrong final route.
|
||||
- Fix: seven local journeys pass: chat/terminal/empty with leave/stay, plus reopening a newer draft.
|
||||
- Fix: three explicit worktree journeys pass: chat/terminal/empty with navigation away.
|
||||
- Revisited workspaces retain exactly one requested agent or terminal; empty workspaces contain neither.
|
||||
- Chat request retains prompt, provider, model, mode, thinking level, working directory, and uploaded file contents.
|
||||
- Submitted drafts clear; a newer draft remains intact.
|
||||
- Focused tests: presence 4, background handoff 5, existing workspace draft-tab tests 5 passed.
|
||||
- New draft-ownership regression failed before its repair and passed afterward.
|
||||
- Full typecheck, lint, and format passed.
|
||||
|
||||
## Reproduce
|
||||
|
||||
From the verified checkout:
|
||||
|
||||
```sh
|
||||
npm install
|
||||
npm run build:server
|
||||
npm run build:app-deps
|
||||
CI=1 E2E_WORKERS=1 E2E_RECORD_VIDEO=1 npm run test:e2e --workspace=@getpaseo/app -- e2e/browser/new-workspace-navigation-guard.spec.ts --retries=0
|
||||
npm run test --workspace=@getpaseo/app -- src/screens/new-workspace/background-handoff.test.ts src/screens/new-workspace/screen-presence.test.ts src/composer/draft/workspace-tab.test.ts --bail=1
|
||||
npm run typecheck
|
||||
npm run lint
|
||||
npm run format
|
||||
```
|
||||
|
||||
The recorded local run and worktree run were separate focused invocations; the
|
||||
worktree invocation used `--grep 'worktree '`. Baseline runs used the same
|
||||
tests with the two modified production entry files restored from the pinned main
|
||||
commit. Extra helper files are unreachable from that baseline.
|
||||
|
||||
Raw command output is in the adjacent `.txt` files. ANSI formatting and local
|
||||
home/checkout paths have been removed; test results are unchanged.
|
||||
|
||||
Tested: Linux Chromium web. Not independently tested: iOS, Android, Electron on
|
||||
Linux/macOS/Windows, or live external agent providers. No protocol fields changed.
|
||||
The main developer daemon was not restarted or used for QA.
|
||||
@@ -0,0 +1,47 @@
|
||||
|
||||
> @getpaseo/app@0.8.0-beta.1 test:e2e
|
||||
> playwright test --project=browser e2e/browser/new-workspace-navigation-guard.spec.ts --grep worktree --retries=0 --output=../../.dev/qa-2986/worktree-after-results
|
||||
|
||||
(node:1748019) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
(Use `node --trace-warnings ...` to show where the warning was created)
|
||||
(node:1748019) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
(Use `node --trace-warnings ...` to show where the warning was created)
|
||||
[metro] (node:1748040) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
[metro] (Use `node --trace-warnings ...` to show where the warning was created)
|
||||
[metro] Starting project at [checkout]/packages/app
|
||||
[metro] Using src/app as the root directory for Expo Router.
|
||||
[metro] Experimental Expo Autolinking module resolver is enabled.
|
||||
[metro] React Compiler enabled
|
||||
[metro] Metro is running in CI mode, reloads are disabled. Remove CI=true to enable watch mode.
|
||||
[metro] Starting Metro Bundler
|
||||
[metro] Waiting on http://localhost:44615
|
||||
[metro] Logs for your project will appear below.
|
||||
[metro] Web Bundled 2083ms packages/app/index.ts (5129 modules)
|
||||
[e2e] Metro warmed on port 44615
|
||||
|
||||
Running 3 tests using 1 worker
|
||||
|
||||
(node:1748274) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
(Use `node --trace-warnings ...` to show where the warning was created)
|
||||
(node:1748274) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
(Use `node --trace-warnings ...` to show where the warning was created)
|
||||
[e2e] Worker 0 daemon started on port 40733, home: [checkout]/.dev/qa-2986/worktree-after/worker-0
|
||||
[metro] Web packages/app/index.ts ░░░░░░░░░░░░░░░░ 0.0% (0/1)
|
||||
[metro] Web Bundled 162ms packages/app/index.ts (1 module)
|
||||
[metro] LOG [web] Logs will appear in the browser console
|
||||
[metro] Web Bundled 44ms packages/app/src/attachments/web/indexeddb-attachment-store.ts (1 module)
|
||||
✓ 1 [browser] › e2e/browser/new-workspace-navigation-guard.spec.ts:11:9 › Delayed workspace creation › worktree chat: keeps the workspace chosen during creation (13.6s)
|
||||
[metro] Web packages/app/index.ts ░░░░░░░░░░░░░░░░ 0.0% (0/1)
|
||||
[metro] Web Bundled 165ms packages/app/index.ts (1 module)
|
||||
[metro] Web Bundled 4ms packages/app/src/attachments/web/indexeddb-attachment-store.ts (1 module)
|
||||
[metro] LOG [web] Logs will appear in the browser console
|
||||
✓ 2 [browser] › e2e/browser/new-workspace-navigation-guard.spec.ts:11:9 › Delayed workspace creation › worktree terminal: keeps the workspace chosen during creation (12.9s)
|
||||
[metro] Web packages/app/index.ts ░░░░░░░░░░░░░░░░ 0.0% (0/1)
|
||||
[metro] Web Bundled 194ms packages/app/index.ts (1 module)
|
||||
[metro] Web Bundled 5ms packages/app/src/attachments/web/indexeddb-attachment-store.ts (1 module)
|
||||
[metro] LOG [web] Logs will appear in the browser console
|
||||
✓ 3 [browser] › e2e/browser/new-workspace-navigation-guard.spec.ts:11:9 › Delayed workspace creation › worktree empty: keeps the workspace chosen during creation (13.7s)
|
||||
[e2e] Worker 0 daemon stopped
|
||||
[e2e] Metro stopped
|
||||
|
||||
3 passed (48.3s)
|
||||
@@ -0,0 +1,140 @@
|
||||
|
||||
> @getpaseo/app@0.8.0-beta.1 test:e2e
|
||||
> playwright test --project=browser e2e/browser/new-workspace-navigation-guard.spec.ts --retries=0 --output=../../.dev/qa-2986/baseline-results
|
||||
|
||||
(node:1586722) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
(Use `node --trace-warnings ...` to show where the warning was created)
|
||||
(node:1586722) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
(Use `node --trace-warnings ...` to show where the warning was created)
|
||||
[metro] (node:1586752) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
[metro] (Use `node --trace-warnings ...` to show where the warning was created)
|
||||
[metro] Starting project at [checkout]/packages/app
|
||||
[metro] Using src/app as the root directory for Expo Router.
|
||||
[metro] Experimental Expo Autolinking module resolver is enabled.
|
||||
[metro] React Compiler enabled
|
||||
[metro] Metro is running in CI mode, reloads are disabled. Remove CI=true to enable watch mode.
|
||||
[metro] Starting Metro Bundler
|
||||
[metro] Waiting on http://localhost:33023
|
||||
[metro] Logs for your project will appear below.
|
||||
[metro] Web Bundled 2099ms packages/app/index.ts (5126 modules)
|
||||
[e2e] Metro warmed on port 33023
|
||||
|
||||
Running 2 tests using 1 worker
|
||||
|
||||
(node:1586952) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
(Use `node --trace-warnings ...` to show where the warning was created)
|
||||
(node:1586952) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
(Use `node --trace-warnings ...` to show where the warning was created)
|
||||
[e2e] Worker 0 daemon started on port 39489, home: [checkout]/.dev/qa-2986/baseline/worker-0
|
||||
[metro] Web packages/app/index.ts ░░░░░░░░░░░░░░░░ 0.0% (0/1)
|
||||
[metro] Web Bundled 167ms packages/app/index.ts (1 module)
|
||||
[metro] LOG [web] Logs will appear in the browser console
|
||||
[metro] Web Bundled 48ms packages/app/src/attachments/web/indexeddb-attachment-store.ts (1 module)
|
||||
[e2e] Worker 0 daemon stopped
|
||||
✘ 1 [browser] › e2e/browser/new-workspace-navigation-guard.spec.ts:72:7 › New workspace navigation guard › stays put when creation resolves after the user moved on, and still starts the agent (14.1s)
|
||||
(node:1589025) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
(Use `node --trace-warnings ...` to show where the warning was created)
|
||||
(node:1589025) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
(Use `node --trace-warnings ...` to show where the warning was created)
|
||||
[e2e] Worker 1 daemon started on port 36915, home: [checkout]/.dev/qa-2986/baseline/worker-1
|
||||
[metro] Web packages/app/index.ts ░░░░░░░░░░░░░░░░ 0.0% (0/1)
|
||||
[metro] Web Bundled 171ms packages/app/index.ts (1 module)
|
||||
[metro] Web Bundled 4ms packages/app/src/attachments/web/indexeddb-attachment-store.ts (1 module)
|
||||
[metro] LOG [web] Logs will appear in the browser console
|
||||
[e2e] Worker 1 daemon stopped
|
||||
✘ 2 [browser] › e2e/browser/new-workspace-navigation-guard.spec.ts:146:7 › New workspace navigation guard › stays put when a terminal launch resolves after the user moved on, and still spawns the terminal (19.4s)
|
||||
[e2e] Metro stopped
|
||||
|
||||
|
||||
1) [browser] › e2e/browser/new-workspace-navigation-guard.spec.ts:72:7 › New workspace navigation guard › stays put when creation resolves after the user moved on, and still starts the agent
|
||||
|
||||
Error: expect(received).toBe(expected) // Object.is equality
|
||||
|
||||
Expected: "/h/srv_e2e_worker_0/workspace/wks_c10aed6669e03cab"
|
||||
Received: "/h/srv_e2e_worker_0/workspace/wks_aee4508341498f87"
|
||||
|
||||
Call Log:
|
||||
- Timeout 10000ms exceeded while waiting on the predicate
|
||||
|
||||
at ../support/helpers/route-assertions.ts:8
|
||||
|
||||
6 | options?: { timeout?: number },
|
||||
7 | ): Promise<void> {
|
||||
> 8 | await expect
|
||||
| ^
|
||||
9 | .poll(
|
||||
10 | () => {
|
||||
11 | const current = new URL(page.url());
|
||||
at expectAppRoute ([checkout]/packages/app/e2e/support/helpers/route-assertions.ts:8:3)
|
||||
at [checkout]/packages/app/e2e/browser/new-workspace-navigation-guard.spec.ts:126:7
|
||||
|
||||
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
|
||||
../../.dev/qa-2986/baseline-results/new-workspace-navigation-g-6feb8--and-still-starts-the-agent-browser/test-failed-1.png
|
||||
────────────────────────────────────────────────────────────────────────────────────────────────
|
||||
|
||||
attachment #2: browser-console (text/plain) ────────────────────────────────────────────────────
|
||||
[console:info] %cDownload the React DevTools for a better development experience: https://react.dev/link/react-devtools font-weight:bold
|
||||
[console:log] Running application "main" with appParams:
|
||||
{rootTag: #root, hydrate: undefined}
|
||||
Development-level warnings: ON.
|
||||
Performance optimizations: OFF.
|
||||
[co...
|
||||
────────────────────────────────────────────────────────────────────────────────────────────────
|
||||
|
||||
attachment #3: video (video/webm) ──────────────────────────────────────────────────────────────
|
||||
../../.dev/qa-2986/baseline-results/new-workspace-navigation-g-6feb8--and-still-starts-the-agent-browser/video.webm
|
||||
────────────────────────────────────────────────────────────────────────────────────────────────
|
||||
|
||||
Error Context: ../../.dev/qa-2986/baseline-results/new-workspace-navigation-g-6feb8--and-still-starts-the-agent-browser/error-context.md
|
||||
|
||||
2) [browser] › e2e/browser/new-workspace-navigation-guard.spec.ts:146:7 › New workspace navigation guard › stays put when a terminal launch resolves after the user moved on, and still spawns the terminal
|
||||
|
||||
Error: expect(received).toBe(expected) // Object.is equality
|
||||
|
||||
Expected: "/h/srv_e2e_worker_1/workspace/wks_189929b605ec782a"
|
||||
Received: "/h/srv_e2e_worker_1/workspace/wks_0939abd90c119bd0"
|
||||
|
||||
Call Log:
|
||||
- Timeout 10000ms exceeded while waiting on the predicate
|
||||
|
||||
at ../support/helpers/route-assertions.ts:8
|
||||
|
||||
6 | options?: { timeout?: number },
|
||||
7 | ): Promise<void> {
|
||||
> 8 | await expect
|
||||
| ^
|
||||
9 | .poll(
|
||||
10 | () => {
|
||||
11 | const current = new URL(page.url());
|
||||
at expectAppRoute ([checkout]/packages/app/e2e/support/helpers/route-assertions.ts:8:3)
|
||||
at [checkout]/packages/app/e2e/browser/new-workspace-navigation-guard.spec.ts:203:7
|
||||
|
||||
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
|
||||
../../.dev/qa-2986/baseline-results/new-workspace-navigation-g-24fca-d-still-spawns-the-terminal-browser/test-failed-1.png
|
||||
────────────────────────────────────────────────────────────────────────────────────────────────
|
||||
|
||||
attachment #2: browser-console (text/plain) ────────────────────────────────────────────────────
|
||||
[console:info] %cDownload the React DevTools for a better development experience: https://react.dev/link/react-devtools font-weight:bold
|
||||
[console:log] Running application "main" with appParams:
|
||||
{rootTag: #root, hydrate: undefined}
|
||||
Development-level warnings: ON.
|
||||
Performance optimizations: OFF.
|
||||
[co...
|
||||
────────────────────────────────────────────────────────────────────────────────────────────────
|
||||
|
||||
attachment #3: video (video/webm) ──────────────────────────────────────────────────────────────
|
||||
../../.dev/qa-2986/baseline-results/new-workspace-navigation-g-24fca-d-still-spawns-the-terminal-browser/video.webm
|
||||
────────────────────────────────────────────────────────────────────────────────────────────────
|
||||
|
||||
Error Context: ../../.dev/qa-2986/baseline-results/new-workspace-navigation-g-24fca-d-still-spawns-the-terminal-browser/error-context.md
|
||||
|
||||
2 failed
|
||||
[browser] › e2e/browser/new-workspace-navigation-guard.spec.ts:72:7 › New workspace navigation guard › stays put when creation resolves after the user moved on, and still starts the agent
|
||||
[browser] › e2e/browser/new-workspace-navigation-guard.spec.ts:146:7 › New workspace navigation guard › stays put when a terminal launch resolves after the user moved on, and still spawns the terminal
|
||||
npm error Lifecycle script `test:e2e` failed with error:
|
||||
npm error code 1
|
||||
npm error path [checkout]/packages/app
|
||||
npm error workspace @getpaseo/app@0.8.0-beta.1
|
||||
npm error location [checkout]/packages/app
|
||||
npm error command failed
|
||||
npm error command sh -c playwright test --project=browser e2e/browser/new-workspace-navigation-guard.spec.ts --retries=0 --output=../../.dev/qa-2986/baseline-results
|
||||
@@ -0,0 +1,448 @@
|
||||
|
||||
> @getpaseo/app@0.8.0-beta.1 test:e2e
|
||||
> playwright test --project=browser e2e/browser/new-workspace-navigation-guard.spec.ts --grep worktree --retries=0 --output=../../.dev/qa-2986/worktree-before-results
|
||||
|
||||
(node:1739202) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
(Use `node --trace-warnings ...` to show where the warning was created)
|
||||
(node:1739202) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
(Use `node --trace-warnings ...` to show where the warning was created)
|
||||
[metro] (node:1739254) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
[metro] (Use `node --trace-warnings ...` to show where the warning was created)
|
||||
[metro] Starting project at [checkout]/packages/app
|
||||
[metro] Using src/app as the root directory for Expo Router.
|
||||
[metro] Experimental Expo Autolinking module resolver is enabled.
|
||||
[metro] React Compiler enabled
|
||||
[metro] Metro is running in CI mode, reloads are disabled. Remove CI=true to enable watch mode.
|
||||
[metro] Starting Metro Bundler
|
||||
[metro] Waiting on http://localhost:42491
|
||||
[metro] Logs for your project will appear below.
|
||||
[metro] Web Bundled 2103ms packages/app/index.ts (5126 modules)
|
||||
[e2e] Metro warmed on port 42491
|
||||
|
||||
Running 3 tests using 1 worker
|
||||
|
||||
(node:1740196) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
(Use `node --trace-warnings ...` to show where the warning was created)
|
||||
(node:1740196) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
(Use `node --trace-warnings ...` to show where the warning was created)
|
||||
[e2e] Worker 0 daemon started on port 45103, home: [checkout]/.dev/qa-2986/worktree-before/worker-0
|
||||
[metro] Web packages/app/index.ts ░░░░░░░░░░░░░░░░ 0.0% (0/1)
|
||||
[metro] Web Bundled 160ms packages/app/index.ts (1 module)
|
||||
[metro] LOG [web] Logs will appear in the browser console
|
||||
[metro] Web Bundled 42ms packages/app/src/attachments/web/indexeddb-attachment-store.ts (1 module)
|
||||
Error: expect(received).toBe(expected) // Object.is equality
|
||||
|
||||
Expected: "/h/srv_e2e_worker_0/workspace/wks_fe50c0d38c63297c"
|
||||
Received: "/h/srv_e2e_worker_0/workspace/wks_d5397a0bda5853b8"
|
||||
|
||||
Call Log:
|
||||
- Timeout 10000ms exceeded while waiting on the predicate
|
||||
at pollMatcher ([checkout]/node_modules/playwright/lib/matchers/expect.js:293:11)
|
||||
at expectAppRoute ([checkout]/packages/app/e2e/support/helpers/route-assertions.ts:8:3)
|
||||
at [checkout]/packages/app/e2e/support/helpers/new-workspace-navigation.ts:128:7
|
||||
at TestStepInfoImpl._runStepBody ([checkout]/node_modules/playwright/lib/worker/testInfo.js:506:14)
|
||||
at [checkout]/node_modules/playwright/lib/common/testType.js:245:20
|
||||
at [checkout]/node_modules/playwright/lib/common/testType.js:243:18
|
||||
at TestTypeImpl._step ([checkout]/node_modules/playwright/lib/common/testType.js:240:12)
|
||||
at verifyDelayedWorkspaceCreation ([checkout]/packages/app/e2e/support/helpers/new-workspace-navigation.ts:112:5)
|
||||
at [checkout]/packages/app/e2e/browser/new-workspace-navigation-guard.spec.ts:12:7
|
||||
at [checkout]/node_modules/playwright/lib/worker/workerMain.js:323:9
|
||||
at [checkout]/node_modules/playwright/lib/worker/testInfo.js:320:11
|
||||
at TimeoutManager.withRunnable ([checkout]/node_modules/playwright/lib/worker/timeoutManager.js:67:14)
|
||||
at TestInfoImpl._runWithTimeout ([checkout]/node_modules/playwright/lib/worker/testInfo.js:318:7)
|
||||
at [checkout]/node_modules/playwright/lib/worker/workerMain.js:321:7
|
||||
at WorkerMain._runTest ([checkout]/node_modules/playwright/lib/worker/workerMain.js:296:5)
|
||||
at WorkerMain.runTestGroup ([checkout]/node_modules/playwright/lib/worker/workerMain.js:196:11)
|
||||
at process.<anonymous> ([checkout]/node_modules/playwright/lib/common/process.js:72:22) {
|
||||
[Symbol(step)]: {
|
||||
category: 'expect',
|
||||
apiName: 'expect.poll .toBe',
|
||||
title: 'Expect "poll toBe"',
|
||||
shortTitle: 'Expect "poll toBe"',
|
||||
params: { expected: '/h/srv_e2e_worker_0/workspace/wks_fe50c0d38c63297c' },
|
||||
infectParentStepsWithError: undefined,
|
||||
stepId: 'expect@317',
|
||||
group: undefined,
|
||||
boxedStack: undefined,
|
||||
location: {
|
||||
file: '[checkout]/packages/app/e2e/support/helpers/route-assertions.ts',
|
||||
line: 16,
|
||||
column: 6,
|
||||
function: 'expectAppRoute'
|
||||
},
|
||||
steps: [
|
||||
[Object], [Object],
|
||||
[Object], [Object],
|
||||
[Object], [Object],
|
||||
[Object], [Object],
|
||||
[Object], [Object],
|
||||
[Object], [Object],
|
||||
[Object]
|
||||
],
|
||||
attachmentIndices: [],
|
||||
info: TestStepInfoImpl {
|
||||
annotations: [],
|
||||
_testInfo: [TestInfoImpl],
|
||||
_stepId: 'expect@317',
|
||||
_title: 'Expect "poll toBe"',
|
||||
_parentStep: [TestStepInfoImpl],
|
||||
skip: [Function (anonymous)]
|
||||
},
|
||||
complete: [Function: complete],
|
||||
endWallTime: 1788972777259,
|
||||
error: {
|
||||
message: 'Error: \x1B[2mexpect(\x1B[22m\x1B[31mreceived\x1B[39m\x1B[2m).\x1B[22mtoBe\x1B[2m(\x1B[22m\x1B[32mexpected\x1B[39m\x1B[2m) // Object.is equality\x1B[22m\n' +
|
||||
'\n' +
|
||||
'Expected: \x1B[32m"/h/srv_e2e_worker_0/workspace/wks_\x1B[7mfe50c0d38c63297c\x1B[27m"\x1B[39m\n' +
|
||||
'Received: \x1B[31m"/h/srv_e2e_worker_0/workspace/wks_\x1B[7md5397a0bda5853b8\x1B[27m"\x1B[39m\n' +
|
||||
'\n' +
|
||||
'Call Log:\n' +
|
||||
'- Timeout 10000ms exceeded while waiting on the predicate',
|
||||
stack: 'Error: \x1B[2mexpect(\x1B[22m\x1B[31mreceived\x1B[39m\x1B[2m).\x1B[22mtoBe\x1B[2m(\x1B[22m\x1B[32mexpected\x1B[39m\x1B[2m) // Object.is equality\x1B[22m\n' +
|
||||
'\n' +
|
||||
'Expected: \x1B[32m"/h/srv_e2e_worker_0/workspace/wks_\x1B[7mfe50c0d38c63297c\x1B[27m"\x1B[39m\n' +
|
||||
'Received: \x1B[31m"/h/srv_e2e_worker_0/workspace/wks_\x1B[7md5397a0bda5853b8\x1B[27m"\x1B[39m\n' +
|
||||
'\n' +
|
||||
'Call Log:\n' +
|
||||
'- Timeout 10000ms exceeded while waiting on the predicate\n' +
|
||||
' at expectAppRoute ([checkout]/packages/app/e2e/support/helpers/route-assertions.ts:8:3)\n' +
|
||||
' at [checkout]/packages/app/e2e/support/helpers/new-workspace-navigation.ts:128:7\n' +
|
||||
' at verifyDelayedWorkspaceCreation ([checkout]/packages/app/e2e/support/helpers/new-workspace-navigation.ts:112:5)\n' +
|
||||
' at [checkout]/packages/app/e2e/browser/new-workspace-navigation-guard.spec.ts:12:7',
|
||||
cause: undefined
|
||||
}
|
||||
}
|
||||
}
|
||||
[e2e] Worker 0 daemon stopped
|
||||
✘ 1 [browser] › e2e/browser/new-workspace-navigation-guard.spec.ts:11:9 › Delayed workspace creation › worktree chat: keeps the workspace chosen during creation (21.1s)
|
||||
(node:1744054) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
(Use `node --trace-warnings ...` to show where the warning was created)
|
||||
(node:1744054) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
(Use `node --trace-warnings ...` to show where the warning was created)
|
||||
[e2e] Worker 1 daemon started on port 42363, home: [checkout]/.dev/qa-2986/worktree-before/worker-1
|
||||
[metro] Web packages/app/index.ts ░░░░░░░░░░░░░░░░ 0.0% (0/1)
|
||||
[metro] Web Bundled 173ms packages/app/index.ts (1 module)
|
||||
[metro] Web Bundled 5ms packages/app/src/attachments/web/indexeddb-attachment-store.ts (1 module)
|
||||
[metro] LOG [web] Logs will appear in the browser console
|
||||
Error: expect(received).toBe(expected) // Object.is equality
|
||||
|
||||
Expected: "/h/srv_e2e_worker_1/workspace/wks_2685c8a535a75a09"
|
||||
Received: "/h/srv_e2e_worker_1/workspace/wks_9b35d52930eaaba6"
|
||||
|
||||
Call Log:
|
||||
- Timeout 10000ms exceeded while waiting on the predicate
|
||||
at pollMatcher ([checkout]/node_modules/playwright/lib/matchers/expect.js:293:11)
|
||||
at expectAppRoute ([checkout]/packages/app/e2e/support/helpers/route-assertions.ts:8:3)
|
||||
at [checkout]/packages/app/e2e/support/helpers/new-workspace-navigation.ts:128:7
|
||||
at TestStepInfoImpl._runStepBody ([checkout]/node_modules/playwright/lib/worker/testInfo.js:506:14)
|
||||
at [checkout]/node_modules/playwright/lib/common/testType.js:245:20
|
||||
at [checkout]/node_modules/playwright/lib/common/testType.js:243:18
|
||||
at TestTypeImpl._step ([checkout]/node_modules/playwright/lib/common/testType.js:240:12)
|
||||
at verifyDelayedWorkspaceCreation ([checkout]/packages/app/e2e/support/helpers/new-workspace-navigation.ts:112:5)
|
||||
at [checkout]/packages/app/e2e/browser/new-workspace-navigation-guard.spec.ts:12:7
|
||||
at [checkout]/node_modules/playwright/lib/worker/workerMain.js:323:9
|
||||
at [checkout]/node_modules/playwright/lib/worker/testInfo.js:320:11
|
||||
at TimeoutManager.withRunnable ([checkout]/node_modules/playwright/lib/worker/timeoutManager.js:67:14)
|
||||
at TestInfoImpl._runWithTimeout ([checkout]/node_modules/playwright/lib/worker/testInfo.js:318:7)
|
||||
at [checkout]/node_modules/playwright/lib/worker/workerMain.js:321:7
|
||||
at WorkerMain._runTest ([checkout]/node_modules/playwright/lib/worker/workerMain.js:296:5)
|
||||
at WorkerMain.runTestGroup ([checkout]/node_modules/playwright/lib/worker/workerMain.js:196:11)
|
||||
at process.<anonymous> ([checkout]/node_modules/playwright/lib/common/process.js:72:22) {
|
||||
[Symbol(step)]: {
|
||||
category: 'expect',
|
||||
apiName: 'expect.poll .toBe',
|
||||
title: 'Expect "poll toBe"',
|
||||
shortTitle: 'Expect "poll toBe"',
|
||||
params: { expected: '/h/srv_e2e_worker_1/workspace/wks_2685c8a535a75a09' },
|
||||
infectParentStepsWithError: undefined,
|
||||
stepId: 'expect@198',
|
||||
group: undefined,
|
||||
boxedStack: undefined,
|
||||
location: {
|
||||
file: '[checkout]/packages/app/e2e/support/helpers/route-assertions.ts',
|
||||
line: 16,
|
||||
column: 6,
|
||||
function: 'expectAppRoute'
|
||||
},
|
||||
steps: [
|
||||
[Object], [Object],
|
||||
[Object], [Object],
|
||||
[Object], [Object],
|
||||
[Object], [Object],
|
||||
[Object], [Object],
|
||||
[Object], [Object],
|
||||
[Object]
|
||||
],
|
||||
attachmentIndices: [],
|
||||
info: TestStepInfoImpl {
|
||||
annotations: [],
|
||||
_testInfo: [TestInfoImpl],
|
||||
_stepId: 'expect@198',
|
||||
_title: 'Expect "poll toBe"',
|
||||
_parentStep: [TestStepInfoImpl],
|
||||
skip: [Function (anonymous)]
|
||||
},
|
||||
complete: [Function: complete],
|
||||
endWallTime: 1788972801584,
|
||||
error: {
|
||||
message: 'Error: \x1B[2mexpect(\x1B[22m\x1B[31mreceived\x1B[39m\x1B[2m).\x1B[22mtoBe\x1B[2m(\x1B[22m\x1B[32mexpected\x1B[39m\x1B[2m) // Object.is equality\x1B[22m\n' +
|
||||
'\n' +
|
||||
'Expected: \x1B[32m"/h/srv_e2e_worker_1/workspace/wks_\x1B[7m2685c8a535a75a09\x1B[27m"\x1B[39m\n' +
|
||||
'Received: \x1B[31m"/h/srv_e2e_worker_1/workspace/wks_\x1B[7m9b35d52930eaaba6\x1B[27m"\x1B[39m\n' +
|
||||
'\n' +
|
||||
'Call Log:\n' +
|
||||
'- Timeout 10000ms exceeded while waiting on the predicate',
|
||||
stack: 'Error: \x1B[2mexpect(\x1B[22m\x1B[31mreceived\x1B[39m\x1B[2m).\x1B[22mtoBe\x1B[2m(\x1B[22m\x1B[32mexpected\x1B[39m\x1B[2m) // Object.is equality\x1B[22m\n' +
|
||||
'\n' +
|
||||
'Expected: \x1B[32m"/h/srv_e2e_worker_1/workspace/wks_\x1B[7m2685c8a535a75a09\x1B[27m"\x1B[39m\n' +
|
||||
'Received: \x1B[31m"/h/srv_e2e_worker_1/workspace/wks_\x1B[7m9b35d52930eaaba6\x1B[27m"\x1B[39m\n' +
|
||||
'\n' +
|
||||
'Call Log:\n' +
|
||||
'- Timeout 10000ms exceeded while waiting on the predicate\n' +
|
||||
' at expectAppRoute ([checkout]/packages/app/e2e/support/helpers/route-assertions.ts:8:3)\n' +
|
||||
' at [checkout]/packages/app/e2e/support/helpers/new-workspace-navigation.ts:128:7\n' +
|
||||
' at verifyDelayedWorkspaceCreation ([checkout]/packages/app/e2e/support/helpers/new-workspace-navigation.ts:112:5)\n' +
|
||||
' at [checkout]/packages/app/e2e/browser/new-workspace-navigation-guard.spec.ts:12:7',
|
||||
cause: undefined
|
||||
}
|
||||
}
|
||||
}
|
||||
[e2e] Worker 1 daemon stopped
|
||||
✘ 2 [browser] › e2e/browser/new-workspace-navigation-guard.spec.ts:11:9 › Delayed workspace creation › worktree terminal: keeps the workspace chosen during creation (21.1s)
|
||||
(node:1746063) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
(Use `node --trace-warnings ...` to show where the warning was created)
|
||||
(node:1746063) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
(Use `node --trace-warnings ...` to show where the warning was created)
|
||||
[e2e] Worker 2 daemon started on port 43559, home: [checkout]/.dev/qa-2986/worktree-before/worker-2
|
||||
[metro] Web packages/app/index.ts ░░░░░░░░░░░░░░░░ 0.0% (0/1)
|
||||
[metro] Web Bundled 161ms packages/app/index.ts (1 module)
|
||||
[metro] Web Bundled 4ms packages/app/src/attachments/web/indexeddb-attachment-store.ts (1 module)
|
||||
[metro] LOG [web] Logs will appear in the browser console
|
||||
Error: expect(received).toBe(expected) // Object.is equality
|
||||
|
||||
Expected: "/h/srv_e2e_worker_2/workspace/wks_412333da4804914d"
|
||||
Received: "/h/srv_e2e_worker_2/workspace/wks_23adbe2b7c4344f4"
|
||||
|
||||
Call Log:
|
||||
- Timeout 10000ms exceeded while waiting on the predicate
|
||||
at pollMatcher ([checkout]/node_modules/playwright/lib/matchers/expect.js:293:11)
|
||||
at expectAppRoute ([checkout]/packages/app/e2e/support/helpers/route-assertions.ts:8:3)
|
||||
at [checkout]/packages/app/e2e/support/helpers/new-workspace-navigation.ts:128:7
|
||||
at TestStepInfoImpl._runStepBody ([checkout]/node_modules/playwright/lib/worker/testInfo.js:506:14)
|
||||
at [checkout]/node_modules/playwright/lib/common/testType.js:245:20
|
||||
at [checkout]/node_modules/playwright/lib/common/testType.js:243:18
|
||||
at TestTypeImpl._step ([checkout]/node_modules/playwright/lib/common/testType.js:240:12)
|
||||
at verifyDelayedWorkspaceCreation ([checkout]/packages/app/e2e/support/helpers/new-workspace-navigation.ts:112:5)
|
||||
at [checkout]/packages/app/e2e/browser/new-workspace-navigation-guard.spec.ts:12:7
|
||||
at [checkout]/node_modules/playwright/lib/worker/workerMain.js:323:9
|
||||
at [checkout]/node_modules/playwright/lib/worker/testInfo.js:320:11
|
||||
at TimeoutManager.withRunnable ([checkout]/node_modules/playwright/lib/worker/timeoutManager.js:67:14)
|
||||
at TestInfoImpl._runWithTimeout ([checkout]/node_modules/playwright/lib/worker/testInfo.js:318:7)
|
||||
at [checkout]/node_modules/playwright/lib/worker/workerMain.js:321:7
|
||||
at WorkerMain._runTest ([checkout]/node_modules/playwright/lib/worker/workerMain.js:296:5)
|
||||
at WorkerMain.runTestGroup ([checkout]/node_modules/playwright/lib/worker/workerMain.js:196:11)
|
||||
at process.<anonymous> ([checkout]/node_modules/playwright/lib/common/process.js:72:22) {
|
||||
[Symbol(step)]: {
|
||||
category: 'expect',
|
||||
apiName: 'expect.poll .toBe',
|
||||
title: 'Expect "poll toBe"',
|
||||
shortTitle: 'Expect "poll toBe"',
|
||||
params: { expected: '/h/srv_e2e_worker_2/workspace/wks_412333da4804914d' },
|
||||
infectParentStepsWithError: undefined,
|
||||
stepId: 'expect@189',
|
||||
group: undefined,
|
||||
boxedStack: undefined,
|
||||
location: {
|
||||
file: '[checkout]/packages/app/e2e/support/helpers/route-assertions.ts',
|
||||
line: 16,
|
||||
column: 6,
|
||||
function: 'expectAppRoute'
|
||||
},
|
||||
steps: [
|
||||
[Object], [Object],
|
||||
[Object], [Object],
|
||||
[Object], [Object],
|
||||
[Object], [Object],
|
||||
[Object], [Object],
|
||||
[Object], [Object],
|
||||
[Object]
|
||||
],
|
||||
attachmentIndices: [],
|
||||
info: TestStepInfoImpl {
|
||||
annotations: [],
|
||||
_testInfo: [TestInfoImpl],
|
||||
_stepId: 'expect@189',
|
||||
_title: 'Expect "poll toBe"',
|
||||
_parentStep: [TestStepInfoImpl],
|
||||
skip: [Function (anonymous)]
|
||||
},
|
||||
complete: [Function: complete],
|
||||
endWallTime: 1788972824859,
|
||||
error: {
|
||||
message: 'Error: \x1B[2mexpect(\x1B[22m\x1B[31mreceived\x1B[39m\x1B[2m).\x1B[22mtoBe\x1B[2m(\x1B[22m\x1B[32mexpected\x1B[39m\x1B[2m) // Object.is equality\x1B[22m\n' +
|
||||
'\n' +
|
||||
'Expected: \x1B[32m"/h/srv_e2e_worker_2/workspace/wks_\x1B[7m412333da4804914d\x1B[27m"\x1B[39m\n' +
|
||||
'Received: \x1B[31m"/h/srv_e2e_worker_2/workspace/wks_\x1B[7m23adbe2b7c4344f4\x1B[27m"\x1B[39m\n' +
|
||||
'\n' +
|
||||
'Call Log:\n' +
|
||||
'- Timeout 10000ms exceeded while waiting on the predicate',
|
||||
stack: 'Error: \x1B[2mexpect(\x1B[22m\x1B[31mreceived\x1B[39m\x1B[2m).\x1B[22mtoBe\x1B[2m(\x1B[22m\x1B[32mexpected\x1B[39m\x1B[2m) // Object.is equality\x1B[22m\n' +
|
||||
'\n' +
|
||||
'Expected: \x1B[32m"/h/srv_e2e_worker_2/workspace/wks_\x1B[7m412333da4804914d\x1B[27m"\x1B[39m\n' +
|
||||
'Received: \x1B[31m"/h/srv_e2e_worker_2/workspace/wks_\x1B[7m23adbe2b7c4344f4\x1B[27m"\x1B[39m\n' +
|
||||
'\n' +
|
||||
'Call Log:\n' +
|
||||
'- Timeout 10000ms exceeded while waiting on the predicate\n' +
|
||||
' at expectAppRoute ([checkout]/packages/app/e2e/support/helpers/route-assertions.ts:8:3)\n' +
|
||||
' at [checkout]/packages/app/e2e/support/helpers/new-workspace-navigation.ts:128:7\n' +
|
||||
' at verifyDelayedWorkspaceCreation ([checkout]/packages/app/e2e/support/helpers/new-workspace-navigation.ts:112:5)\n' +
|
||||
' at [checkout]/packages/app/e2e/browser/new-workspace-navigation-guard.spec.ts:12:7',
|
||||
cause: undefined
|
||||
}
|
||||
}
|
||||
}
|
||||
[e2e] Worker 2 daemon stopped
|
||||
✘ 3 [browser] › e2e/browser/new-workspace-navigation-guard.spec.ts:11:9 › Delayed workspace creation › worktree empty: keeps the workspace chosen during creation (20.3s)
|
||||
[e2e] Metro stopped
|
||||
|
||||
|
||||
1) [browser] › e2e/browser/new-workspace-navigation-guard.spec.ts:11:9 › Delayed workspace creation › worktree chat: keeps the workspace chosen during creation › Completion creates exactly the requested resource and preserves focus
|
||||
|
||||
Error: expect(received).toBe(expected) // Object.is equality
|
||||
|
||||
Expected: "/h/srv_e2e_worker_0/workspace/wks_fe50c0d38c63297c"
|
||||
Received: "/h/srv_e2e_worker_0/workspace/wks_d5397a0bda5853b8"
|
||||
|
||||
Call Log:
|
||||
- Timeout 10000ms exceeded while waiting on the predicate
|
||||
|
||||
at ../support/helpers/route-assertions.ts:8
|
||||
|
||||
6 | options?: { timeout?: number },
|
||||
7 | ): Promise<void> {
|
||||
> 8 | await expect
|
||||
| ^
|
||||
9 | .poll(
|
||||
10 | () => {
|
||||
11 | const current = new URL(page.url());
|
||||
at expectAppRoute ([checkout]/packages/app/e2e/support/helpers/route-assertions.ts:8:3)
|
||||
at [checkout]/packages/app/e2e/support/helpers/new-workspace-navigation.ts:128:7
|
||||
at verifyDelayedWorkspaceCreation ([checkout]/packages/app/e2e/support/helpers/new-workspace-navigation.ts:112:5)
|
||||
at [checkout]/packages/app/e2e/browser/new-workspace-navigation-guard.spec.ts:12:7
|
||||
|
||||
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
|
||||
../../.dev/qa-2986/worktree-before-results/new-workspace-navigation-g-250d7-pace-chosen-during-creation-browser/test-failed-1.png
|
||||
────────────────────────────────────────────────────────────────────────────────────────────────
|
||||
|
||||
attachment #2: browser-console (text/plain) ────────────────────────────────────────────────────
|
||||
[console:info] %cDownload the React DevTools for a better development experience: https://react.dev/link/react-devtools font-weight:bold
|
||||
[console:log] Running application "main" with appParams:
|
||||
{rootTag: #root, hydrate: undefined}
|
||||
Development-level warnings: ON.
|
||||
Performance optimizations: OFF.
|
||||
[co...
|
||||
────────────────────────────────────────────────────────────────────────────────────────────────
|
||||
|
||||
attachment #3: video (video/webm) ──────────────────────────────────────────────────────────────
|
||||
../../.dev/qa-2986/worktree-before-results/new-workspace-navigation-g-250d7-pace-chosen-during-creation-browser/video.webm
|
||||
────────────────────────────────────────────────────────────────────────────────────────────────
|
||||
|
||||
Error Context: ../../.dev/qa-2986/worktree-before-results/new-workspace-navigation-g-250d7-pace-chosen-during-creation-browser/error-context.md
|
||||
|
||||
2) [browser] › e2e/browser/new-workspace-navigation-guard.spec.ts:11:9 › Delayed workspace creation › worktree terminal: keeps the workspace chosen during creation › Completion creates exactly the requested resource and preserves focus
|
||||
|
||||
Error: expect(received).toBe(expected) // Object.is equality
|
||||
|
||||
Expected: "/h/srv_e2e_worker_1/workspace/wks_2685c8a535a75a09"
|
||||
Received: "/h/srv_e2e_worker_1/workspace/wks_9b35d52930eaaba6"
|
||||
|
||||
Call Log:
|
||||
- Timeout 10000ms exceeded while waiting on the predicate
|
||||
|
||||
at ../support/helpers/route-assertions.ts:8
|
||||
|
||||
6 | options?: { timeout?: number },
|
||||
7 | ): Promise<void> {
|
||||
> 8 | await expect
|
||||
| ^
|
||||
9 | .poll(
|
||||
10 | () => {
|
||||
11 | const current = new URL(page.url());
|
||||
at expectAppRoute ([checkout]/packages/app/e2e/support/helpers/route-assertions.ts:8:3)
|
||||
at [checkout]/packages/app/e2e/support/helpers/new-workspace-navigation.ts:128:7
|
||||
at verifyDelayedWorkspaceCreation ([checkout]/packages/app/e2e/support/helpers/new-workspace-navigation.ts:112:5)
|
||||
at [checkout]/packages/app/e2e/browser/new-workspace-navigation-guard.spec.ts:12:7
|
||||
|
||||
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
|
||||
../../.dev/qa-2986/worktree-before-results/new-workspace-navigation-g-73049-pace-chosen-during-creation-browser/test-failed-1.png
|
||||
────────────────────────────────────────────────────────────────────────────────────────────────
|
||||
|
||||
attachment #2: browser-console (text/plain) ────────────────────────────────────────────────────
|
||||
[console:info] %cDownload the React DevTools for a better development experience: https://react.dev/link/react-devtools font-weight:bold
|
||||
[console:log] Running application "main" with appParams:
|
||||
{rootTag: #root, hydrate: undefined}
|
||||
Development-level warnings: ON.
|
||||
Performance optimizations: OFF.
|
||||
[co...
|
||||
────────────────────────────────────────────────────────────────────────────────────────────────
|
||||
|
||||
attachment #3: video (video/webm) ──────────────────────────────────────────────────────────────
|
||||
../../.dev/qa-2986/worktree-before-results/new-workspace-navigation-g-73049-pace-chosen-during-creation-browser/video.webm
|
||||
────────────────────────────────────────────────────────────────────────────────────────────────
|
||||
|
||||
Error Context: ../../.dev/qa-2986/worktree-before-results/new-workspace-navigation-g-73049-pace-chosen-during-creation-browser/error-context.md
|
||||
|
||||
3) [browser] › e2e/browser/new-workspace-navigation-guard.spec.ts:11:9 › Delayed workspace creation › worktree empty: keeps the workspace chosen during creation › Completion creates exactly the requested resource and preserves focus
|
||||
|
||||
Error: expect(received).toBe(expected) // Object.is equality
|
||||
|
||||
Expected: "/h/srv_e2e_worker_2/workspace/wks_412333da4804914d"
|
||||
Received: "/h/srv_e2e_worker_2/workspace/wks_23adbe2b7c4344f4"
|
||||
|
||||
Call Log:
|
||||
- Timeout 10000ms exceeded while waiting on the predicate
|
||||
|
||||
at ../support/helpers/route-assertions.ts:8
|
||||
|
||||
6 | options?: { timeout?: number },
|
||||
7 | ): Promise<void> {
|
||||
> 8 | await expect
|
||||
| ^
|
||||
9 | .poll(
|
||||
10 | () => {
|
||||
11 | const current = new URL(page.url());
|
||||
at expectAppRoute ([checkout]/packages/app/e2e/support/helpers/route-assertions.ts:8:3)
|
||||
at [checkout]/packages/app/e2e/support/helpers/new-workspace-navigation.ts:128:7
|
||||
at verifyDelayedWorkspaceCreation ([checkout]/packages/app/e2e/support/helpers/new-workspace-navigation.ts:112:5)
|
||||
at [checkout]/packages/app/e2e/browser/new-workspace-navigation-guard.spec.ts:12:7
|
||||
|
||||
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
|
||||
../../.dev/qa-2986/worktree-before-results/new-workspace-navigation-g-50515-pace-chosen-during-creation-browser/test-failed-1.png
|
||||
────────────────────────────────────────────────────────────────────────────────────────────────
|
||||
|
||||
attachment #2: browser-console (text/plain) ────────────────────────────────────────────────────
|
||||
[console:info] %cDownload the React DevTools for a better development experience: https://react.dev/link/react-devtools font-weight:bold
|
||||
[console:log] Running application "main" with appParams:
|
||||
{rootTag: #root, hydrate: undefined}
|
||||
Development-level warnings: ON.
|
||||
Performance optimizations: OFF.
|
||||
[co...
|
||||
────────────────────────────────────────────────────────────────────────────────────────────────
|
||||
|
||||
attachment #3: video (video/webm) ──────────────────────────────────────────────────────────────
|
||||
../../.dev/qa-2986/worktree-before-results/new-workspace-navigation-g-50515-pace-chosen-during-creation-browser/video.webm
|
||||
────────────────────────────────────────────────────────────────────────────────────────────────
|
||||
|
||||
Error Context: ../../.dev/qa-2986/worktree-before-results/new-workspace-navigation-g-50515-pace-chosen-during-creation-browser/error-context.md
|
||||
|
||||
3 failed
|
||||
[browser] › e2e/browser/new-workspace-navigation-guard.spec.ts:11:9 › Delayed workspace creation › worktree chat: keeps the workspace chosen during creation
|
||||
[browser] › e2e/browser/new-workspace-navigation-guard.spec.ts:11:9 › Delayed workspace creation › worktree terminal: keeps the workspace chosen during creation
|
||||
[browser] › e2e/browser/new-workspace-navigation-guard.spec.ts:11:9 › Delayed workspace creation › worktree empty: keeps the workspace chosen during creation
|
||||
npm error Lifecycle script `test:e2e` failed with error:
|
||||
npm error code 1
|
||||
npm error path [checkout]/packages/app
|
||||
npm error workspace @getpaseo/app@0.8.0-beta.1
|
||||
npm error location [checkout]/packages/app
|
||||
npm error command failed
|
||||
npm error command sh -c playwright test --project=browser e2e/browser/new-workspace-navigation-guard.spec.ts --grep 'worktree ' --retries=0 --output=../../.dev/qa-2986/worktree-before-results
|
||||
|
Before Width: | Height: | Size: 186 KiB |
|
Before Width: | Height: | Size: 189 KiB |
|
Before Width: | Height: | Size: 187 KiB |
|
Before Width: | Height: | Size: 186 KiB |
|
Before Width: | Height: | Size: 175 KiB |
|
Before Width: | Height: | Size: 83 KiB |
|
Before Width: | Height: | Size: 222 KiB |
|
Before Width: | Height: | Size: 253 KiB |
|
Before Width: | Height: | Size: 254 KiB |
|
Before Width: | Height: | Size: 173 KiB |
|
Before Width: | Height: | Size: 156 KiB |
@@ -0,0 +1,85 @@
|
||||
|
||||
> @getpaseo/app@0.8.0-beta.1 test:e2e
|
||||
> playwright test --project=browser e2e/browser/new-workspace-navigation-guard.spec.ts --retries=0 --output=../../.dev/qa-2986/context-fix-results
|
||||
|
||||
(node:2099649) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
(Use `node --trace-warnings ...` to show where the warning was created)
|
||||
(node:2099649) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
(Use `node --trace-warnings ...` to show where the warning was created)
|
||||
[metro] (node:2100598) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
[metro] (Use `node --trace-warnings ...` to show where the warning was created)
|
||||
[metro] Starting project at <checkout>/packages/app
|
||||
[metro] Using src/app as the root directory for Expo Router.
|
||||
[metro] Experimental Expo Autolinking module resolver is enabled.
|
||||
[metro] React Compiler enabled
|
||||
[metro] Metro is running in CI mode, reloads are disabled. Remove CI=true to enable watch mode.
|
||||
[metro] Starting Metro Bundler
|
||||
[metro] Waiting on http://localhost:45237
|
||||
[metro] Logs for your project will appear below.
|
||||
[metro] | (node:2102687) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
[metro] | (Use `node --trace-warnings ...` to show where the warning was created)
|
||||
[metro] Web packages/app/index.ts ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░ 97.6% (5002/5062)
|
||||
[metro] Web Bundled 2609ms packages/app/index.ts (5129 modules)
|
||||
[e2e] Metro warmed on port 45237
|
||||
|
||||
Running 10 tests using 1 worker
|
||||
|
||||
(node:2104797) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
(Use `node --trace-warnings ...` to show where the warning was created)
|
||||
(node:2104797) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
(Use `node --trace-warnings ...` to show where the warning was created)
|
||||
[e2e] Worker 0 daemon started on port 38113, home: <checkout>/.dev/qa-2986/context-fix/worker-0
|
||||
[metro] Web packages/app/index.ts ░░░░░░░░░░░░░░░░ 0.0% (0/1)
|
||||
[metro] Web Bundled 175ms packages/app/index.ts (1 module)
|
||||
[metro] LOG [web] Logs will appear in the browser console
|
||||
[metro] Web Bundled 52ms packages/app/src/attachments/web/indexeddb-attachment-store.ts (1 module)
|
||||
✓ 1 [browser] › e2e/browser/new-workspace-navigation-guard.spec.ts:8:9 › Delayed workspace creation › chat: keeps the workspace chosen during creation (14.4s)
|
||||
[metro] Web packages/app/index.ts ░░░░░░░░░░░░░░░░ 0.0% (0/1)
|
||||
[metro] Web Bundled 192ms packages/app/index.ts (1 module)
|
||||
[metro] Web Bundled 5ms packages/app/src/attachments/web/indexeddb-attachment-store.ts (1 module)
|
||||
[metro] LOG [web] Logs will appear in the browser console
|
||||
✓ 2 [browser] › e2e/browser/new-workspace-navigation-guard.spec.ts:11:9 › Delayed workspace creation › worktree chat: keeps the workspace chosen during creation (14.3s)
|
||||
[metro] Web packages/app/index.ts ░░░░░░░░░░░░░░░░ 0.0% (0/1)
|
||||
[metro] Web Bundled 192ms packages/app/index.ts (1 module)
|
||||
[metro] Web Bundled 11ms packages/app/src/attachments/web/indexeddb-attachment-store.ts (1 module)
|
||||
[metro] LOG [web] Logs will appear in the browser console
|
||||
✓ 3 [browser] › e2e/browser/new-workspace-navigation-guard.spec.ts:14:9 › Delayed workspace creation › chat: opens the created workspace when the user stays (13.7s)
|
||||
[metro] Web packages/app/index.ts ░░░░░░░░░░░░░░░░ 0.0% (0/1)
|
||||
[metro] Web Bundled 343ms packages/app/index.ts (1 module)
|
||||
[metro] Web Bundled 6ms packages/app/src/attachments/web/indexeddb-attachment-store.ts (1 module)
|
||||
[metro] LOG [web] Logs will appear in the browser console
|
||||
✓ 4 [browser] › e2e/browser/new-workspace-navigation-guard.spec.ts:8:9 › Delayed workspace creation › terminal: keeps the workspace chosen during creation (15.4s)
|
||||
[metro] Web packages/app/index.ts ░░░░░░░░░░░░░░░░ 0.0% (0/1)
|
||||
[metro] Web Bundled 230ms packages/app/index.ts (1 module)
|
||||
[metro] Web Bundled 7ms packages/app/src/attachments/web/indexeddb-attachment-store.ts (1 module)
|
||||
[metro] LOG [web] Logs will appear in the browser console
|
||||
✓ 5 [browser] › e2e/browser/new-workspace-navigation-guard.spec.ts:11:9 › Delayed workspace creation › worktree terminal: keeps the workspace chosen during creation (14.0s)
|
||||
[metro] Web packages/app/index.ts ░░░░░░░░░░░░░░░░ 0.0% (0/1)
|
||||
[metro] Web Bundled 171ms packages/app/index.ts (1 module)
|
||||
[metro] Web Bundled 5ms packages/app/src/attachments/web/indexeddb-attachment-store.ts (1 module)
|
||||
[metro] LOG [web] Logs will appear in the browser console
|
||||
✓ 6 [browser] › e2e/browser/new-workspace-navigation-guard.spec.ts:14:9 › Delayed workspace creation › terminal: opens the created workspace when the user stays (12.6s)
|
||||
[metro] Web packages/app/index.ts ░░░░░░░░░░░░░░░░ 0.0% (0/1)
|
||||
[metro] Web Bundled 214ms packages/app/index.ts (1 module)
|
||||
[metro] Web Bundled 8ms packages/app/src/attachments/web/indexeddb-attachment-store.ts (1 module)
|
||||
[metro] LOG [web] Logs will appear in the browser console
|
||||
✓ 7 [browser] › e2e/browser/new-workspace-navigation-guard.spec.ts:8:9 › Delayed workspace creation › empty: keeps the workspace chosen during creation (13.4s)
|
||||
[metro] Web packages/app/index.ts ░░░░░░░░░░░░░░░░ 0.0% (0/1)
|
||||
[metro] Web Bundled 225ms packages/app/index.ts (1 module)
|
||||
[metro] Web Bundled 7ms packages/app/src/attachments/web/indexeddb-attachment-store.ts (1 module)
|
||||
[metro] LOG [web] Logs will appear in the browser console
|
||||
✓ 8 [browser] › e2e/browser/new-workspace-navigation-guard.spec.ts:11:9 › Delayed workspace creation › worktree empty: keeps the workspace chosen during creation (13.7s)
|
||||
[metro] Web packages/app/index.ts ░░░░░░░░░░░░░░░░ 0.0% (0/1)
|
||||
[metro] Web Bundled 179ms packages/app/index.ts (1 module)
|
||||
[metro] Web Bundled 5ms packages/app/src/attachments/web/indexeddb-attachment-store.ts (1 module)
|
||||
[metro] LOG [web] Logs will appear in the browser console
|
||||
✓ 9 [browser] › e2e/browser/new-workspace-navigation-guard.spec.ts:14:9 › Delayed workspace creation › empty: opens the created workspace when the user stays (12.9s)
|
||||
[metro] Web packages/app/index.ts ░░░░░░░░░░░░░░░░ 0.0% (0/1)
|
||||
[metro] Web Bundled 282ms packages/app/index.ts (1 module)
|
||||
[metro] Web Bundled 5ms packages/app/src/attachments/web/indexeddb-attachment-store.ts (1 module)
|
||||
[metro] LOG [web] Logs will appear in the browser console
|
||||
✓ 10 [browser] › e2e/browser/new-workspace-navigation-guard.spec.ts:19:7 › Delayed workspace creation › preserves a newer draft opened while creation is pending (15.9s)
|
||||
[e2e] Worker 0 daemon stopped
|
||||
[e2e] Metro stopped
|
||||
|
||||
10 passed (2.5m)
|
||||
@@ -1,39 +1,39 @@
|
||||
|
||||
> paseo@0.8.0 format
|
||||
> paseo@0.8.0-beta.1 format
|
||||
> oxfmt .
|
||||
|
||||
(node:3389721) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
(node:2132879) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
(Use `node --trace-warnings ...` to show where the warning was created)
|
||||
(node:3389855) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
(node:2132992) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
(Use `node --trace-warnings ...` to show where the warning was created)
|
||||
(node:3389870) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
(node:2132926) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
(Use `node --trace-warnings ...` to show where the warning was created)
|
||||
(node:3389809) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
(node:2133009) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
(Use `node --trace-warnings ...` to show where the warning was created)
|
||||
(node:3389852) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
(node:2132958) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
(Use `node --trace-warnings ...` to show where the warning was created)
|
||||
(node:3389802) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
(node:2132952) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
(Use `node --trace-warnings ...` to show where the warning was created)
|
||||
(node:3389796) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
(node:2132991) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
(Use `node --trace-warnings ...` to show where the warning was created)
|
||||
(node:3389790) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
(node:2132920) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
(Use `node --trace-warnings ...` to show where the warning was created)
|
||||
(node:3389863) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
(node:2132939) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
(Use `node --trace-warnings ...` to show where the warning was created)
|
||||
(node:3389864) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
(node:2132928) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
(Use `node --trace-warnings ...` to show where the warning was created)
|
||||
(node:3389777) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
(node:2132986) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
(Use `node --trace-warnings ...` to show where the warning was created)
|
||||
(node:3389856) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
(node:2132927) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
(Use `node --trace-warnings ...` to show where the warning was created)
|
||||
(node:3389776) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
(node:2132945) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
(Use `node --trace-warnings ...` to show where the warning was created)
|
||||
(node:3389817) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
(node:2133003) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
(Use `node --trace-warnings ...` to show where the warning was created)
|
||||
(node:3389783) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
(node:2132990) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
(Use `node --trace-warnings ...` to show where the warning was created)
|
||||
(node:3389784) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
(node:2132965) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
(Use `node --trace-warnings ...` to show where the warning was created)
|
||||
(node:3389826) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
(node:2132919) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
(Use `node --trace-warnings ...` to show where the warning was created)
|
||||
Finished in 1520ms on 4547 files using 16 threads.
|
||||
Finished in 1933ms on 4424 files using 16 threads.
|
||||
@@ -0,0 +1,17 @@
|
||||
|
||||
> @getpaseo/app@0.8.0-beta.1 test
|
||||
> vitest run src/screens/new-workspace/background-handoff.test.ts --bail=1
|
||||
|
||||
(node:2135683) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
(Use `node --trace-warnings ...` to show where the warning was created)
|
||||
|
||||
RUN v4.1.7 <checkout>/packages/app
|
||||
|
||||
(node:2135794) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
(Use `node --trace-warnings ...` to show where the warning was created)
|
||||
|
||||
Test Files 1 passed (1)
|
||||
Tests 7 passed (7)
|
||||
Start at 19:13:25
|
||||
Duration 1.22s (transform 773ms, setup 33ms, import 1.07s, tests 8ms, environment 0ms)
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
|
||||
> paseo@0.8.0-beta.1 lint
|
||||
> oxlint
|
||||
|
||||
Found 0 warnings and 0 errors.
|
||||
Finished in 1.3s on 4146 files with 177 rules using 16 threads.
|
||||
@@ -0,0 +1,54 @@
|
||||
|
||||
> @getpaseo/app@0.8.0-beta.1 test
|
||||
> vitest run src/screens/new-workspace/background-handoff.baseline.test.ts --bail=1
|
||||
|
||||
(node:2177266) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
(Use `node --trace-warnings ...` to show where the warning was created)
|
||||
|
||||
RUN v4.1.7 <checkout>/packages/app
|
||||
|
||||
(node:2177513) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
(Use `node --trace-warnings ...` to show where the warning was created)
|
||||
stderr | src/screens/new-workspace/background-handoff.baseline.test.ts
|
||||
[DraftStore] Failed to persist draft checkpoint ReferenceError: window is not defined
|
||||
at <checkout>/node_modules/@react-native-async-storage/async-storage/lib/commonjs/AsyncStorage.js:69:52
|
||||
at <checkout>/node_modules/@react-native-async-storage/async-storage/lib/commonjs/AsyncStorage.js:39:21
|
||||
at new Promise (<anonymous>)
|
||||
at createPromise (<checkout>/node_modules/@react-native-async-storage/async-storage/lib/commonjs/AsyncStorage.js:37:10)
|
||||
at Object.setItem (<checkout>/node_modules/@react-native-async-storage/async-storage/lib/commonjs/AsyncStorage.js:69:12)
|
||||
at Object.setItem (<checkout>/packages/app/src/storage/validated-persist-storage.ts:39:28)
|
||||
at flush (<checkout>/packages/app/src/stores/draft-store/persistence.ts:73:21)
|
||||
at Object.setItem (<checkout>/packages/app/src/stores/draft-store/persistence.ts:85:16)
|
||||
at setItem (<checkout>/node_modules/zustand/esm/middleware.mjs:358:20)
|
||||
at Function.api.setState (<checkout>/node_modules/zustand/esm/middleware.mjs:366:12)
|
||||
|
||||
❯ |unit| src/screens/new-workspace/background-handoff.baseline.test.ts (1 test | 1 failed) 7ms
|
||||
× preserves context added to a newer draft without editing its text 3ms
|
||||
|
||||
⎯⎯⎯⎯⎯⎯⎯ Failed Tests 1 ⎯⎯⎯⎯⎯⎯⎯
|
||||
|
||||
FAIL |unit| src/screens/new-workspace/background-handoff.baseline.test.ts > createWorkspaceAgentInBackground > preserves context added to a newer draft without editing its text
|
||||
AssertionError: Target cannot be null or undefined.
|
||||
❯ src/screens/new-workspace/background-handoff.baseline.test.ts:70:83
|
||||
68| });
|
||||
69| });
|
||||
70| expect(useWorkspaceAttachmentsStore.getState().attachmentsByScope[…
|
||||
| ^
|
||||
71| expect(useWorkspaceDraftSubmissionStore.getState().setupByDraftId[…
|
||||
72| "/work/new-repo",
|
||||
|
||||
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/1]⎯
|
||||
|
||||
|
||||
Test Files 1 failed (1)
|
||||
Tests 1 failed (1)
|
||||
Start at 19:14:12
|
||||
Duration 1.14s (transform 716ms, setup 40ms, import 996ms, tests 7ms, environment 0ms)
|
||||
|
||||
npm error Lifecycle script `test` failed with error:
|
||||
npm error code 1
|
||||
npm error path <checkout>/packages/app
|
||||
npm error workspace @getpaseo/app@0.8.0-beta.1
|
||||
npm error location <checkout>/packages/app
|
||||
npm error command failed
|
||||
npm error command sh -c vitest run src/screens/new-workspace/background-handoff.baseline.test.ts --bail=1
|
||||
@@ -0,0 +1,59 @@
|
||||
|
||||
> paseo@0.8.0-beta.1 typecheck
|
||||
> npm run typecheck --workspaces --if-present
|
||||
|
||||
|
||||
> @getpaseo/expo-two-way-audio@0.8.0-beta.1 typecheck
|
||||
> tsgo --noEmit
|
||||
|
||||
|
||||
> @getpaseo/highlight@0.8.0-beta.1 typecheck
|
||||
> tsgo --noEmit
|
||||
|
||||
|
||||
> @getpaseo/plugin@0.8.0-beta.1 typecheck
|
||||
> tsgo --noEmit && tsgo -p tsconfig.examples.json --noEmit
|
||||
|
||||
|
||||
> @getpaseo/protocol@0.8.0-beta.1 pretypecheck
|
||||
> npm run generate:validators
|
||||
|
||||
|
||||
> @getpaseo/protocol@0.8.0-beta.1 generate:validators
|
||||
> node scripts/generate-validation-aot.mjs
|
||||
|
||||
(node:2135571) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
(Use `node --trace-warnings ...` to show where the warning was created)
|
||||
generated src/generated/validation/ws-outbound.aot.ts from codegen/ws-outbound.compile.ts (WSOutboundMessageSchema)
|
||||
|
||||
> @getpaseo/protocol@0.8.0-beta.1 typecheck
|
||||
> tsgo --noEmit
|
||||
|
||||
|
||||
> @getpaseo/client@0.8.0-beta.1 typecheck
|
||||
> tsgo --noEmit
|
||||
|
||||
|
||||
> @getpaseo/server@0.8.0-beta.1 typecheck
|
||||
> tsgo -p tsconfig.server.typecheck.json --noEmit
|
||||
|
||||
|
||||
> @getpaseo/app@0.8.0-beta.1 typecheck
|
||||
> tsgo --noEmit
|
||||
|
||||
|
||||
> @getpaseo/relay@0.8.0-beta.1 typecheck
|
||||
> tsgo --noEmit
|
||||
|
||||
|
||||
> @getpaseo/website@0.8.0-beta.1 typecheck
|
||||
> tsgo --noEmit
|
||||
|
||||
|
||||
> @getpaseo/desktop@0.8.0-beta.1 typecheck
|
||||
> tsgo --noEmit -p tsconfig.json
|
||||
|
||||
|
||||
> @getpaseo/cli@0.8.0-beta.1 typecheck
|
||||
> tsgo --noEmit
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
|
||||
> @getpaseo/app@0.8.0-beta.1 test
|
||||
> vitest run src/screens/new-workspace/background-handoff.test.ts --bail=1
|
||||
|
||||
(node:1618667) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
(Use `node --trace-warnings ...` to show where the warning was created)
|
||||
|
||||
RUN v4.1.7 [checkout]/packages/app
|
||||
|
||||
(node:1618756) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
(Use `node --trace-warnings ...` to show where the warning was created)
|
||||
|
||||
Test Files 1 passed (1)
|
||||
Tests 5 passed (5)
|
||||
Start at 18:41:58
|
||||
Duration 745ms (transform 448ms, setup 26ms, import 640ms, tests 5ms, environment 0ms)
|
||||
|
||||
@@ -0,0 +1,60 @@
|
||||
|
||||
> @getpaseo/app@0.8.0-beta.1 test
|
||||
> vitest run src/screens/new-workspace/background-handoff.test.ts --bail=1
|
||||
|
||||
(node:1614854) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
(Use `node --trace-warnings ...` to show where the warning was created)
|
||||
|
||||
RUN v4.1.7 [checkout]/packages/app
|
||||
|
||||
(node:1614987) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
(Use `node --trace-warnings ...` to show where the warning was created)
|
||||
stderr | src/screens/new-workspace/background-handoff.test.ts
|
||||
[DraftStore] Failed to persist draft checkpoint ReferenceError: window is not defined
|
||||
at [checkout]/node_modules/@react-native-async-storage/async-storage/lib/commonjs/AsyncStorage.js:69:52
|
||||
at [checkout]/node_modules/@react-native-async-storage/async-storage/lib/commonjs/AsyncStorage.js:39:21
|
||||
at new Promise (<anonymous>)
|
||||
at createPromise ([checkout]/node_modules/@react-native-async-storage/async-storage/lib/commonjs/AsyncStorage.js:37:10)
|
||||
at Object.setItem ([checkout]/node_modules/@react-native-async-storage/async-storage/lib/commonjs/AsyncStorage.js:69:12)
|
||||
at Object.setItem ([checkout]/packages/app/src/storage/validated-persist-storage.ts:39:28)
|
||||
at flush ([checkout]/packages/app/src/stores/draft-store/persistence.ts:73:21)
|
||||
at Object.setItem ([checkout]/packages/app/src/stores/draft-store/persistence.ts:85:16)
|
||||
at setItem ([checkout]/node_modules/zustand/esm/middleware.mjs:358:20)
|
||||
at Function.api.setState ([checkout]/node_modules/zustand/esm/middleware.mjs:366:12)
|
||||
|
||||
❯ |unit| src/screens/new-workspace/background-handoff.test.ts (5 tests | 1 failed) 9ms
|
||||
× keeps a newer draft written while workspace creation was pending 2ms
|
||||
|
||||
⎯⎯⎯⎯⎯⎯⎯ Failed Tests 1 ⎯⎯⎯⎯⎯⎯⎯
|
||||
|
||||
FAIL |unit| src/screens/new-workspace/background-handoff.test.ts > createWorkspaceAgentInBackground > keeps a newer draft written while workspace creation was pending
|
||||
AssertionError: expected '' to be 'a newer workspace idea' // Object.is equality
|
||||
|
||||
- Expected
|
||||
+ Received
|
||||
|
||||
- a newer workspace idea
|
||||
|
||||
❯ src/screens/new-workspace/background-handoff.test.ts:95:25
|
||||
93| saveDraft("a newer workspace idea");
|
||||
94| await run(async () => undefined, submittedVersion);
|
||||
95| expect(draftText()).toBe("a newer workspace idea");
|
||||
| ^
|
||||
96| });
|
||||
97|
|
||||
|
||||
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/1]⎯
|
||||
|
||||
|
||||
Test Files 1 failed (1)
|
||||
Tests 1 failed | 4 passed (5)
|
||||
Start at 18:41:26
|
||||
Duration 897ms (transform 545ms, setup 34ms, import 771ms, tests 9ms, environment 0ms)
|
||||
|
||||
npm error Lifecycle script `test` failed with error:
|
||||
npm error code 1
|
||||
npm error path [checkout]/packages/app
|
||||
npm error workspace @getpaseo/app@0.8.0-beta.1
|
||||
npm error location [checkout]/packages/app
|
||||
npm error command failed
|
||||
npm error command sh -c vitest run src/screens/new-workspace/background-handoff.test.ts --bail=1
|
||||
|
After Width: | Height: | Size: 61 KiB |
@@ -0,0 +1,39 @@
|
||||
|
||||
> paseo@0.8.0-beta.1 format
|
||||
> oxfmt .
|
||||
|
||||
(node:1755746) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
(Use `node --trace-warnings ...` to show where the warning was created)
|
||||
(node:1755946) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
(Use `node --trace-warnings ...` to show where the warning was created)
|
||||
(node:1755924) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
(Use `node --trace-warnings ...` to show where the warning was created)
|
||||
(node:1755803) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
(Use `node --trace-warnings ...` to show where the warning was created)
|
||||
(node:1755920) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
(Use `node --trace-warnings ...` to show where the warning was created)
|
||||
(node:1755898) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
(Use `node --trace-warnings ...` to show where the warning was created)
|
||||
(node:1755891) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
(Use `node --trace-warnings ...` to show where the warning was created)
|
||||
(node:1755863) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
(Use `node --trace-warnings ...` to show where the warning was created)
|
||||
(node:1755837) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
(Use `node --trace-warnings ...` to show where the warning was created)
|
||||
(node:1755804) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
(Use `node --trace-warnings ...` to show where the warning was created)
|
||||
(node:1755927) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
(Use `node --trace-warnings ...` to show where the warning was created)
|
||||
(node:1755813) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
(Use `node --trace-warnings ...` to show where the warning was created)
|
||||
(node:1755935) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
(Use `node --trace-warnings ...` to show where the warning was created)
|
||||
(node:1755796) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
(Use `node --trace-warnings ...` to show where the warning was created)
|
||||
(node:1755834) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
(Use `node --trace-warnings ...` to show where the warning was created)
|
||||
(node:1755921) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
(Use `node --trace-warnings ...` to show where the warning was created)
|
||||
(node:1755797) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
(Use `node --trace-warnings ...` to show where the warning was created)
|
||||
Finished in 1734ms on 4424 files using 16 threads.
|
||||
|
Before Width: | Height: | Size: 43 KiB |
|
Before Width: | Height: | Size: 55 KiB |
|
Before Width: | Height: | Size: 55 KiB |
|
Before Width: | Height: | Size: 55 KiB |
|
Before Width: | Height: | Size: 55 KiB |
|
Before Width: | Height: | Size: 52 KiB |
|
Before Width: | Height: | Size: 52 KiB |
|
Before Width: | Height: | Size: 44 KiB |
|
Before Width: | Height: | Size: 38 KiB |
|
Before Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 37 KiB |
|
Before Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 37 KiB |
|
Before Width: | Height: | Size: 37 KiB |
|
Before Width: | Height: | Size: 29 KiB |
|
Before Width: | Height: | Size: 40 KiB |
|
Before Width: | Height: | Size: 42 KiB |
|
Before Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 36 KiB |
|
Before Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 36 KiB |
|
Before Width: | Height: | Size: 37 KiB |
|
Before Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 36 KiB |
|
Before Width: | Height: | Size: 44 KiB |
@@ -0,0 +1,6 @@
|
||||
|
||||
> paseo@0.8.0-beta.1 lint
|
||||
> oxlint
|
||||
|
||||
Found 0 warnings and 0 errors.
|
||||
Finished in 776ms on 4146 files with 177 rules using 16 threads.
|
||||
|
Before Width: | Height: | Size: 123 KiB |
|
Before Width: | Height: | Size: 67 KiB |
|
Before Width: | Height: | Size: 134 KiB |
|
Before Width: | Height: | Size: 132 KiB |
|
Before Width: | Height: | Size: 67 KiB |
|
Before Width: | Height: | Size: 126 KiB |
|
Before Width: | Height: | Size: 146 KiB |
|
Before Width: | Height: | Size: 233 KiB |
|
Before Width: | Height: | Size: 234 KiB |
@@ -0,0 +1,17 @@
|
||||
(node:1580156) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
(Use `node --trace-warnings ...` to show where the warning was created)
|
||||
(node:1580170) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
(Use `node --trace-warnings ...` to show where the warning was created)
|
||||
|
||||
RUN v4.1.7 [checkout]/packages/app
|
||||
|
||||
(node:1580206) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
(Use `node --trace-warnings ...` to show where the warning was created)
|
||||
(node:1580207) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
|
||||
(Use `node --trace-warnings ...` to show where the warning was created)
|
||||
|
||||
Test Files 2 passed (2)
|
||||
Tests 8 passed (8)
|
||||
Start at 18:36:11
|
||||
Duration 956ms (transform 632ms, setup 56ms, import 868ms, tests 7ms, environment 0ms)
|
||||
|
||||
@@ -1,101 +0,0 @@
|
||||
# Native composer scroll regression
|
||||
|
||||
Commit: `b5e63f716`, pushed to `fix/new-workspace-composer-dock`.
|
||||
|
||||
The dock's dismiss surface is now a sibling behind the content. No JS responder from the dock sits above a native scroll view. New workspace's decorative form containers pass through empty-space touches on iOS; its controls remain touch targets. The `ComposerDock` interface, header dismissal, keyboard drivers, sizing model, and flick classifier are unchanged.
|
||||
|
||||
## Red / green
|
||||
|
||||
The same native swipe on `b68767635` changed **0.00%** of stream pixels, both from the bottom and after returning there and waiting for the scrollbar to fade. The new `stream-moved` assertion failed both captures. With the fix it changed **23.89%** and **26.44%**. [Raw assertion output](red-green.log).
|
||||
|
||||
The assertion ignores the scrollbar rail and requires at least 1% of pixels in the stream region to differ by more than 8 RGB levels. The host scenario submits a 50-line fixture through each real host, waits for the selectable mock model's response to finish and for JS/scrollbars to become idle, swipes natively, returns to the bottom, waits, and swipes again. Draft and New workspace submissions naturally transition to their new chats. Existing assertions, thresholds, inputs and gestures are unchanged.
|
||||
|
||||
| Reproduction | Before native swipe | After native swipe |
|
||||
| --- | --- | --- |
|
||||
| Broken branch, idle at bottom |  |  |
|
||||
| Fixed branch, idle at bottom |  |  |
|
||||
|
||||
## Android
|
||||
|
||||
```sh
|
||||
PASEO_COMPOSER_KEYBOARD_DAEMON_HOST=127.0.0.1:6768 \
|
||||
PASEO_COMPOSER_KEYBOARD_DAEMON_HOME=/home/moboudra/dev/paseo/.dev/paseo-home \
|
||||
npm run test:e2e:composer-keyboard:android
|
||||
```
|
||||
|
||||
**Final full harness: exit 0** on `b5e63f716`. [Raw output](harness-final.log). All original steps passed, plus the common scenario on every host: growth, bounds, retained close/reopen height, hold-delete reset, content/header dismissal, JS-stall motion, and command/file/model/attachment/forge popovers in both keyboard states. The initial run was intentionally stopped after iOS exposed the empty-padding hit-test failure; this final run includes the correction.
|
||||
|
||||
| Origin host | Native swipe after submit | Native swipe after returning to bottom + idle |
|
||||
| --- | ---: | ---: |
|
||||
| Chat | 24.30% | 23.50% |
|
||||
| New agent tab | 24.67% | 25.67% |
|
||||
| New workspace | 24.05% | 24.33% |
|
||||
|
||||
```text
|
||||
PASS host=chat: native stream swipe after submit and after idle at bottom
|
||||
PASS host=workspace-draft: native stream swipe after submit and after idle at bottom
|
||||
PASS host=new-workspace: native stream swipe after submit and after idle at bottom
|
||||
Composer keyboard invariants passed
|
||||
```
|
||||
|
||||
| Android idle swipe | Before | After |
|
||||
| --- | --- | --- |
|
||||
| Chat |  |  |
|
||||
| New agent tab submission |  |  |
|
||||
| New workspace submission |  |  |
|
||||
|
||||
## iOS
|
||||
|
||||
iPhone 16 Pro, iOS 18.6, shared Namespace Mac, isolated `composer-scroll-ios` session. This checkout's Metro was tunneled on 8083 and the daemon on 17668. Both owned processes and the device session were closed afterward; other sessions were left alone.
|
||||
|
||||
Native stream displacement after submit: **28.64%**. After returning to the bottom and waiting: **29.79%**. Slow native pan with keyboard open: **27.82%**, keyboard remained open and input height remained 30 pt. [Native assertions](ios/native-scroll.log), [slow-scroll assertion](ios/slow-scroll.log), [gesture output](ios/composer-scroll-ios-gestures.log).
|
||||
|
||||
| Host | Empty/reset | Cap, after header dismissal, after reopen | Empty-content/header dismissal |
|
||||
| --- | ---: | ---: | --- |
|
||||
| Chat | 30 pt | 298 pt | Passed |
|
||||
| New agent tab | 30 pt | 250 pt | Passed |
|
||||
| New workspace | 30 pt | 333 pt | Passed |
|
||||
|
||||
The first sibling-only implementation failed New workspace's empty-content dismissal on iOS: decorative form padding intercepted hit testing. `box-none` on layout containers and `none` on inert title/spacers fixed that failure; no responder was added above content. [Failing dismissal output](ios/new-workspace-padding-red.log), [passing output](ios/composer-scroll-ios-workspace-final.log).
|
||||
|
||||
A 230-point automated iOS fling still left the keyboard open. The pre-existing classifier is unchanged, and automated iOS flick dismissal remains a QA gap previously recorded for the extraction. This report does not claim a passing flick-dismissal result. Android's existing flick assertions remain in the full harness.
|
||||
|
||||
| iOS state | Before | After |
|
||||
| --- | --- | --- |
|
||||
| Native swipe after submit |  |  |
|
||||
| Native swipe after idle at bottom |  |  |
|
||||
| Slow pan with keyboard open |  |  |
|
||||
| Chat capped header dismissal |  |  |
|
||||
| New agent tab capped header dismissal |  |  |
|
||||
| New workspace capped header dismissal |  |  |
|
||||
|
||||
## Static checks
|
||||
|
||||
```text
|
||||
npm run format: exit 0
|
||||
npm run lint: exit 0; 0 warnings, 0 errors
|
||||
npm run typecheck: exit 0; all workspaces
|
||||
```
|
||||
|
||||
[Format](composer-scroll-format.log), [lint](composer-scroll-lint.log), [typecheck](composer-scroll-typecheck.log).
|
||||
|
||||
## Production APK
|
||||
|
||||
[Install the plain production APK](https://dev-new.tail8fe838.ts.net/paseo-composer-dock-b5e63f716.apk), built from pushed commit `b5e63f7160abe3fe3d7894fb603db2b3d2a2c219`. [Build output](release-build.log), [package metadata](apk-metadata.log), [HTTP verification](apk-http.log).
|
||||
|
||||
```sh
|
||||
cd packages/app
|
||||
npm --prefix ../.. run build:client && CI=1 APP_VARIANT=production npx expo prebuild --platform android --clean --non-interactive && cd android && ./gradlew assembleRelease --no-daemon -q
|
||||
# exit 0; working tree clean afterward
|
||||
# sh.paseo, version 0.8.0, versionCode 8000; target SDK 36; four ABIs
|
||||
# HTTP 200, application/vnd.android.package-archive, 262457899 bytes
|
||||
# SHA-256 b1ee48c1ddd16469ad0b2f257190bde4af3a1fd80666887b59a6a345bf3191a1
|
||||
```
|
||||
|
||||
Installed this APK successfully on the emulator and reran the original reported reproduction. Native stream displacement: **27.74%** from a fresh bottom and **25.07%** after returning to the bottom and waiting. [Assertion output](release/assertions.log), [original reproduction output](release/reproduction.log).
|
||||
|
||||
| Production idle swipe | Before | After |
|
||||
| --- | --- | --- |
|
||||
| Rebuilt APK |  |  |
|
||||
|
||||
PR #4973 remains unmerged, pending physical-phone acceptance of this replacement APK.
|
||||
|
Before Width: | Height: | Size: 245 KiB |
|
Before Width: | Height: | Size: 268 KiB |
|
Before Width: | Height: | Size: 244 KiB |
|
Before Width: | Height: | Size: 269 KiB |
|
Before Width: | Height: | Size: 224 KiB |
|
Before Width: | Height: | Size: 255 KiB |
|
Before Width: | Height: | Size: 253 KiB |
|
Before Width: | Height: | Size: 222 KiB |
|
Before Width: | Height: | Size: 222 KiB |
|
Before Width: | Height: | Size: 242 KiB |
|
Before Width: | Height: | Size: 249 KiB |
|
Before Width: | Height: | Size: 249 KiB |
|
Before Width: | Height: | Size: 235 KiB |
|
Before Width: | Height: | Size: 238 KiB |
|
Before Width: | Height: | Size: 260 KiB |
|
Before Width: | Height: | Size: 260 KiB |
|
Before Width: | Height: | Size: 221 KiB |
@@ -1,7 +0,0 @@
|
||||
HTTP/2 200
|
||||
accept-ranges: bytes
|
||||
content-type: application/vnd.android.package-archive
|
||||
last-modified: Wed, 16 Sep 2026 21:22:53 GMT
|
||||
content-length: 262457899
|
||||
date: Wed, 16 Sep 2026 21:23:03 GMT
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
package: name='sh.paseo' versionCode='8000' versionName='0.8.0' platformBuildVersionName='16' platformBuildVersionCode='36' compileSdkVersion='36' compileSdkVersionCodename='16'
|
||||
sdkVersion:'29'
|
||||
targetSdkVersion:'36'
|
||||
native-code: 'arm64-v8a' 'armeabi-v7a' 'x86' 'x86_64'
|
||||
|
Before Width: | Height: | Size: 244 KiB |
|
Before Width: | Height: | Size: 244 KiB |
|
Before Width: | Height: | Size: 244 KiB |
|
Before Width: | Height: | Size: 244 KiB |
|
Before Width: | Height: | Size: 244 KiB |
@@ -1,6 +0,0 @@
|
||||
|
||||
> paseo@0.8.0 lint
|
||||
> oxlint
|
||||
|
||||
Found 0 warnings and 0 errors.
|
||||
Finished in 849ms on 4260 files with 177 rules using 16 threads.
|
||||