Dev #3172
ci.yml
on: pull_request
Matrix: unit-tests
Lint
37s
Typecheck
56s
Secret Scan (gitleaks)
9s
Server Unit Tests
1m 26s
Unit Tests (macOS)
4m 34s
Unit Tests (Windows)
1m 43s
Unit Tests (Windows ConPTY)
1m 23s
Server DB Integration Tests
1m 13s
Preview Dist Smoke
44s
Embedding Integration Tests
33s
Repo Provider Integration Tests
39s
Coverage Report
0s
Android Release Build
0s
Publish to npm
0s
Annotations
13 errors and 27 warnings
|
test/use-sub-sessions-metadata.test.tsx > sub-session metadata via subsession.sync > fills missing queued transport entries from pendingMessages when daemon sends a partial entry snapshot:
web/test/use-sub-sessions-metadata.test.tsx#L606
AssertionError: expected [ { clientMessageId: 'msg-1', …(1) } ] to deeply equal [ …(2) ]
- Expected
+ Received
Array [
Object {
"clientMessageId": "msg-1",
"text": "queued one",
},
- Object {
- "clientMessageId": "deck_sub_q4:legacy:1:queued two",
- "text": "queued two",
- },
]
❯ test/use-sub-sessions-metadata.test.tsx:606:56
|
|
test/use-sub-sessions-metadata.test.tsx > sub-session metadata via subsession.sync > preserves queued transport messages while the drained send is still running and clears on authoritative idle:
web/test/use-sub-sessions-metadata.test.tsx#L502
AssertionError: expected [] to deeply equal [ 'queued one', 'queued two' ]
- Expected
+ Received
- Array [
- "queued one",
- "queued two",
- ]
+ Array []
❯ test/use-sub-sessions-metadata.test.tsx:502:50
|
|
test/transport-queue.test.ts > nextTransportQueueVersion > resets to 0 on a fresh-runtime snapshot:
web/test/transport-queue.test.ts#L312
AssertionError: expected 9 to be +0 // Object.is equality
- Expected
+ Received
- 0
+ 9
❯ test/transport-queue.test.ts:312:45
|
|
test/transport-queue.test.ts > shouldApplyTransportQueueSnapshot > always applies version 0 — a fresh runtime restarts the sequence:
web/test/transport-queue.test.ts#L302
AssertionError: expected false to be true // Object.is equality
- Expected
+ Received
- true
+ false
❯ test/transport-queue.test.ts:302:53
|
|
test/transport-queue.test.ts > mergeTransportPendingEntriesForRunningState > preserves existing when hasPendingMessagesField is false regardless of event data:
web/test/transport-queue.test.ts#L227
AssertionError: expected [] to deeply equal [ { clientMessageId: 'msg-1', …(1) } ]
- Expected
+ Received
- Array [
- Object {
- "clientMessageId": "msg-1",
- "text": "keep",
- },
- ]
+ Array []
❯ test/transport-queue.test.ts:227:37
|
|
test/transport-queue.test.ts > mergeTransportPendingEntriesForRunningState > fills missing running queued entries from pendingMessages when entries are partial:
web/test/transport-queue.test.ts#L198
AssertionError: expected [ { clientMessageId: 'msg-1', …(1) } ] to deeply equal [ …(2) ]
- Expected
+ Received
Array [
Object {
"clientMessageId": "msg-1",
"text": "queued one",
},
- Object {
- "clientMessageId": "deck_test:legacy:1:queued two",
- "text": "queued two",
- },
]
❯ test/transport-queue.test.ts:198:58
|
|
test/transport-queue.test.ts > removeTransportPendingEntryForUserMessage > falls back to normalized text when the echoed user message has no id:
web/test/transport-queue.test.ts#L138
AssertionError: expected { …(3) } to deeply equal { messages: [ 'queued two' ], …(2) }
- Expected
+ Received
Object {
- "changed": true,
- "entries": Array [
- Object {
- "clientMessageId": "deck_test:legacy:1:queued two",
- "text": "queued two",
- },
- ],
+ "changed": false,
+ "entries": Array [],
"messages": Array [
+ "queued one",
"queued two",
],
}
❯ test/transport-queue.test.ts:138:8
|
|
test/transport-queue.test.ts > normalizeTransportPendingMessageEntries > synthesizes legacy entries when only pending messages are present:
web/test/transport-queue.test.ts#L108
AssertionError: expected [] to deeply equal [ { …(2) }, { …(2) } ]
- Expected
+ Received
- Array [
- Object {
- "clientMessageId": "deck_test:legacy:0:queued one",
- "text": "queued one",
- },
- Object {
- "clientMessageId": "deck_test:legacy:1:queued two",
- "text": "queued two",
- },
- ]
+ Array []
❯ test/transport-queue.test.ts:108:93
|
|
test/transport-queue.test.ts > normalizeTransportPendingMessageEntries > fills missing queued entries from pendingMessages when entries are partial:
web/test/transport-queue.test.ts#L101
AssertionError: expected [ { clientMessageId: 'msg-1', …(1) } ] to deeply equal [ …(2) ]
- Expected
+ Received
Array [
Object {
"clientMessageId": "msg-1",
"text": "queued one",
},
- Object {
- "clientMessageId": "deck_test:legacy:1:queued two",
- "text": "queued two",
- },
]
❯ test/transport-queue.test.ts:101:52
|
|
test/session-list-merge.test.ts > mergeSessionListEntry — pending-queue version guard > accepts a fresh-runtime snapshot (version 0) even when the baseline is higher:
web/test/session-list-merge.test.ts#L462
AssertionError: expected 7 to be +0 // Object.is equality
- Expected
+ Received
- 0
+ 7
❯ test/session-list-merge.test.ts:462:51
|
|
Web Tests (Components)
Process completed with exit code 1.
|
|
test/components/SessionControls.test.tsx > SessionControls > renders all queued transport messages when pending entries are partial:
web/test/components/SessionControls.test.tsx#L2846
TestingLibraryElementError: Unable to find an element with the text: queued second. This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible.
Ignored nodes: comments, script, style
<body>
<div>
<div
class="controls-wrapper controls-wrapper-running"
>
<div
class="shortcuts-row"
>
<div
class="shortcuts shortcuts-transport"
>
<button
aria-label="Stop"
class="shortcut-btn shortcut-btn-icon shortcut-btn-stop"
style="color: rgb(248, 113, 113);"
title="Stop (/stop)"
>
<span
aria-hidden="true"
>
■
</span>
</button>
</div>
<div
class="shortcuts-model"
>
<button
class="shortcut-btn p2p-mode-btn p2p-mode-btn-solo"
data-onboarding="p2p-mode"
style="color: rgb(219, 231, 245); font-size: 10px; font-weight: 600;"
title="Team"
>
Team
</button>
<button
aria-label="settings_button"
class="shortcut-btn p2p-settings-btn"
title="settings_title"
>
<span
aria-hidden="true"
class="p2p-settings-icon"
>
⚙
</span>
</button>
</div>
</div>
<div
class="controls"
>
<div
class="qp-trigger-wrap"
>
<button
class="qp-trigger"
title="title"
>
⚡
</button>
</div>
<div
class="controls-composer"
>
<div
aria-label="Message input"
aria-multiline="true"
class="controls-input"
contenteditable="true"
data-onboarding="chat-input"
data-placeholder="Send to my-project… Supports fast multi-file paste or drag upload"
role="textbox"
/>
</div>
<button
class="btn btn-voice"
title="voice_input"
>
🎙
</button>
<button
class="btn btn-primary"
disabled=""
>
send
</button>
<div
class="menu-wrap"
>
<button
class="btn btn-secondary controls-icon-btn"
title="actions"
>
⋯
</button>
</div>
</div>
<div
aria-live="polite"
class="controls-queued-hint"
role="status"
>
<div
class="controls-queued-header"
>
<div>
transport_send_queued
</div>
<button
class="controls-queued-toggle"
type="button"
>
hide
</button>
</div>
<div
class="controls-queued-list"
>
<div
class="controls-queued-item"
>
<span
class="controls-queued-item-text"
>
queued first
</span>
<span
aria-label="transport_send_queued"
class="controls-queued-item-status controls-queued-item-status-queued"
title="transport_send_queued"
/>
<span
class="controls-queued-item-actions"
>
<button
class="controls-queued-action"
type="button"
>
edit
</button>
<button
class="controls-queued-action controls-queued-action-danger"
type="button"
>
delete
</button>
</span>
</div>
</div>
</div>
</div>
</div>
</body>
❯ Object.getElementError node_modules/@testing-library/dom/dist/config.
|
|
test/components/SessionControls.test.tsx > SessionControls > renders queued transport hints from legacy pendingMessages when pending entries are empty:
web/test/components/SessionControls.test.tsx#L2822
AssertionError: expected null to be truthy
- Expected:
null
+ Received:
false
❯ test/components/SessionControls.test.tsx:2822:61
|
|
Lint
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4, actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
Lint:
src/agent/providers/qwen.ts#L133
'_contextSessionSystemText' is assigned a value but never used
|
|
Lint:
src/agent/providers/qwen.ts#L129
'_memoryRecall' is assigned a value but never used
|
|
Lint:
src/agent/providers/qwen.ts#L128
'_startupMemory' is assigned a value but never used
|
|
Lint:
src/agent/providers/qwen.ts#L127
'_messagePreamble' is assigned a value but never used
|
|
Lint:
src/agent/providers/qwen.ts#L126
'_systemText' is assigned a value but never used
|
|
Lint:
src/agent/providers/qwen.ts#L125
'_turnSystemText' is assigned a value but never used
|
|
Lint:
src/agent/providers/qwen.ts#L124
'_sessionSystemText' is assigned a value but never used
|
|
Lint:
src/agent/providers/codex-sdk.ts#L1872
'reason' is defined but never used. Allowed unused args must match /^_/u
|
|
Lint:
src/agent/providers/codex-sdk.ts#L102
'readBoundedIntegerEnv' is defined but never used
|
|
Lint:
src/agent/gemini-runtime-config.ts#L16
'err' is defined but never used
|
|
Embedding Integration Tests
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4, actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
Preview Dist Smoke
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4, actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
Secret Scan (gitleaks)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4, gitleaks/gitleaks-action@v2. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
Web Tests (Unit)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4, actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
Unit Tests (Windows ConPTY)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4, actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
Typecheck
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4, actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
Unit Tests (Windows)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4, actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
Web Tests (Components)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4, actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
Server DB Integration Tests
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4, actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
Server Unit Tests
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4, actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
Unit Tests (Node 22)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4, actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
Unit Tests (Node 24)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4, actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
Repo Provider Integration Tests
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4, actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
Unit Tests (macOS)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4, actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
Unit Tests (macOS)
The following taps are not trusted:
aws/tap
azure/bicep
Homebrew will ignore formulae, casks and commands from these taps when `HOMEBREW_REQUIRE_TAP_TRUST` is set.
This will become the default in Homebrew 6.0.0 or 5.2.0, whichever comes first.
Enable trust checks now with:
export HOMEBREW_REQUIRE_TAP_TRUST=1
Trust specific formulae, casks or commands with:
brew trust --formula <user>/<tap>/<formula>
brew trust --cask <user>/<tap>/<cask>
brew trust --command <user>/<tap>/<command>
or trust installed formulae from these taps with:
brew trust --formula azure/bicep/bicep
You can trust all formulae, casks and commands from these taps with:
brew trust aws/tap azure/bicep
Prefer trusting only the specific formulae, casks or commands you need.
Untap them with:
brew untap aws/tap azure/bicep
To keep allowing them by default during the transition:
export HOMEBREW_NO_REQUIRE_TAP_TRUST=1
This is not recommended and will be removed in a later release.
|
|
E2E Tests
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4, actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
Artifacts
Produced during runtime
| Name | Size | Digest | |
|---|---|---|---|
|
gitleaks-results.sarif
|
367 Bytes |
sha256:e0b4aebce96329aa592e6d56107867d2b59c7c1e3dc25598e8abfd387d9ca0f3
|
|