mirror of
https://github.com/actualbudget/actual.git
synced 2026-07-15 14:43:36 -05:00
[Bug]: Nordigen requisition expiration shows a generic error #483
Closed
opened 2026-02-28 19:05:48 -06:00 by GiteaMirror
·
8 comments
No Branch/Tag Specified
master
tabedzki/feat/replacing-month-picker-with-day-picker
enforce-append-only-migrations-ci
delay-initial-sync-until-loaded
jfdoming/mobile-app-build
cross-version-sync-compat
claude/error-codes-worker-boundary-26i5uu
jfdoming/api-tokens-part-1
jfdoming/api-tokens-part-2
jfdoming/api-tokens-part-3
jfdoming/mobile-app-updates
api-browser-custom-data-dir
claude/budget-version-migration-compat-151jlr
claude/worker-error-serialization-9iqtl7
claude/react-table-library-research-afx83z
claude/issue-8401-regression-test-9nw9l3
jfdoming/mobile-app-foundation-part-1
jfdoming/mobile-app-scaffold
release
ai-fix-cleanup-def-8290
claude/relaxed-shannon-jusywa
claude/fervent-keller-s6f2fq
claude/determined-feynman-st1y9z
claude/wizardly-einstein-vi2wce
claude/sweet-albattani-7nseio
feat/bank-sync-per-budget-file
claude/affectionate-cannon-y0kc82
claude/dependabot-findings-m9pgmb
claude/mac-app-ios-publish-zjs1lz
claude/vigilant-tesla-aiiyos
depot-migrate-secrets-1781296330308
claude/quirky-cerf-v5qck7
claude/animation-removal-alternative-2etfh1
claude/netlify-preview-comments-consolidate-9XPYa
osc/7391-error-boundaries-reports
claude/pensive-dijkstra-7DYui
claude/server-app-version-mismatch-HTCGv
claude/pr-8027-review-feedback-mELuO
claude/zealous-wozniak-e5pO0
claude/intelligent-heisenberg-BSHJq
claude/translation-download-refactor-jFRsO
claude/mobile-performance-ideas-G9PAO
claude/github-issue-7988-5A5ly
blacksmith-migration-ff70d2d
claude/great-mayer-KRvOk
claude/react-native-ios-compilation-fcJh5
claude/serene-goldberg-58xv0
claude/kind-euler-LVG3K
release-automation/edge-nightly
7710-bundle-migrations
claude/fix-docker-build-error-WMfed
claude/llm-compatible-release-notes-t20Nr
7710-tests-tdd
cursor/transaction-table-rewrite-f077
claude/plan-ci-secure-context-OtEe1
claude/fix-issue-7667-DPXi3
cursor/resolve-pr-7449-ee11
claude/fix-typescript-build-error-JPtZ5
copilot/add-repository-configs-to-packages
worktree-compressed-drifting-ritchie
claude/api-consumer-verification-kfz1K
pr-7454
claude/fix-issue-7410-LLLQ4
revert-7281-generate-icons
react-query-useSchedules
copilot/sub-pr-6140
package-upgrades
v26.7.0
v26.6.0
v26.5.2
v26.5.1
v26.5.0
v26.4.0
v26.3.0
v26.2.1
v26.2.0
v26.1.0
v25.12.0
v25.11.0
v25.10.0
v25.9.0
v25.8.0
v25.7.1
v25.7.0
v25.6.1
v25.6.0
v25.5.0
v25.4.0
v25.3.1
v25.3.0
v25.2.1
v25.2.0
v25.1.0
v24.12.0
v24.11.0
v24.10.1
v24.10.0
v24.9.0
v24.8.0
v24.7.0
v24.6.0
v24.5.0
v24.4.0
v24.3.0
v24.2.0
v24.1.0
v23.12.0
v23.11.0
v23.10.0
v23.9.0
v23.8.1
v23.8.0
v23.7.2
v23.7.1
v23.7.0
v23.6.0
v23.5.0
v23.4.2
v23.4.1
v23.4.0
v23.3.2
v23.3.0
v23.2.9
v23.2.5
v23.1.12
v22.12.9
Labels
Clear labels
AI generated
API
bank sync
budgeting
bug
can’t replicate
dependencies
docker
documentation
electron
experimental feature
feature
feedback
goal templates
good first issue
help wanted
importers
maintenance
needs info
needs testing
needs triage
needs votes
openid
payees
pull-request
regression
reports
responsive
rules
schedules
server
✨ merged
split transactions
tech debt
tech-support
theme
transaction import
transaction reconciliation
transactions
translations
upstream
user interface
✅ approved
wontfix
Mirrored from GitHub Pull Request
Milestone
No items
No Milestone
Projects
Clear projects
No project
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: github-starred/actual#483
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @Jackenmen on GitHub (Jul 5, 2023).
Verified issue does not already exist?
What happened?
When I try to sync an account with an expired End User Agreement (EUA), I get a generic "Failed syncing account ACCOUNT NAME" error with no details on what is wrong and no way to remediate it. I'm not sure if anything changed but Actual used to (or maybe still does) provide a button to relink the account when sync failed, I think it would be great if it did that in this specific case (I'm not sure if it should suggest it in any other case since it probably wouldn't help in other ones?).
It would be even better if more details were shown instead of a generic error message when it comes to other errors that one can encounter.
What error did you receive?
Just a generic "Failed syncing account ACCOUNT NAME" in the client.
In server logs, I get:
Note that this happened on Actual 23.6.0 as it isn't currently recommended to use 23.7.0.
Where are you hosting Actual?
Fly.io
What browsers are you seeing the problem on?
Chrome
Operating System
Linux
@MatissJanis commented on GitHub (Jul 5, 2023):
Can you try this in v23.7.1? Should be much better experience in the latest version.
@Jackenmen commented on GitHub (Jul 11, 2023):
It is better, yeah:

