chore(deps): bump the non-critical group across 1 directory with 20 updates #427
ci.yml
on: pull_request
Rust fmt
13s
Rust clippy
1m 4s
Rust tests
16m 12s
Backend typecheck
57s
API typecheck
53s
Frontend typecheck
52s
Backend lint
55s
Backend tests
2m 0s
API lint
50s
API tests
1m 2s
Frontend lint
47s
Frontend coverage (vitest >= 95%)
1m 31s
Mobile tests + coverage (≥ 70%)
51s
SDK browser bundle size (warn > 100 KB gzip)
56s
Helm chart lint
7s
SDK contract-surface coverage
7s
CI
2s
Annotations
49 errors and 18 warnings
|
Rust fmt
Process completed with exit code 1.
|
|
Frontend lint
Process completed with exit code 1.
|
|
Frontend lint:
frontend/src/components/WalletConnection.tsx#L129
Definition for rule 'react-hooks/exhaustive-deps' was not found
|
|
Frontend lint:
frontend/src/components/AnchorSelector.tsx#L85
Definition for rule 'react-hooks/exhaustive-deps' was not found
|
|
src/__tests__/integration.test.ts:
api/src/services/receiptGenerator.ts#L6
Error: Cannot find package 'pdfkit' imported from '/home/runner/work/SwiftRemit/SwiftRemit/api/src/services/receiptGenerator.ts'
❯ src/services/receiptGenerator.ts:6:1
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
Serialized Error: { code: 'ERR_MODULE_NOT_FOUND' }
Caused by: Error: Failed to load url pdfkit (resolved id: pdfkit) in /home/runner/work/SwiftRemit/SwiftRemit/api/src/services/receiptGenerator.ts. Does the file exist?
❯ loadAndTransform ../node_modules/vite/dist/node/chunks/dep-Dm0c1Wj2.js:35835:17
|
|
src/__tests__/graphql.test.ts:
api/src/middleware/auth.ts#L24
Error: Cannot find package 'jsonwebtoken' imported from '/home/runner/work/SwiftRemit/SwiftRemit/api/src/middleware/auth.ts'
❯ src/middleware/auth.ts:24:1
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
Serialized Error: { code: 'ERR_MODULE_NOT_FOUND' }
Caused by: Error: Failed to load url jsonwebtoken (resolved id: jsonwebtoken) in /home/runner/work/SwiftRemit/SwiftRemit/api/src/__tests__/websocket.test.ts. Does the file exist?
❯ loadAndTransform ../node_modules/vite/dist/node/chunks/dep-Dm0c1Wj2.js:35835:17
|
|
src/__tests__/graphql-security.test.ts:
api/src/middleware/auth.ts#L24
Error: Cannot find package 'jsonwebtoken' imported from '/home/runner/work/SwiftRemit/SwiftRemit/api/src/middleware/auth.ts'
❯ src/middleware/auth.ts:24:1
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
Serialized Error: { code: 'ERR_MODULE_NOT_FOUND' }
Caused by: Caused by: Error: Failed to load url jsonwebtoken (resolved id: jsonwebtoken) in /home/runner/work/SwiftRemit/SwiftRemit/api/src/__tests__/websocket.test.ts. Does the file exist?
❯ loadAndTransform ../node_modules/vite/dist/node/chunks/dep-Dm0c1Wj2.js:35835:17
|
|
src/__tests__/governance-lifecycle.test.ts:
api/src/services/receiptGenerator.ts#L6
Error: Cannot find package 'pdfkit' imported from '/home/runner/work/SwiftRemit/SwiftRemit/api/src/services/receiptGenerator.ts'
❯ src/services/receiptGenerator.ts:6:1
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
Serialized Error: { code: 'ERR_MODULE_NOT_FOUND' }
Caused by: Error: Failed to load url pdfkit (resolved id: pdfkit) in /home/runner/work/SwiftRemit/SwiftRemit/api/src/services/receiptGenerator.ts. Does the file exist?
❯ loadAndTransform ../node_modules/vite/dist/node/chunks/dep-Dm0c1Wj2.js:35835:17
|
|
src/__tests__/config.test.ts > CurrencyConfigLoader > load() > should validate currency code format:
api/src/__tests__/config.test.ts#L129
AssertionError: expected [Function] to throw error including 'Currency code must contain only upper…' but got 'Currency configuration error: Configu…'
Expected: "Currency code must contain only uppercase letters"
Received: "Currency configuration error: Configuration validation failed: Currency code must conform to ISO 4217 format (exactly 3 uppercase letters)"
❯ src/__tests__/config.test.ts:129:35
|
|
src/__tests__/auth.test.ts:
api/src/services/receiptGenerator.ts#L6
Error: Cannot find package 'pdfkit' imported from '/home/runner/work/SwiftRemit/SwiftRemit/api/src/services/receiptGenerator.ts'
❯ src/services/receiptGenerator.ts:6:1
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
Serialized Error: { code: 'ERR_MODULE_NOT_FOUND' }
Caused by: Error: Failed to load url pdfkit (resolved id: pdfkit) in /home/runner/work/SwiftRemit/SwiftRemit/api/src/services/receiptGenerator.ts. Does the file exist?
❯ loadAndTransform ../node_modules/vite/dist/node/chunks/dep-Dm0c1Wj2.js:35835:17
|
|
src/__tests__/auth-security.test.ts:
api/src/services/receiptGenerator.ts#L6
Error: Cannot find package 'pdfkit' imported from '/home/runner/work/SwiftRemit/SwiftRemit/api/src/services/receiptGenerator.ts'
❯ src/services/receiptGenerator.ts:6:1
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
Serialized Error: { code: 'ERR_MODULE_NOT_FOUND' }
Caused by: Error: Failed to load url pdfkit (resolved id: pdfkit) in /home/runner/work/SwiftRemit/SwiftRemit/api/src/services/receiptGenerator.ts. Does the file exist?
❯ loadAndTransform ../node_modules/vite/dist/node/chunks/dep-Dm0c1Wj2.js:35835:17
|
|
src/__tests__/anchors.test.ts:
api/src/services/receiptGenerator.ts#L6
Error: Cannot find package 'pdfkit' imported from '/home/runner/work/SwiftRemit/SwiftRemit/api/src/services/receiptGenerator.ts'
❯ src/services/receiptGenerator.ts:6:1
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
Serialized Error: { code: 'ERR_MODULE_NOT_FOUND' }
Caused by: Error: Failed to load url pdfkit (resolved id: pdfkit) in /home/runner/work/SwiftRemit/SwiftRemit/api/src/services/receiptGenerator.ts. Does the file exist?
❯ loadAndTransform ../node_modules/vite/dist/node/chunks/dep-Dm0c1Wj2.js:35835:17
|
|
src/__tests__/agents.test.ts:
api/src/services/receiptGenerator.ts#L6
Error: Cannot find package 'pdfkit' imported from '/home/runner/work/SwiftRemit/SwiftRemit/api/src/services/receiptGenerator.ts'
❯ src/services/receiptGenerator.ts:6:1
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
Serialized Error: { code: 'ERR_MODULE_NOT_FOUND' }
Caused by: Caused by: Error: Failed to load url pdfkit (resolved id: pdfkit) in /home/runner/work/SwiftRemit/SwiftRemit/api/src/services/receiptGenerator.ts. Does the file exist?
❯ loadAndTransform ../node_modules/vite/dist/node/chunks/dep-Dm0c1Wj2.js:35835:17
|
|
Unhandled error:
api/src/services/sep24.ts#L134
Error: SEP-24 poll timeout after 500ms for tx sep24-tx-001
❯ Sep24Client.pollUntilComplete src/services/sep24.ts:134:11
This error originated in "src/__tests__/sep24.test.ts" test file. It doesn't mean the error was thrown inside the file itself, but while it was running.
The latest test that might've caused the error is "throws timeout when polling exceeds deadline". It might mean one of the following:
- The error was thrown, while Vitest was running this test.
- If the error occurred after the test had been completed, this was the last documented test before it was thrown.
|
|
src/__tests__/api-key-rate-limit.test.ts > API key rate limiting > includes X-RateLimit-* headers in responses:
backend/src/api.ts#L95
TypeError: fxRateCache.setMetricsObserver is not a function
❯ src/api.ts:95:13
❯ src/__tests__/api-key-rate-limit.test.ts:129:17
|
|
src/__tests__/api-key-management.test.ts > API Key Management > API Key Lifecycle > should complete full key lifecycle:
backend/src/__tests__/api-key-management.test.ts#L191
AssertionError: expected 400 to be 201 // Object.is equality
- Expected
+ Received
- 201
+ 400
❯ src/__tests__/api-key-management.test.ts:191:37
|
|
src/__tests__/api-key-management.test.ts > API Key Management > DELETE /api/developers/keys/:key_id > should only allow user to revoke their own keys:
backend/src/__tests__/api-key-management.test.ts#L179
AssertionError: expected 500 to be 403 // Object.is equality
- Expected
+ Received
- 403
+ 500
❯ src/__tests__/api-key-management.test.ts:179:37
|
|
src/__tests__/api-key-management.test.ts > API Key Management > DELETE /api/developers/keys/:key_id > should return 404 for non-existent key:
backend/src/__tests__/api-key-management.test.ts#L158
AssertionError: expected 500 to be 404 // Object.is equality
- Expected
+ Received
- 404
+ 500
❯ src/__tests__/api-key-management.test.ts:158:31
|
|
src/__tests__/api-key-management.test.ts > API Key Management > DELETE /api/developers/keys/:key_id > should revoke an API key:
backend/src/__tests__/api-key-management.test.ts#L150
AssertionError: expected 500 to be 204 // Object.is equality
- Expected
+ Received
- 204
+ 500
❯ src/__tests__/api-key-management.test.ts:150:37
|
|
src/__tests__/api-key-management.test.ts > API Key Management > GET /api/developers/keys > should not return secrets in list response:
backend/src/__tests__/api-key-management.test.ts#L122
AssertionError: expected 500 to be 200 // Object.is equality
- Expected
+ Received
- 200
+ 500
❯ src/__tests__/api-key-management.test.ts:122:31
|
|
src/__tests__/api-key-management.test.ts > API Key Management > GET /api/developers/keys > should list active API keys:
backend/src/__tests__/api-key-management.test.ts#L107
AssertionError: expected 500 to be 200 // Object.is equality
- Expected
+ Received
- 200
+ 500
❯ src/__tests__/api-key-management.test.ts:107:31
|
|
src/__tests__/api-key-management.test.ts > API Key Management > POST /api/developers/keys > should hash the key at rest:
backend/src/__tests__/api-key-management.test.ts#L55
AssertionError: expected 400 to be 201 // Object.is equality
- Expected
+ Received
- 201
+ 400
❯ src/__tests__/api-key-management.test.ts:55:31
|
|
src/__tests__/api-key-management.test.ts > API Key Management > POST /api/developers/keys > should create an API key:
backend/src/__tests__/api-key-management.test.ts#L39
AssertionError: expected 400 to be 201 // Object.is equality
- Expected
+ Received
- 201
+ 400
❯ src/__tests__/api-key-management.test.ts:39:31
|
|
src/__tests__/agent-kyc.test.ts:
backend/src/api.ts#L95
TypeError: fxRateCache.setMetricsObserver is not a function
❯ src/api.ts:95:13
❯ src/__tests__/agent-kyc.test.ts:94:1
|
|
Mobile tests + coverage (≥ 70%)
Process completed with exit code 1.
|
|
Backend typecheck
Process completed with exit code 2.
|
|
Backend typecheck
Cannot find module '@swiftremit/sdk' or its corresponding type declarations.
|
|
Rust clippy
Process completed with exit code 101.
|
|
Backend lint:
backend/src/middleware/api-key-store.ts#L253
Raw SQL queries must live in backend/src/repositories/ — add or extend a repository method instead
|
|
Backend lint:
backend/src/middleware/api-key-store.ts#L236
Raw SQL queries must live in backend/src/repositories/ — add or extend a repository method instead
|
|
Backend lint:
backend/src/middleware/api-key-store.ts#L224
Raw SQL queries must live in backend/src/repositories/ — add or extend a repository method instead
|
|
Backend lint:
backend/src/middleware/api-key-store.ts#L208
Raw SQL queries must live in backend/src/repositories/ — add or extend a repository method instead
|
|
Backend lint:
backend/src/middleware/api-key-store.ts#L170
Raw SQL queries must live in backend/src/repositories/ — add or extend a repository method instead
|
|
Backend lint:
backend/src/middleware/api-key-store.ts#L135
Raw SQL queries must live in backend/src/repositories/ — add or extend a repository method instead
|
|
Backend lint:
backend/src/device-token-service.ts#L147
Raw SQL queries must live in backend/src/repositories/ — add or extend a repository method instead
|
|
Backend lint:
backend/src/device-token-service.ts#L140
Raw SQL queries must live in backend/src/repositories/ — add or extend a repository method instead
|
|
Backend lint:
backend/src/device-token-service.ts#L132
Raw SQL queries must live in backend/src/repositories/ — add or extend a repository method instead
|
|
Backend lint:
backend/src/device-token-service.ts#L116
Raw SQL queries must live in backend/src/repositories/ — add or extend a repository method instead
|
|
src/components/__tests__/AnchorSelectorKeyboard.test.tsx > AnchorSelector Keyboard Navigation > Keyboard Navigation > jumps to last with End key:
frontend/src/components/__tests__/AnchorSelectorKeyboard.test.tsx#L302
Error: expect(element).toHaveClass("focused")
Expected the element to have class:
focused
Received:
anchor-option
Ignored nodes: comments, script, style
<html>
<head />
<body>
<div>
<div
class="anchor-selector"
>
<label
class="anchor-label"
id="anchor-listbox-ch50rtset-label"
>
Select Anchor Provider
</label>
<div
class="anchor-dropdown"
>
<button
aria-controls="anchor-listbox-ch50rtset"
aria-expanded="true"
aria-haspopup="listbox"
aria-labelledby="anchor-listbox-ch50rtset-label"
class="anchor-dropdown-trigger open"
>
<span
class="placeholder"
>
Choose an anchor provider...
</span>
<span
aria-hidden="true"
class="dropdown-arrow"
>
▲
</span>
</button>
<div
aria-labelledby="anchor-listbox-ch50rtset-label"
class="anchor-dropdown-menu"
id="anchor-listbox-ch50rtset"
role="listbox"
tabindex="-1"
>
<input
aria-label="Search anchor providers"
class="anchor-search-input"
placeholder="Search anchors..."
type="search"
value=""
/>
<div
aria-selected="false"
class="anchor-option focused"
data-index="0"
id="anchor-listbox-ch50rtset-option-0"
role="option"
>
<div
class="anchor-option-header"
>
<div
class="anchor-option-info"
>
<div
class="anchor-option-name"
>
Anchor One
<span
aria-label="Verified"
class="verified-badge"
>
✓
</span>
</div>
<div
class="anchor-option-domain"
>
anchor1.com
</div>
</div>
</div>
<div
class="anchor-option-details"
>
<div
class="detail-row"
>
<span
class="detail-label"
>
Fees:
</span>
<span
class="detail-value"
>
1.5%
</span>
</div>
<div
class="detail-row"
>
<span
class="detail-label"
>
Limits:
</span>
<span
class="detail-value"
>
$10.00
-
$10,000.00
</span>
</div>
<div
class="detail-row"
>
<span
class="detail-label"
>
Processing:
</span>
<span
class="detail-value"
>
1-2 days
</span>
</div>
</div>
</div>
<div
aria-selected="false"
class="anchor-option "
data-index="1"
id="anchor-listbox-ch50rtset-option-1"
role="option"
>
<div
class="anchor-option-header"
>
<div
class="anchor-option-info"
>
<div
|
|
src/components/__tests__/AnchorSelectorKeyboard.test.tsx > AnchorSelector Keyboard Navigation > Keyboard Navigation > jumps to first with Home key:
frontend/src/components/__tests__/AnchorSelectorKeyboard.test.tsx#L276
Error: expect(element).toHaveClass("focused")
Expected the element to have class:
focused
Received:
anchor-option
Ignored nodes: comments, script, style
<html>
<head />
<body>
<div>
<div
class="anchor-selector"
>
<label
class="anchor-label"
id="anchor-listbox-rahirlc9a-label"
>
Select Anchor Provider
</label>
<div
class="anchor-dropdown"
>
<button
aria-controls="anchor-listbox-rahirlc9a"
aria-expanded="true"
aria-haspopup="listbox"
aria-labelledby="anchor-listbox-rahirlc9a-label"
class="anchor-dropdown-trigger open"
>
<span
class="placeholder"
>
Choose an anchor provider...
</span>
<span
aria-hidden="true"
class="dropdown-arrow"
>
▲
</span>
</button>
<div
aria-labelledby="anchor-listbox-rahirlc9a-label"
class="anchor-dropdown-menu"
id="anchor-listbox-rahirlc9a"
role="listbox"
tabindex="-1"
>
<input
aria-label="Search anchor providers"
class="anchor-search-input"
placeholder="Search anchors..."
type="search"
value=""
/>
<div
aria-selected="false"
class="anchor-option focused"
data-index="0"
id="anchor-listbox-rahirlc9a-option-0"
role="option"
>
<div
class="anchor-option-header"
>
<div
class="anchor-option-info"
>
<div
class="anchor-option-name"
>
Anchor One
<span
aria-label="Verified"
class="verified-badge"
>
✓
</span>
</div>
<div
class="anchor-option-domain"
>
anchor1.com
</div>
</div>
</div>
<div
class="anchor-option-details"
>
<div
class="detail-row"
>
<span
class="detail-label"
>
Fees:
</span>
<span
class="detail-value"
>
1.5%
</span>
</div>
<div
class="detail-row"
>
<span
class="detail-label"
>
Limits:
</span>
<span
class="detail-value"
>
$10.00
-
$10,000.00
</span>
</div>
<div
class="detail-row"
>
<span
class="detail-label"
>
Processing:
</span>
<span
class="detail-value"
>
1-2 days
</span>
</div>
</div>
</div>
<div
aria-selected="false"
class="anchor-option "
data-index="1"
id="anchor-listbox-rahirlc9a-option-1"
role="option"
>
<div
class="anchor-option-header"
>
<div
class="anchor-option-info"
>
<div
|
|
src/components/__tests__/AnchorSelectorKeyboard.test.tsx > AnchorSelector Keyboard Navigation > Keyboard Navigation > returns focus to trigger after Escape:
frontend/src/components/__tests__/AnchorSelectorKeyboard.test.tsx#L257
Error: expect(element).toHaveFocus()
Expected element with focus:
<button
aria-controls="anchor-listbox-71a77entq"
aria-expanded="true"
aria-haspopup="listbox"
aria-labelledby="anchor-listbox-71a77entq-label"
class="anchor-dropdown-trigger open"
>
<span
class="placeholder"
>
Choose an anchor provider...
</span>
<span
aria-hidden="true"
class="dropdown-arrow"
>
▲
</span>
</button>
Received element with focus:
<input
aria-label="Search anchor providers"
class="anchor-search-input"
placeholder="Search anchors..."
type="search"
value=""
/>
Ignored nodes: comments, script, style
<html>
<head />
<body>
<div>
<div
class="anchor-selector"
>
<label
class="anchor-label"
id="anchor-listbox-71a77entq-label"
>
Select Anchor Provider
</label>
<div
class="anchor-dropdown"
>
<button
aria-controls="anchor-listbox-71a77entq"
aria-expanded="true"
aria-haspopup="listbox"
aria-labelledby="anchor-listbox-71a77entq-label"
class="anchor-dropdown-trigger open"
>
<span
class="placeholder"
>
Choose an anchor provider...
</span>
<span
aria-hidden="true"
class="dropdown-arrow"
>
▲
</span>
</button>
<div
aria-labelledby="anchor-listbox-71a77entq-label"
class="anchor-dropdown-menu"
id="anchor-listbox-71a77entq"
role="listbox"
tabindex="-1"
>
<input
aria-label="Search anchor providers"
class="anchor-search-input"
placeholder="Search anchors..."
type="search"
value=""
/>
<div
aria-selected="false"
class="anchor-option focused"
data-index="0"
id="anchor-listbox-71a77entq-option-0"
role="option"
>
<div
class="anchor-option-header"
>
<div
class="anchor-option-info"
>
<div
class="anchor-option-name"
>
Anchor One
<span
aria-label="Verified"
class="verified-badge"
>
✓
</span>
</div>
<div
class="anchor-option-domain"
>
anchor1.com
</div>
</div>
</div>
<div
class="anchor-option-details"
>
<div
class="detail-row"
>
<span
class="detail-label"
>
Fees:
</span>
<span
class="detail-value"
>
1.5%
</span>
</div>
<div
class="detail-row"
>
<span
class="detail-label"
>
Limits:
</span>
<span
class="detail-value"
>
$10.00
-
$10,000.00
</span>
</div>
<div
class="detail-row"
>
<span
class="detail-label"
>
Processing:
</span>
<span
class="detail-value"
>
1-2 days
</span>
|
|
src/components/__tests__/AnchorSelectorKeyboard.test.tsx > AnchorSelector Keyboard Navigation > Keyboard Navigation > closes with Escape key:
frontend/src/components/__tests__/AnchorSelectorKeyboard.test.tsx#L239
Error: expect(element).not.toBeInTheDocument()
expected document not to contain element, found <div
aria-labelledby="anchor-listbox-td6mwp9z5-label"
class="anchor-dropdown-menu"
id="anchor-listbox-td6mwp9z5"
role="listbox"
tabindex="-1"
>
<input
aria-label="Search anchor providers"
class="anchor-search-input"
placeholder="Search anchors..."
type="search"
value=""
/>
<div
aria-selected="false"
class="anchor-option focused"
data-index="0"
id="anchor-listbox-td6mwp9z5-option-0"
role="option"
>
<div
class="anchor-option-header"
>
<div
class="anchor-option-info"
>
<div
class="anchor-option-name"
>
Anchor One
<span
aria-label="Verified"
class="verified-badge"
>
✓
</span>
</div>
<div
class="anchor-option-domain"
>
anchor1.com
</div>
</div>
</div>
<div
class="anchor-option-details"
>
<div
class="detail-row"
>
<span
class="detail-label"
>
Fees:
</span>
<span
class="detail-value"
>
1.5%
</span>
</div>
<div
class="detail-row"
>
<span
class="detail-label"
>
Limits:
</span>
<span
class="detail-value"
>
$10.00
-
$10,000.00
</span>
</div>
<div
class="detail-row"
>
<span
class="detail-label"
>
Processing:
</span>
<span
class="detail-value"
>
1-2 days
</span>
</div>
</div>
</div>
<div
aria-selected="false"
class="anchor-option "
data-index="1"
id="anchor-listbox-td6mwp9z5-option-1"
role="option"
>
<div
class="anchor-option-header"
>
<div
class="anchor-option-info"
>
<div
class="anchor-option-name"
>
Anchor Two
</div>
<div
class="anchor-option-domain"
>
anchor2.com
</div>
</div>
</div>
<div
class="anchor-option-details"
>
<div
class="detail-row"
>
<span
class="detail-label"
>
Fees:
</span>
<span
class="detail-value"
>
1%
</span>
</div>
<div
class="detail-row"
>
<span
class="detail-label"
>
Limits:
</span>
<span
class="detail-value"
>
$20.00
-
$20,000.00
</span>
</div>
<div
class="detail-row"
>
<span
class="detail-label"
>
Processing:
</span>
<span
class="detail-value"
>
2-3 days
</span>
</div>
</div>
</div>
<div
aria-selected="false"
class="anchor-option "
data-index="2"
id="anchor-listbox-td6mwp9z5-option-2"
role="option"
>
<div
class="anchor-option-header"
>
<div
class="anchor-option-info"
>
<div
class="anchor-option-name"
>
Anchor Three
<span
aria-label="Verified"
class="verified-badge"
>
✓
</span>
</div>
<div
class="anchor-option-domain"
>
anchor3.com
</div>
</div>
</div>
<div
class="anchor-option-details"
>
<div
class="detail-row"
>
<span
class="detail-label"
>
Fees:
</span>
<span
class="detail-value"
>
1.2%
</span>
</div>
<div
class="detail-row"
>
<span
class="detail-label"
>
|
|
src/components/__tests__/AnchorSelectorKeyboard.test.tsx > AnchorSelector Keyboard Navigation > Keyboard Navigation > selects with Enter key:
frontend/src/components/__tests__/AnchorSelectorKeyboard.test.tsx#L221
AssertionError: expected "spy" to be called with arguments: [ { id: 'anchor-2', …(10) } ]
Number of calls: 0
Ignored nodes: comments, script, style
<html>
<head />
<body>
<div>
<div
class="anchor-selector"
>
<label
class="anchor-label"
id="anchor-listbox-wqfzh3aeb-label"
>
Select Anchor Provider
</label>
<div
class="anchor-dropdown"
>
<button
aria-controls="anchor-listbox-wqfzh3aeb"
aria-expanded="true"
aria-haspopup="listbox"
aria-labelledby="anchor-listbox-wqfzh3aeb-label"
class="anchor-dropdown-trigger open"
>
<span
class="placeholder"
>
Choose an anchor provider...
</span>
<span
aria-hidden="true"
class="dropdown-arrow"
>
▲
</span>
</button>
<div
aria-labelledby="anchor-listbox-wqfzh3aeb-label"
class="anchor-dropdown-menu"
id="anchor-listbox-wqfzh3aeb"
role="listbox"
tabindex="-1"
>
<input
aria-label="Search anchor providers"
class="anchor-search-input"
placeholder="Search anchors..."
type="search"
value=""
/>
<div
aria-selected="false"
class="anchor-option focused"
data-index="0"
id="anchor-listbox-wqfzh3aeb-option-0"
role="option"
>
<div
class="anchor-option-header"
>
<div
class="anchor-option-info"
>
<div
class="anchor-option-name"
>
Anchor One
<span
aria-label="Verified"
class="verified-badge"
>
✓
</span>
</div>
<div
class="anchor-option-domain"
>
anchor1.com
</div>
</div>
</div>
<div
class="anchor-option-details"
>
<div
class="detail-row"
>
<span
class="detail-label"
>
Fees:
</span>
<span
class="detail-value"
>
1.5%
</span>
</div>
<div
class="detail-row"
>
<span
class="detail-label"
>
Limits:
</span>
<span
class="detail-value"
>
$10.00
-
$10,000.00
</span>
</div>
<div
class="detail-row"
>
<span
class="detail-label"
>
Processing:
</span>
<span
class="detail-value"
>
1-2 days
</span>
</div>
</div>
</div>
<div
aria-selected="false"
class="anchor-option "
data-index="1"
id="anchor-listbox-wqfzh3aeb-option-1"
role="option"
>
<div
class="anchor-option-header"
>
<div
class="anchor-option-info"
>
<div
cla
|
|
src/components/__tests__/AnchorSelectorKeyboard.test.tsx > AnchorSelector Keyboard Navigation > Keyboard Navigation > navigates up with ArrowUp:
frontend/src/components/__tests__/AnchorSelectorKeyboard.test.tsx#L194
Error: expect(element).toHaveClass("focused")
Expected the element to have class:
focused
Received:
anchor-option
Ignored nodes: comments, script, style
<html>
<head />
<body>
<div>
<div
class="anchor-selector"
>
<label
class="anchor-label"
id="anchor-listbox-ptfm6t6e0-label"
>
Select Anchor Provider
</label>
<div
class="anchor-dropdown"
>
<button
aria-controls="anchor-listbox-ptfm6t6e0"
aria-expanded="true"
aria-haspopup="listbox"
aria-labelledby="anchor-listbox-ptfm6t6e0-label"
class="anchor-dropdown-trigger open"
>
<span
class="placeholder"
>
Choose an anchor provider...
</span>
<span
aria-hidden="true"
class="dropdown-arrow"
>
▲
</span>
</button>
<div
aria-labelledby="anchor-listbox-ptfm6t6e0-label"
class="anchor-dropdown-menu"
id="anchor-listbox-ptfm6t6e0"
role="listbox"
tabindex="-1"
>
<input
aria-label="Search anchor providers"
class="anchor-search-input"
placeholder="Search anchors..."
type="search"
value=""
/>
<div
aria-selected="false"
class="anchor-option focused"
data-index="0"
id="anchor-listbox-ptfm6t6e0-option-0"
role="option"
>
<div
class="anchor-option-header"
>
<div
class="anchor-option-info"
>
<div
class="anchor-option-name"
>
Anchor One
<span
aria-label="Verified"
class="verified-badge"
>
✓
</span>
</div>
<div
class="anchor-option-domain"
>
anchor1.com
</div>
</div>
</div>
<div
class="anchor-option-details"
>
<div
class="detail-row"
>
<span
class="detail-label"
>
Fees:
</span>
<span
class="detail-value"
>
1.5%
</span>
</div>
<div
class="detail-row"
>
<span
class="detail-label"
>
Limits:
</span>
<span
class="detail-value"
>
$10.00
-
$10,000.00
</span>
</div>
<div
class="detail-row"
>
<span
class="detail-label"
>
Processing:
</span>
<span
class="detail-value"
>
1-2 days
</span>
</div>
</div>
</div>
<div
aria-selected="false"
class="anchor-option "
data-index="1"
id="anchor-listbox-ptfm6t6e0-option-1"
role="option"
>
<div
class="anchor-option-header"
>
<div
class="anchor-option-info"
>
<div
|
|
src/components/__tests__/AnchorSelectorKeyboard.test.tsx > AnchorSelector Keyboard Navigation > Keyboard Navigation > navigates down with ArrowDown:
frontend/src/components/__tests__/AnchorSelectorKeyboard.test.tsx#L174
Error: expect(element).toHaveClass("focused")
Expected the element to have class:
focused
Received:
anchor-option
Ignored nodes: comments, script, style
<html>
<head />
<body>
<div>
<div
class="anchor-selector"
>
<label
class="anchor-label"
id="anchor-listbox-nfgp9yl5s-label"
>
Select Anchor Provider
</label>
<div
class="anchor-dropdown"
>
<button
aria-controls="anchor-listbox-nfgp9yl5s"
aria-expanded="true"
aria-haspopup="listbox"
aria-labelledby="anchor-listbox-nfgp9yl5s-label"
class="anchor-dropdown-trigger open"
>
<span
class="placeholder"
>
Choose an anchor provider...
</span>
<span
aria-hidden="true"
class="dropdown-arrow"
>
▲
</span>
</button>
<div
aria-labelledby="anchor-listbox-nfgp9yl5s-label"
class="anchor-dropdown-menu"
id="anchor-listbox-nfgp9yl5s"
role="listbox"
tabindex="-1"
>
<input
aria-label="Search anchor providers"
class="anchor-search-input"
placeholder="Search anchors..."
type="search"
value=""
/>
<div
aria-selected="false"
class="anchor-option focused"
data-index="0"
id="anchor-listbox-nfgp9yl5s-option-0"
role="option"
>
<div
class="anchor-option-header"
>
<div
class="anchor-option-info"
>
<div
class="anchor-option-name"
>
Anchor One
<span
aria-label="Verified"
class="verified-badge"
>
✓
</span>
</div>
<div
class="anchor-option-domain"
>
anchor1.com
</div>
</div>
</div>
<div
class="anchor-option-details"
>
<div
class="detail-row"
>
<span
class="detail-label"
>
Fees:
</span>
<span
class="detail-value"
>
1.5%
</span>
</div>
<div
class="detail-row"
>
<span
class="detail-label"
>
Limits:
</span>
<span
class="detail-value"
>
$10.00
-
$10,000.00
</span>
</div>
<div
class="detail-row"
>
<span
class="detail-label"
>
Processing:
</span>
<span
class="detail-value"
>
1-2 days
</span>
</div>
</div>
</div>
<div
aria-selected="false"
class="anchor-option "
data-index="1"
id="anchor-listbox-nfgp9yl5s-option-1"
role="option"
>
<div
class="anchor-option-header"
>
<div
class="anchor-option-info"
>
<div
|
|
src/components/__tests__/AnchorSelector.test.tsx > AnchorSelector > accessibility > has no a11y violations when dropdown is open:
frontend/src/components/__tests__/AnchorSelector.test.tsx#L267
Error: expect(received).toHaveNoViolations(expected)
Expected the HTML found at $('#anchor-listbox-0nfjgytuv') to have no violations:
<div class="anchor-dropdown-menu" role="listbox" id="anchor-listbox-0nfjgytuv" aria-labelledby="anchor-listbox-0nfjgytuv-label" tabindex="-1">
Received:
"Certain ARIA roles must contain particular children (aria-required-children)"
Fix any of the following:
Element has children which are not allowed: input[aria-label]
You can find more information on this issue here:
https://dequeuniversity.com/rules/axe/4.9/aria-required-children?application=axeAPI
❯ src/components/__tests__/AnchorSelector.test.tsx:267:23
|
|
src/components/__tests__/AdminTwoFactorAuth.test.tsx > Issue #897: 2FA Settings Page for Admin Users > should allow enabling/disabling 2FA from settings:
frontend/src/components/__tests__/AdminTwoFactorAuth.test.tsx#L381
AssertionError: expected true to be false // Object.is equality
- Expected
+ Received
- false
+ true
❯ src/components/__tests__/AdminTwoFactorAuth.test.tsx:381:28
|
|
Unhandled error:
frontend/src/utils/a11y.tsx#L17
TypeError: mainContent.scrollIntoView is not a function
❯ onClick src/utils/a11y.tsx:17:23
❯ HTMLUnknownElement.callCallback node_modules/react-dom/cjs/react-dom.development.js:4164:14
❯ HTMLUnknownElement.callTheUserObjectsOperation ../node_modules/jsdom/lib/generated/idl/EventListener.js:26:30
❯ innerInvokeEventListeners ../node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:360:16
❯ invokeEventListeners ../node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:296:3
❯ HTMLUnknownElementImpl._dispatch ../node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:243:9
❯ HTMLUnknownElementImpl.dispatchEvent ../node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:114:17
❯ HTMLUnknownElement.dispatchEvent ../node_modules/jsdom/lib/generated/idl/EventTarget.js:241:34
❯ Object.invokeGuardedCallbackDev node_modules/react-dom/cjs/react-dom.development.js:4213:16
❯ invokeGuardedCallback node_modules/react-dom/cjs/react-dom.development.js:4277:31
This error originated in "src/utils/__tests__/a11y.test.tsx" test file. It doesn't mean the error was thrown inside the file itself, but while it was running.
The latest test that might've caused the error is "should focus main content on click". It might mean one of the following:
- The error was thrown, while Vitest was running this test.
- If the error occurred after the test had been completed, this was the last documented test before it was thrown.
|
|
CI
Process completed with exit code 1.
|
|
Rust fmt
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. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
SDK contract-surface coverage
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. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
Helm chart 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, azure/setup-helm@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
Frontend 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/
|
|
API 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/
|
|
SDK browser bundle size (warn > 100 KB gzip)
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/
|
|
SDK browser bundle size (warn > 100 KB gzip)
Browser bundle not found at dist/browser/index.mjs
|
|
API 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/
|
|
Frontend 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/
|
|
Backend 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/
|
|
Mobile tests + coverage (≥ 70%)
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, actions/upload-artifact@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
Mobile tests + coverage (≥ 70%)
No files were found with the provided path: mobile/test-results/. No artifacts will be uploaded.
|
|
API 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/
|
|
Backend 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/
|
|
Rust clippy
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. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
Backend 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/
|
|
Frontend coverage (vitest >= 95%)
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/
|
|
Rust 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. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|