Skip to content

refactor(events): consolidate wallet event list query logic (#1271) #1537

refactor(events): consolidate wallet event list query logic (#1271)

refactor(events): consolidate wallet event list query logic (#1271) #1537

Triggered via pull request September 2, 2026 17:18
Status Failure
Total duration 4m 51s
Artifacts

ci.yml

on: pull_request
Detect changes
4s
Detect changes
Frontend CI
1m 1s
Frontend CI
Backend Docker Image CI
1m 17s
Backend Docker Image CI
Soroban Contracts CI
4m 46s
Soroban Contracts CI
Backend CI
57s
Backend CI
Fit to window
Zoom out
Zoom in

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']