I do still think that:
a) the prompt should allow you to relink the account, not just unlink it
b) the error message should just clearly say that it's about expiration
400400is also returned for an invalid account ID but we use the account ID directly from the requisition data so we should never run into thatstatusfield of a requisition before sending a request to the accounts endpoint but it does not seem to get triggered here@Jackenmen commented on GitHub (Jul 11, 2023):
I looked into server logs after I checked this again today and it seems that it just 404s now, unlike what it did before (as documented in the issue description). This happens for the requisition endpoint so it seems that Nordigen eventually makes the requisition data unavailable and this should probably be treated similarly to expiration.
@MatissJanis commented on GitHub (Jul 18, 2023):
👋 You'll want to contact Nordigen to get this fixed. Under normal circumstances when the access expires we get back a
ITEM_LOGIN_REQUIREDerror. At which point we allow the user to reautheticate.@Jackenmen commented on GitHub (Jul 18, 2023):
That error code is actual-server's, not Nordigen's:
354152dbb5/src/app-nordigen/app-nordigen.js (L181-L189)which could mean that my previous comment:
is relevant but I can't really check since my previous requisition has expired long enough that it is now removed from Nordigen's database and showing as 404 (which I think should be handled as well as Actual shouldn't impose a time limit on how long it shows this button).
Either way, I think that 404s should be handled even if they may need a different action (I don't know if the existing requisition is required for something in the reauth process). It would IMO be a lot better UX than having an unlink button that doesn't guide you to the link process again. The simplest solution would probably be to just have the Relink button show the regular bank connect prompt and have it unlink the previous account if that's successful.
@andreapx commented on GitHub (Oct 11, 2023):
Hi @Jackenmen have you solved this problem?
I get the EUA expired error, how did you manage to renew it?
Thanks!
@andreapx commented on GitHub (Oct 11, 2023):
I'm on 23.10.0 and I don't see that message, I just see a popup saying Failed syncing account “ACCOUNT MANE”.
I see the EUA expired message only in the log.
@danielo515 commented on GitHub (Aug 30, 2024):
So, I'm on version
24.8.0and I'm getting the same error with the same root cause:Why unless offer Unlink account don't you offer the Reauthorize button anyway? How I am supposed to reauthorize then? What are the consequences of Unlinking the account?