refactor(events): consolidate wallet event list query logic (#1271) #1537
ci.yml
on: pull_request
Detect changes
4s
Frontend CI
1m 1s
Backend Docker Image CI
1m 17s
Soroban Contracts CI
4m 46s
Backend CI
57s
Annotations
12 errors and 12 warnings
|
src/components/stream-creation/__tests__/StreamCreationWizard.test.tsx > StreamCreationWizard > hides navigation buttons during polling:
frontend/src/components/stream-creation/__tests__/StreamCreationWizard.test.tsx#L190
TestingLibraryElementError: Unable to find an element with the text: Create Stream. 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
aria-labelledby="stream-creation-wizard-title"
aria-modal="true"
class="fixed inset-0 z-50 flex items-center justify-center bg-black/50 backdrop-blur-sm"
role="dialog"
>
<div
class="glass-card relative z-10 w-full max-w-2xl mx-4 max-h-[90vh] overflow-y-auto rounded-2xl border border-glass-border p-8"
>
<div
class="flex items-center justify-between mb-6"
>
<h2
class="text-2xl font-bold"
id="stream-creation-wizard-title"
>
Create Payment Stream
</h2>
<button
aria-label="Close"
class="text-slate-400 hover:text-foreground transition-colors"
type="button"
>
<svg
class="w-6 h-6"
fill="none"
stroke="currentColor"
viewBox="0 0 24 24"
>
<path
d="M6 18L18 6M6 6l12 12"
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
/>
</svg>
</button>
</div>
<nav
aria-label="Progress"
>
<span>
Template
</span>
<span>
Recipient
</span>
<span>
Token
</span>
<span
aria-current="step"
>
Amount
</span>
<span>
Schedule
</span>
</nav>
<div
class="my-8 min-h-[300px]"
>
<div
class="mb-6 flex items-center justify-between"
>
<div
class="text-sm text-slate-400"
>
Step
4
of
5
</div>
<div
class="text-xs text-slate-500"
>
80
% complete
</div>
</div>
<div
class="mb-4"
>
<span
class="inline-flex rounded-full border border-accent/40 px-3 py-1 text-xs font-semibold text-accent"
>
Tag:
salary
</span>
</div>
<div
data-testid="amount-step"
>
<input
aria-label="Amount"
value="5000"
/>
</div>
</div>
<div
class="flex justify-between gap-4 pt-6 border-t border-glass-border"
>
<div>
<button
data-variant="outline"
>
<svg
class="w-4 h-4 mr-2"
fill="none"
stroke="currentColor"
viewBox="0 0 24 24"
>
<path
d="M15 19l-7-7 7-7"
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
/>
</svg>
Back
</button>
</div>
<div
class="flex gap-4"
>
<button
data-variant="outline"
>
Cancel
</button>
<button>
Next
<svg
class="w-4 h-4 ml-2"
fill="none"
stroke="currentColor"
viewBox="0 0 24 24"
>
<path
d="M9 5l7 7-7 7"
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
/>
</svg>
</button>
</div>
</div>
</d
|
|
src/components/stream-creation/__tests__/StreamCreationWizard.test.tsx > StreamCreationWizard > shows the three-step confirmation UI during polling:
frontend/src/components/stream-creation/__tests__/StreamCreationWizard.test.tsx#L190
TestingLibraryElementError: Unable to find an element with the text: Create Stream. 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
aria-labelledby="stream-creation-wizard-title"
aria-modal="true"
class="fixed inset-0 z-50 flex items-center justify-center bg-black/50 backdrop-blur-sm"
role="dialog"
>
<div
class="glass-card relative z-10 w-full max-w-2xl mx-4 max-h-[90vh] overflow-y-auto rounded-2xl border border-glass-border p-8"
>
<div
class="flex items-center justify-between mb-6"
>
<h2
class="text-2xl font-bold"
id="stream-creation-wizard-title"
>
Create Payment Stream
</h2>
<button
aria-label="Close"
class="text-slate-400 hover:text-foreground transition-colors"
type="button"
>
<svg
class="w-6 h-6"
fill="none"
stroke="currentColor"
viewBox="0 0 24 24"
>
<path
d="M6 18L18 6M6 6l12 12"
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
/>
</svg>
</button>
</div>
<nav
aria-label="Progress"
>
<span>
Template
</span>
<span>
Recipient
</span>
<span>
Token
</span>
<span
aria-current="step"
>
Amount
</span>
<span>
Schedule
</span>
</nav>
<div
class="my-8 min-h-[300px]"
>
<div
class="mb-6 flex items-center justify-between"
>
<div
class="text-sm text-slate-400"
>
Step
4
of
5
</div>
<div
class="text-xs text-slate-500"
>
80
% complete
</div>
</div>
<div
class="mb-4"
>
<span
class="inline-flex rounded-full border border-accent/40 px-3 py-1 text-xs font-semibold text-accent"
>
Tag:
salary
</span>
</div>
<div
data-testid="amount-step"
>
<input
aria-label="Amount"
value="5000"
/>
</div>
</div>
<div
class="flex justify-between gap-4 pt-6 border-t border-glass-border"
>
<div>
<button
data-variant="outline"
>
<svg
class="w-4 h-4 mr-2"
fill="none"
stroke="currentColor"
viewBox="0 0 24 24"
>
<path
d="M15 19l-7-7 7-7"
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
/>
</svg>
Back
</button>
</div>
<div
class="flex gap-4"
>
<button
data-variant="outline"
>
Cancel
</button>
<button>
Next
<svg
class="w-4 h-4 ml-2"
fill="none"
stroke="currentColor"
viewBox="0 0 24 24"
>
<path
d="M9 5l7 7-7 7"
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
/>
</svg>
</button>
</div>
</div>
</d
|
|
src/components/stream-creation/__tests__/StreamCreationWizard.test.tsx > StreamCreationWizard > submits and shows polling UI on valid form:
frontend/src/components/stream-creation/__tests__/StreamCreationWizard.test.tsx#L190
TestingLibraryElementError: Unable to find an element with the text: Create Stream. 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
aria-labelledby="stream-creation-wizard-title"
aria-modal="true"
class="fixed inset-0 z-50 flex items-center justify-center bg-black/50 backdrop-blur-sm"
role="dialog"
>
<div
class="glass-card relative z-10 w-full max-w-2xl mx-4 max-h-[90vh] overflow-y-auto rounded-2xl border border-glass-border p-8"
>
<div
class="flex items-center justify-between mb-6"
>
<h2
class="text-2xl font-bold"
id="stream-creation-wizard-title"
>
Create Payment Stream
</h2>
<button
aria-label="Close"
class="text-slate-400 hover:text-foreground transition-colors"
type="button"
>
<svg
class="w-6 h-6"
fill="none"
stroke="currentColor"
viewBox="0 0 24 24"
>
<path
d="M6 18L18 6M6 6l12 12"
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
/>
</svg>
</button>
</div>
<nav
aria-label="Progress"
>
<span>
Template
</span>
<span>
Recipient
</span>
<span>
Token
</span>
<span
aria-current="step"
>
Amount
</span>
<span>
Schedule
</span>
</nav>
<div
class="my-8 min-h-[300px]"
>
<div
class="mb-6 flex items-center justify-between"
>
<div
class="text-sm text-slate-400"
>
Step
4
of
5
</div>
<div
class="text-xs text-slate-500"
>
80
% complete
</div>
</div>
<div
class="mb-4"
>
<span
class="inline-flex rounded-full border border-accent/40 px-3 py-1 text-xs font-semibold text-accent"
>
Tag:
salary
</span>
</div>
<div
data-testid="amount-step"
>
<input
aria-label="Amount"
value="5000"
/>
</div>
</div>
<div
class="flex justify-between gap-4 pt-6 border-t border-glass-border"
>
<div>
<button
data-variant="outline"
>
<svg
class="w-4 h-4 mr-2"
fill="none"
stroke="currentColor"
viewBox="0 0 24 24"
>
<path
d="M15 19l-7-7 7-7"
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
/>
</svg>
Back
</button>
</div>
<div
class="flex gap-4"
>
<button
data-variant="outline"
>
Cancel
</button>
<button>
Next
<svg
class="w-4 h-4 ml-2"
fill="none"
stroke="currentColor"
viewBox="0 0 24 24"
>
<path
d="M9 5l7 7-7 7"
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
/>
</svg>
</button>
</div>
</div>
</d
|
|
src/components/stream-creation/__tests__/StreamCreationWizard.test.tsx > StreamCreationWizard > redirects to stream page after polling finds the stream:
frontend/src/components/stream-creation/__tests__/StreamCreationWizard.test.tsx#L190
TestingLibraryElementError: Unable to find an element with the text: Create Stream. 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
aria-labelledby="stream-creation-wizard-title"
aria-modal="true"
class="fixed inset-0 z-50 flex items-center justify-center bg-black/50 backdrop-blur-sm"
role="dialog"
>
<div
class="glass-card relative z-10 w-full max-w-2xl mx-4 max-h-[90vh] overflow-y-auto rounded-2xl border border-glass-border p-8"
>
<div
class="flex items-center justify-between mb-6"
>
<h2
class="text-2xl font-bold"
id="stream-creation-wizard-title"
>
Create Payment Stream
</h2>
<button
aria-label="Close"
class="text-slate-400 hover:text-foreground transition-colors"
type="button"
>
<svg
class="w-6 h-6"
fill="none"
stroke="currentColor"
viewBox="0 0 24 24"
>
<path
d="M6 18L18 6M6 6l12 12"
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
/>
</svg>
</button>
</div>
<nav
aria-label="Progress"
>
<span>
Template
</span>
<span>
Recipient
</span>
<span>
Token
</span>
<span
aria-current="step"
>
Amount
</span>
<span>
Schedule
</span>
</nav>
<div
class="my-8 min-h-[300px]"
>
<div
class="mb-6 flex items-center justify-between"
>
<div
class="text-sm text-slate-400"
>
Step
4
of
5
</div>
<div
class="text-xs text-slate-500"
>
80
% complete
</div>
</div>
<div
class="mb-4"
>
<span
class="inline-flex rounded-full border border-accent/40 px-3 py-1 text-xs font-semibold text-accent"
>
Tag:
salary
</span>
</div>
<div
data-testid="amount-step"
>
<input
aria-label="Amount"
value="5000"
/>
</div>
</div>
<div
class="flex justify-between gap-4 pt-6 border-t border-glass-border"
>
<div>
<button
data-variant="outline"
>
<svg
class="w-4 h-4 mr-2"
fill="none"
stroke="currentColor"
viewBox="0 0 24 24"
>
<path
d="M15 19l-7-7 7-7"
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
/>
</svg>
Back
</button>
</div>
<div
class="flex gap-4"
>
<button
data-variant="outline"
>
Cancel
</button>
<button>
Next
<svg
class="w-4 h-4 ml-2"
fill="none"
stroke="currentColor"
viewBox="0 0 24 24"
>
<path
d="M9 5l7 7-7 7"
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
/>
</svg>
</button>
</div>
</div>
</d
|
|
src/components/stream-creation/__tests__/StreamCreationWizard.test.tsx > StreamCreationWizard > calls onSubmit with form data:
frontend/src/components/stream-creation/__tests__/StreamCreationWizard.test.tsx#L190
TestingLibraryElementError: Unable to find an element with the text: Create Stream. 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
aria-labelledby="stream-creation-wizard-title"
aria-modal="true"
class="fixed inset-0 z-50 flex items-center justify-center bg-black/50 backdrop-blur-sm"
role="dialog"
>
<div
class="glass-card relative z-10 w-full max-w-2xl mx-4 max-h-[90vh] overflow-y-auto rounded-2xl border border-glass-border p-8"
>
<div
class="flex items-center justify-between mb-6"
>
<h2
class="text-2xl font-bold"
id="stream-creation-wizard-title"
>
Create Payment Stream
</h2>
<button
aria-label="Close"
class="text-slate-400 hover:text-foreground transition-colors"
type="button"
>
<svg
class="w-6 h-6"
fill="none"
stroke="currentColor"
viewBox="0 0 24 24"
>
<path
d="M6 18L18 6M6 6l12 12"
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
/>
</svg>
</button>
</div>
<nav
aria-label="Progress"
>
<span>
Template
</span>
<span>
Recipient
</span>
<span>
Token
</span>
<span
aria-current="step"
>
Amount
</span>
<span>
Schedule
</span>
</nav>
<div
class="my-8 min-h-[300px]"
>
<div
class="mb-6 flex items-center justify-between"
>
<div
class="text-sm text-slate-400"
>
Step
4
of
5
</div>
<div
class="text-xs text-slate-500"
>
80
% complete
</div>
</div>
<div
class="mb-4"
>
<span
class="inline-flex rounded-full border border-accent/40 px-3 py-1 text-xs font-semibold text-accent"
>
Tag:
salary
</span>
</div>
<div
data-testid="amount-step"
>
<input
aria-label="Amount"
value="5000"
/>
</div>
</div>
<div
class="flex justify-between gap-4 pt-6 border-t border-glass-border"
>
<div>
<button
data-variant="outline"
>
<svg
class="w-4 h-4 mr-2"
fill="none"
stroke="currentColor"
viewBox="0 0 24 24"
>
<path
d="M15 19l-7-7 7-7"
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
/>
</svg>
Back
</button>
</div>
<div
class="flex gap-4"
>
<button
data-variant="outline"
>
Cancel
</button>
<button>
Next
<svg
class="w-4 h-4 ml-2"
fill="none"
stroke="currentColor"
viewBox="0 0 24 24"
>
<path
d="M9 5l7 7-7 7"
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
/>
</svg>
</button>
</div>
</div>
</d
|
|
src/components/stream-creation/__tests__/StreamCreationWizard.test.tsx > StreamCreationWizard > does not submit when on an invalid step:
frontend/src/components/stream-creation/__tests__/StreamCreationWizard.test.tsx#L305
TestingLibraryElementError: Unable to find a label with the text of: Duration
Ignored nodes: comments, script, style
<body>
<div>
<div
aria-labelledby="stream-creation-wizard-title"
aria-modal="true"
class="fixed inset-0 z-50 flex items-center justify-center bg-black/50 backdrop-blur-sm"
role="dialog"
>
<div
class="glass-card relative z-10 w-full max-w-2xl mx-4 max-h-[90vh] overflow-y-auto rounded-2xl border border-glass-border p-8"
>
<div
class="flex items-center justify-between mb-6"
>
<h2
class="text-2xl font-bold"
id="stream-creation-wizard-title"
>
Create Payment Stream
</h2>
<button
aria-label="Close"
class="text-slate-400 hover:text-foreground transition-colors"
type="button"
>
<svg
class="w-6 h-6"
fill="none"
stroke="currentColor"
viewBox="0 0 24 24"
>
<path
d="M6 18L18 6M6 6l12 12"
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
/>
</svg>
</button>
</div>
<nav
aria-label="Progress"
>
<span>
Template
</span>
<span>
Recipient
</span>
<span>
Token
</span>
<span
aria-current="step"
>
Amount
</span>
<span>
Schedule
</span>
</nav>
<div
class="my-8 min-h-[300px]"
>
<div
class="mb-6 flex items-center justify-between"
>
<div
class="text-sm text-slate-400"
>
Step
4
of
5
</div>
<div
class="text-xs text-slate-500"
>
80
% complete
</div>
</div>
<div
class="mb-4"
>
<span
class="inline-flex rounded-full border border-accent/40 px-3 py-1 text-xs font-semibold text-accent"
>
Tag:
salary
</span>
</div>
<div
data-testid="amount-step"
>
<input
aria-label="Amount"
value="5000"
/>
</div>
</div>
<div
class="flex justify-between gap-4 pt-6 border-t border-glass-border"
>
<div>
<button
data-variant="outline"
>
<svg
class="w-4 h-4 mr-2"
fill="none"
stroke="currentColor"
viewBox="0 0 24 24"
>
<path
d="M15 19l-7-7 7-7"
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
/>
</svg>
Back
</button>
</div>
<div
class="flex gap-4"
>
<button
data-variant="outline"
>
Cancel
</button>
<button>
Next
<svg
class="w-4 h-4 ml-2"
fill="none"
stroke="currentColor"
viewBox="0 0 24 24"
>
<path
d="M9 5l7 7-7 7"
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
/>
</svg>
</button>
</div>
</div>
</div>
</div>
</div>
</body>
❯ Object.getElementError ../node_modules/@testing-library/dom/dist/config.js:37:19
❯ getAllByLabelText ../node_modules/@testing-libra
|
|
src/components/stream-creation/__tests__/StreamCreationWizard.test.tsx > StreamCreationWizard > advances past step 4 with a valid amount:
frontend/src/components/stream-creation/__tests__/StreamCreationWizard.test.tsx#L296
TestingLibraryElementError: Unable to find an element with the text: Step 5 of 5. 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
aria-labelledby="stream-creation-wizard-title"
aria-modal="true"
class="fixed inset-0 z-50 flex items-center justify-center bg-black/50 backdrop-blur-sm"
role="dialog"
>
<div
class="glass-card relative z-10 w-full max-w-2xl mx-4 max-h-[90vh] overflow-y-auto rounded-2xl border border-glass-border p-8"
>
<div
class="flex items-center justify-between mb-6"
>
<h2
class="text-2xl font-bold"
id="stream-creation-wizard-title"
>
Create Payment Stream
</h2>
<button
aria-label="Close"
class="text-slate-400 hover:text-foreground transition-colors"
type="button"
>
<svg
class="w-6 h-6"
fill="none"
stroke="currentColor"
viewBox="0 0 24 24"
>
<path
d="M6 18L18 6M6 6l12 12"
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
/>
</svg>
</button>
</div>
<nav
aria-label="Progress"
>
<span>
Template
</span>
<span>
Recipient
</span>
<span>
Token
</span>
<span
aria-current="step"
>
Amount
</span>
<span>
Schedule
</span>
</nav>
<div
class="my-8 min-h-[300px]"
>
<div
class="mb-6 flex items-center justify-between"
>
<div
class="text-sm text-slate-400"
>
Step
4
of
5
</div>
<div
class="text-xs text-slate-500"
>
80
% complete
</div>
</div>
<div
class="mb-4"
>
<span
class="inline-flex rounded-full border border-accent/40 px-3 py-1 text-xs font-semibold text-accent"
>
Tag:
salary
</span>
</div>
<div
data-testid="amount-step"
>
<input
aria-label="Amount"
value="5000"
/>
</div>
</div>
<div
class="flex justify-between gap-4 pt-6 border-t border-glass-border"
>
<div>
<button
data-variant="outline"
>
<svg
class="w-4 h-4 mr-2"
fill="none"
stroke="currentColor"
viewBox="0 0 24 24"
>
<path
d="M15 19l-7-7 7-7"
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
/>
</svg>
Back
</button>
</div>
<div
class="flex gap-4"
>
<button
data-variant="outline"
>
Cancel
</button>
<button>
Next
<svg
class="w-4 h-4 ml-2"
fill="none"
stroke="currentColor"
viewBox="0 0 24 24"
>
<path
d="M9 5l7 7-7 7"
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
/>
</svg>
</button>
</div>
</div>
</div
|
|
src/components/dashboard/dashboard-view.test.tsx > DashboardView + useDashboard cache integration > shows the error state with a retry button when the fetch fails, and retrying refetches:
frontend/src/components/dashboard/dashboard-view.tsx#L524
Error: invariant expected app router to be mounted
❯ useRouter ../node_modules/next/src/client/components/navigation.ts:169:11
❯ DashboardView src/components/dashboard/dashboard-view.tsx:524:18
❯ Object.react_stack_bottom_frame ../node_modules/react-dom/cjs/react-dom-client.development.js:25904:20
❯ renderWithHooks ../node_modules/react-dom/cjs/react-dom-client.development.js:7662:22
❯ updateFunctionComponent ../node_modules/react-dom/cjs/react-dom-client.development.js:10166:19
❯ beginWork ../node_modules/react-dom/cjs/react-dom-client.development.js:11778:18
❯ runWithFiberInDEV ../node_modules/react-dom/cjs/react-dom-client.development.js:874:13
❯ performUnitOfWork ../node_modules/react-dom/cjs/react-dom-client.development.js:17641:22
❯ workLoopSync ../node_modules/react-dom/cjs/react-dom-client.development.js:17469:41
❯ renderRootSync ../node_modules/react-dom/cjs/react-dom-client.development.js:17450:11
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
Serialized Error: { __NEXT_ERROR_CODE: 'E238' }
|
|
src/components/dashboard/dashboard-view.test.tsx > DashboardView + useDashboard cache integration > shows the loading skeleton, then renders content once useDashboard resolves:
frontend/src/components/dashboard/dashboard-view.tsx#L524
Error: invariant expected app router to be mounted
❯ useRouter ../node_modules/next/src/client/components/navigation.ts:169:11
❯ DashboardView src/components/dashboard/dashboard-view.tsx:524:18
❯ Object.react_stack_bottom_frame ../node_modules/react-dom/cjs/react-dom-client.development.js:25904:20
❯ renderWithHooks ../node_modules/react-dom/cjs/react-dom-client.development.js:7662:22
❯ updateFunctionComponent ../node_modules/react-dom/cjs/react-dom-client.development.js:10166:19
❯ beginWork ../node_modules/react-dom/cjs/react-dom-client.development.js:11778:18
❯ runWithFiberInDEV ../node_modules/react-dom/cjs/react-dom-client.development.js:874:13
❯ performUnitOfWork ../node_modules/react-dom/cjs/react-dom-client.development.js:17641:22
❯ workLoopSync ../node_modules/react-dom/cjs/react-dom-client.development.js:17469:41
❯ renderRootSync ../node_modules/react-dom/cjs/react-dom-client.development.js:17450:11
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
Serialized Error: { __NEXT_ERROR_CODE: 'E238' }
|
|
src/components/dashboard/dashboard-view.test.tsx > DashboardView + useDashboard cache integration > does not issue a duplicate network fetch when the dashboard is unmounted and remounted within staleTime (e.g. switching tabs away and back):
frontend/src/components/dashboard/dashboard-view.tsx#L524
Error: invariant expected app router to be mounted
❯ useRouter ../node_modules/next/src/client/components/navigation.ts:169:11
❯ DashboardView src/components/dashboard/dashboard-view.tsx:524:18
❯ Object.react_stack_bottom_frame ../node_modules/react-dom/cjs/react-dom-client.development.js:25904:20
❯ renderWithHooks ../node_modules/react-dom/cjs/react-dom-client.development.js:7662:22
❯ updateFunctionComponent ../node_modules/react-dom/cjs/react-dom-client.development.js:10166:19
❯ beginWork ../node_modules/react-dom/cjs/react-dom-client.development.js:11778:18
❯ runWithFiberInDEV ../node_modules/react-dom/cjs/react-dom-client.development.js:874:13
❯ performUnitOfWork ../node_modules/react-dom/cjs/react-dom-client.development.js:17641:22
❯ workLoopSync ../node_modules/react-dom/cjs/react-dom-client.development.js:17469:41
❯ renderRootSync ../node_modules/react-dom/cjs/react-dom-client.development.js:17450:11
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
Serialized Error: { __NEXT_ERROR_CODE: 'E238' }
|
|
Backend CI
Process completed with exit code 1.
|
|
Soroban Contracts CI
Process completed with exit code 1.
|
|
Detect changes
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, dorny/paths-filter@v3. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
Frontend CI
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 CI:
frontend/tailwind.config.mjs#L4
Assign object to a variable before exporting as module default
|
|
Frontend CI:
frontend/src/app/streams/create/create-stream-content.tsx#L37
'_resetForm' is assigned a value but never used
|
|
Frontend CI:
frontend/src/app/settings/__tests__/settings-content.test.tsx#L73
React Hook React.useEffect has a missing dependency: 'onConfirm'. Either include it or remove the dependency array. If 'onConfirm' changes too often, find the parent component that defines it and wrap that definition in useCallback
|
|
Frontend CI:
frontend/src/app/dashboard/calendar/page.tsx#L90
React Hook useEffect has a missing dependency: 'session'. Either include it or remove the dependency array
|
|
Frontend CI:
frontend/e2e/mocks/api-server.mjs#L112
'ledgerKeyXdr' is defined but never used
|
|
Frontend CI:
frontend/e2e/mocks/api-server.mjs#L25
'accountSequence' is assigned a value but never used
|
|
Backend CI
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 Docker Image CI
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, dorny/paths-filter@v3. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
Soroban Contracts CI
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/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
Soroban Contracts CI
Unexpected input(s) 'workspace', valid inputs are ['prefix-key', 'shared-key', 'key', 'add-job-id-key', 'add-rust-environment-hash-key', 'env-vars', 'workspaces', 'cache-directories', 'cache-targets', 'cache-on-failure', 'cache-all-crates', 'cache-workspace-crates', 'save-if', 'cache-provider', 'cache-bin', 'lookup-only', 'cmd-format']
|