[GH-ISSUE #4695] [Bug]: Unable to add account from goCardless #27779

Closed
opened 2026-04-18 04:23:11 -05:00 by GiteaMirror · 10 comments
Owner

Originally created by @Rihan9 on GitHub (Mar 27, 2025).
Original GitHub issue: https://github.com/actualbudget/actual/issues/4695

Verified issue does not already exist?

  • I have searched and found no existing issue

What happened?

a blank page is what I received after trying to add my accounts throgh goCardless:

Image

A connection is consumed at every try...

How can we reproduce the issue?

add an account with goCardless.
Country: Italy,
Bank: Mediobanca Premier,
Browser: Chrome (both 134.0.6998.166 and 134.0.6998.178) or edge (134.0.3124.83)

Where are you hosting Actual?

Docker

What browsers are you seeing the problem on?

Chrome

Operating System

Windows 11

Originally created by @Rihan9 on GitHub (Mar 27, 2025). Original GitHub issue: https://github.com/actualbudget/actual/issues/4695 ### Verified issue does not already exist? - [x] I have searched and found no existing issue ### What happened? a blank page is what I received after trying to add my accounts throgh goCardless: ![Image](https://github.com/user-attachments/assets/d6c22af4-6a2f-4595-92c5-8e85e9650107) A connection is consumed at every try... ### How can we reproduce the issue? add an account with goCardless. Country: Italy, Bank: Mediobanca Premier, Browser: Chrome (both 134.0.6998.166 and 134.0.6998.178) or edge (134.0.3124.83) ### Where are you hosting Actual? Docker ### What browsers are you seeing the problem on? Chrome ### Operating System Windows 11
GiteaMirror added the needs infobug labels 2026-04-18 04:23:11 -05:00
Author
Owner

@xBlady commented on GitHub (Mar 27, 2025):

sync with gocardless doesn't work for me at the moment

<!-- gh-comment-id:2759526077 --> @xBlady commented on GitHub (Mar 27, 2025): sync with gocardless doesn't work for me at the moment
Author
Owner

@MatissJanis commented on GitHub (Mar 28, 2025):

👋 This should be fixed in edge. Could you verify?

Otherwise - please wait for v25.4.0 where the patch will also be.

<!-- gh-comment-id:2761455830 --> @MatissJanis commented on GitHub (Mar 28, 2025): 👋 This should be fixed in [edge](https://edge.actualbudget.org). Could you verify? Otherwise - please wait for v25.4.0 where the patch will also be.
Author
Owner

@Rihan9 commented on GitHub (Mar 28, 2025):

Hi @MatissJanis I can confirm that. In edge, my bank account is working, at least one of them. Hi have 2 bank account in my "userspace" ( I don't know how to write this in English, so if you have trouble understand me please let me know), one of them is a "Deposit". This one doesn't sync properly.

Image

What do you think is better? Close this one and open another issue, let this issue open until V25.4.0 is live and still open another issue for this, or continue this issue for this problem?

<!-- gh-comment-id:2761744295 --> @Rihan9 commented on GitHub (Mar 28, 2025): Hi @MatissJanis I can confirm that. In edge, my bank account is working, at least one of them. Hi have 2 bank account in my "userspace" ( I don't know how to write this in English, so if you have trouble understand me please let me know), one of them is a "Deposit". This one doesn't sync properly. ![Image](https://github.com/user-attachments/assets/fbf4ebfd-1269-42af-b815-26e7df16959c) What do you think is better? Close this one and open another issue, let this issue open until V25.4.0 is live and still open another issue for this, or continue this issue for this problem?
Author
Owner

@MatissJanis commented on GitHub (Mar 28, 2025):

Would you mind sending the output of both - your server logs and the browser console logs? There should be something after you fail the sync operation.

<!-- gh-comment-id:2762000652 --> @MatissJanis commented on GitHub (Mar 28, 2025): Would you mind sending the output of both - your server logs and the browser console logs? There should be something after you fail the sync operation.
Author
Owner

@Rihan9 commented on GitHub (Mar 28, 2025):

Sorry abount the deletion of the previous comment. I forgot to scrap some information in the log.
from Edge dev Console:

Image

last 500 rows server log:

                              _header: 'GET /api/v2/accounts/{{OMITTED}}/ HTTP/1.1\r\n' +
                                'Accept: application/json\r\n' +
                                'Content-Type: application/json\r\n' +
                                'User-Agent: Nordigen-Node-v2\r\n' +
                                'Authorization: '{{OMITTED}}'
                                'Accept-Encoding: gzip, compress, deflate, br\r\n' +
                                'Host: bankaccountdata.gocardless.com\r\n' +
                                'Connection: close\r\n' +
                                '\r\n',
                              _keepAliveTimeout: 0,
                              _onPendingData: [Function: nop],
                              agent: [Circular *4],
                              socketPath: undefined,
                              method: 'GET',
                              maxHeaderSize: undefined,
                              insecureHTTPParser: undefined,
                              joinDuplicateHeaders: undefined,
                              path: '/api/v2/accounts/{{OMITTED}}/',
                              _ended: false,
                              res: null,
                              aborted: false,
                              timeoutCb: null,
                              upgradeOrConnect: false,
                              parser: [Circular *12],
                              maxHeadersCount: null,
                              reusedSocket: false,
                              host: 'bankaccountdata.gocardless.com',
                              protocol: 'https:',
                              _redirectable: Writable {
                                _writableState: WritableState {
                                  objectMode: false,
                                  highWaterMark: 16384,
                                  finalCalled: false,
                                  needDrain: false,
                                  ending: false,
                                  ended: false,
                                  finished: false,
                                  destroyed: false,
                                  decodeStrings: true,
                                  defaultEncoding: 'utf8',
                                  length: 0,
                                  writing: false,
                                  corked: 0,
                                  sync: true,
                                  bufferProcessing: false,
                                  onwrite: [Function: bound onwrite],
                                  writecb: null,
                                  writelen: 0,
                                  afterWriteTickInfo: null,
                                  buffered: [],
                                  bufferedIndex: 0,
                                  allBuffers: true,
                                  allNoop: true,
                                  pendingcb: 0,
                                  constructed: true,
                                  prefinished: false,
                                  errorEmitted: false,
                                  emitClose: true,
                                  autoDestroy: true,
                                  errored: null,
                                  closed: false,
                                  closeEmitted: false,
                                  [Symbol(kOnFinished)]: []
                                },
                                _events: [Object: null prototype] {
                                  response: [Function (anonymous)],
                                  error: [Function (anonymous)],
                                  socket: [Function (anonymous)]
                                },
                                _eventsCount: 3,
                                _maxListeners: undefined,
                                _options: {
                                  maxRedirects: 21,
                                  maxBodyLength: Infinity,
                                  protocol: 'https:',
                                  path: '/api/v2/accounts/{{OMITTED}}/',
                                  method: 'GET',
                                  headers: [Object: null prototype] {
                                    Accept: 'application/json',
                                    'Content-Type': 'application/json',
                                    'User-Agent': 'Nordigen-Node-v2',
                                    'Authorization': '{{OMITTED}}'
                                    'Accept-Encoding': 'gzip, compress, deflate, br'
                                  },
                                  agents: { http: undefined, https: undefined },
                                  auth: null,
                                  beforeRedirect: [Function: Ls],
                                  beforeRedirects: { proxy: [Function (anonymous)] },
                                  hostname: 'bankaccountdata.gocardless.com',
                                  port: null,
                                  agent: undefined,
                                  nativeProtocols: [Circular *6],
                                  pathname: '/api/v2/accounts/{{OMITTED}}/',
                                  slashes: true,
                                  hash: null,
                                  search: null,
                                  query: null,
                                  href: 'https://bankaccountdata.gocardless.com/api/v2/accounts/{{OMITTED}}/'
                                },
                                _ended: true,
                                _ending: true,
                                _redirectCount: 1,
                                _redirects: [],
                                _requestBodyLength: 0,
                                _requestBodyBuffers: [],
                                _onNativeResponse: [Function (anonymous)],
                                _currentRequest: [Circular *13],
                                _currentUrl: 'https://bankaccountdata.gocardless.com/api/v2/accounts/{{OMITTED}}/',
                                _isRedirect: true,
                                [Symbol(kCapture)]: false
                              },
                              [Symbol(kCapture)]: false,
                              [Symbol(kBytesWritten)]: 0,
                              [Symbol(kNeedDrain)]: false,
                              [Symbol(corked)]: 0,
                              [Symbol(kOutHeaders)]: [Object: null prototype] {
                                accept: [ 'Accept', 'application/json' ],
                                'content-type': [ 'Content-Type', 'application/json' ],
                                'user-agent': [ 'User-Agent', 'Nordigen-Node-v2' ],
                                Authorization: '{{OMITTED}}'
                                  'Authorization: '{{OMITTED}}'
                                  'Bearer {{OMITTED}}
                                ],
                                'accept-encoding': [
                                  'Accept-Encoding',
                                  'gzip, compress, deflate, br'
                                ],
                                host: [
                                  'Host',
                                  'bankaccountdata.gocardless.com'
                                ]
                              },
                              [Symbol(errored)]: null,
                              [Symbol(kHighWaterMark)]: 16384,
                              [Symbol(kRejectNonStandardBodyWrites)]: false,
                              [Symbol(kUniqueHeaders)]: null
                            }
                          }
                        },
                        _httpMessage: <ref *13> ClientRequest {
                          _events: [Object: null prototype] {
                            response: [Function: bound onceWrapper] {
                              listener: [Function (anonymous)]
                            },
                            abort: [Function (anonymous)],
                            aborted: [Function (anonymous)],
                            connect: [Function (anonymous)],
                            error: [Function (anonymous)],
                            socket: [Function (anonymous)],
                            timeout: [Function (anonymous)]
                          },
                          _eventsCount: 7,
                          _maxListeners: undefined,
                          outputData: [],
                          outputSize: 0,
                          writable: true,
                          destroyed: false,
                          _last: true,
                          chunkedEncoding: false,
                          shouldKeepAlive: false,
                          maxRequestsOnConnectionReached: false,
                          _defaultKeepAlive: true,
                          useChunkedEncodingByDefault: false,
                          sendDate: false,
                          _removedConnection: false,
                          _removedContLen: false,
                          _removedTE: false,
                          strictContentLength: false,
                          _contentLength: 0,
                          _hasBody: true,
                          _trailer: '',
                          finished: true,
                          _headerSent: true,
                          _closed: false,
                          socket: [Circular *11],
                          _header: 'GET /api/v2/accounts/{{OMITTED}}/ HTTP/1.1\r\n' +
                            'Accept: application/json\r\n' +
                            'Content-Type: application/json\r\n' +
                            'User-Agent: Nordigen-Node-v2\r\n' +
                            'Authorization: '{{OMITTED}}'
                            'Accept-Encoding: gzip, compress, deflate, br\r\n' +
                            'Host: bankaccountdata.gocardless.com\r\n' +
                            'Connection: close\r\n' +
                            '\r\n',
                          _keepAliveTimeout: 0,
                          _onPendingData: [Function: nop],
                          agent: [Circular *4],
                          socketPath: undefined,
                          method: 'GET',
                          maxHeaderSize: undefined,
                          insecureHTTPParser: undefined,
                          joinDuplicateHeaders: undefined,
                          path: '/api/v2/accounts/{{OMITTED}}/',
                          _ended: false,
                          res: null,
                          aborted: false,
                          timeoutCb: null,
                          upgradeOrConnect: false,
                          parser: <ref *12> HTTPParser {
                            '0': null,
                            '1': [Function: parserOnHeaders],
                            '2': [Function: parserOnHeadersComplete],
                            '3': [Function: parserOnBody],
                            '4': [Function: parserOnMessageComplete],
                            '5': null,
                            '6': null,
                            _headers: [],
                            _url: '',
                            socket: [Circular *11],
                            incoming: null,
                            outgoing: [Circular *13],
                            maxHeaderPairs: 2000,
                            _consumed: false,
                            onIncoming: [Function: parserOnIncomingClient],
                            joinDuplicateHeaders: undefined,
                            [Symbol(resource_symbol)]: HTTPClientAsyncResource {
                              type: 'HTTPINCOMINGMESSAGE',
                              req: [Circular *13]
                            }
                          },
                          maxHeadersCount: null,
                          reusedSocket: false,
                          host: 'bankaccountdata.gocardless.com',
                          protocol: 'https:',
                          _redirectable: Writable {
                            _writableState: WritableState {
                              objectMode: false,
                              highWaterMark: 16384,
                              finalCalled: false,
                              needDrain: false,
                              ending: false,
                              ended: false,
                              finished: false,
                              destroyed: false,
                              decodeStrings: true,
                              defaultEncoding: 'utf8',
                              length: 0,
                              writing: false,
                              corked: 0,
                              sync: true,
                              bufferProcessing: false,
                              onwrite: [Function: bound onwrite],
                              writecb: null,
                              writelen: 0,
                              afterWriteTickInfo: null,
                              buffered: [],
                              bufferedIndex: 0,
                              allBuffers: true,
                              allNoop: true,
                              pendingcb: 0,
                              constructed: true,
                              prefinished: false,
                              errorEmitted: false,
                              emitClose: true,
                              autoDestroy: true,
                              errored: null,
                              closed: false,
                              closeEmitted: false,
                              [Symbol(kOnFinished)]: []
                            },
                            _events: [Object: null prototype] {
                              response: [Function (anonymous)],
                              error: [Function (anonymous)],
                              socket: [Function (anonymous)]
                            },
                            _eventsCount: 3,
                            _maxListeners: undefined,
                            _options: {
                              maxRedirects: 21,
                              maxBodyLength: Infinity,
                              protocol: 'https:',
                              path: '/api/v2/accounts/{{OMITTED}}/',
                              method: 'GET',
                              headers: [Object: null prototype] {
                                Accept: 'application/json',
                                'Content-Type': 'application/json',
                                'User-Agent': 'Nordigen-Node-v2',
                                Authorization: '{{OMITTED}}'
                                'Accept-Encoding': 'gzip, compress, deflate, br'
                              },
                              agents: { http: undefined, https: undefined },
                              auth: null,
                              beforeRedirect: [Function: Ls],
                              beforeRedirects: { proxy: [Function (anonymous)] },
                              hostname: 'bankaccountdata.gocardless.com',
                              port: null,
                              agent: undefined,
                              nativeProtocols: [Circular *6],
                              pathname: '/api/v2/accounts/{{OMITTED}}/',
                              slashes: true,
                              hash: null,
                              search: null,
                              query: null,
                              href: 'https://bankaccountdata.gocardless.com/api/v2/accounts/{{OMITTED}}/'
                            },
                            _ended: true,
                            _ending: true,
                            _redirectCount: 1,
                            _redirects: [],
                            _requestBodyLength: 0,
                            _requestBodyBuffers: [],
                            _onNativeResponse: [Function (anonymous)],
                            _currentRequest: [Circular *13],
                            _currentUrl: 'https://bankaccountdata.gocardless.com/api/v2/accounts/{{OMITTED}}/',
                            _isRedirect: true,
                            [Symbol(kCapture)]: false
                          },
                          [Symbol(kCapture)]: false,
                          [Symbol(kBytesWritten)]: 0,
                          [Symbol(kNeedDrain)]: false,
                          [Symbol(corked)]: 0,
                          [Symbol(kOutHeaders)]: [Object: null prototype] {
                            accept: [ 'Accept', 'application/json' ],
                            'content-type': [ 'Content-Type', 'application/json' ],
                            'user-agent': [ 'User-Agent', 'Nordigen-Node-v2' ],
                            Authorization: '{{OMITTED}}'
                              'Authorization: '{{OMITTED}}'
                              'Bearer {{OMITTED}}
                            ],
                            'accept-encoding': [
                              'Accept-Encoding',
                              'gzip, compress, deflate, br'
                            ],
                            host: [
                              'Host',
                              'bankaccountdata.gocardless.com'
                            ]
                          },
                          [Symbol(errored)]: null,
                          [Symbol(kHighWaterMark)]: 16384,
                          [Symbol(kRejectNonStandardBodyWrites)]: false,
                          [Symbol(kUniqueHeaders)]: null
                        },
                        [Symbol(alpncallback)]: null,
                        [Symbol(res)]: TLSWrap {
                          _parent: TCP {
                            reading: [Getter/Setter],
                            onconnection: null,
                            [Symbol(owner_symbol)]: [Circular *11]
                          },
                          _parentWrap: null,
                          _secureContext: SecureContext { context: SecureContext {} },
                          reading: true,
                          onkeylog: [Function: onkeylog],
                          onhandshakestart: {},
                          onhandshakedone: [Function (anonymous)],
                          onocspresponse: [Function: onocspresponse],
                          onnewsession: [Function: onnewsessionclient],
                          onerror: [Function: onerror],
                          [Symbol(owner_symbol)]: [Circular *11]
                        },
                        [Symbol(verified)]: true,
                        [Symbol(pendingSession)]: null,
                        [Symbol(async_id_symbol)]: 20205,
                        [Symbol(kHandle)]: TLSWrap {
                          _parent: TCP {
                            reading: [Getter/Setter],
                            onconnection: null,
                            [Symbol(owner_symbol)]: [Circular *11]
                          },
                          _parentWrap: null,
                          _secureContext: SecureContext { context: SecureContext {} },
                          reading: true,
                          onkeylog: [Function: onkeylog],
                          onhandshakestart: {},
                          onhandshakedone: [Function (anonymous)],
                          onocspresponse: [Function: onocspresponse],
                          onnewsession: [Function: onnewsessionclient],
                          onerror: [Function: onerror],
                          [Symbol(owner_symbol)]: [Circular *11]
                        },
                        [Symbol(lastWriteQueueSize)]: 0,
                        [Symbol(timeout)]: null,
                        [Symbol(kBuffer)]: null,
                        [Symbol(kBufferCb)]: null,
                        [Symbol(kBufferGen)]: null,
                        [Symbol(kCapture)]: false,
                        [Symbol(kSetNoDelay)]: false,
                        [Symbol(kSetKeepAlive)]: true,
                        [Symbol(kSetKeepAliveInitialDelay)]: 60,
                        [Symbol(kBytesRead)]: 0,
                        [Symbol(kBytesWritten)]: 0,
                        [Symbol(connect-options)]: {
                          rejectUnauthorized: true,
                          ciphers: 'TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES256-SHA384:ECDHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA256:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!SRP:!CAMELLIA',
                          checkServerIdentity: [Function: checkServerIdentity],
                          minDHSize: 1024,
                          session: <Buffer 30 82 05 33 02 01 01 02 02 03 04 04 02 13 02 04 20 81 f9 21 48 41 35 bd f4 d2 6f 4c 38 09 67 c8 3a df 54 4d b2 95 d9 96 a8 9d 26 53 d7 40 c8 f6 94 04 ... 1285 more bytes>,
                          maxRedirects: 21,
                          maxBodyLength: Infinity,
                          protocol: 'https:',
                          path: null,
                          method: 'GET',
                          headers: [Object: null prototype] {
                            Accept: 'application/json',
                            'Content-Type': 'application/json',
                            'User-Agent': 'Nordigen-Node-v2',
                            Authorization: '{{OMITTED}}'
                            'Accept-Encoding': 'gzip, compress, deflate, br'
                          },
                          agents: { http: undefined, https: undefined },
                          auth: null,
                          beforeRedirect: [Function: Ls],
                          beforeRedirects: { proxy: [Function (anonymous)] },
                          hostname: 'bankaccountdata.gocardless.com',
                          port: 443,
                          agent: undefined,
                          nativeProtocols: [Circular *6],
                          pathname: '/api/v2/accounts/{{OMITTED}}/',
                          slashes: true,
                          hash: null,
                          search: null,
                          query: null,
                          href: 'https://bankaccountdata.gocardless.com/api/v2/accounts/{{OMITTED}}/',
                          _defaultAgent: [Circular *4],
                          host: 'bankaccountdata.gocardless.com',
                          noDelay: true,
                          servername: 'bankaccountdata.gocardless.com',
                          _agentKey: 'bankaccountdata.gocardless.com:443:::::::::::::::::::::',
                          encoding: null,
                          singleUse: true
                        }
                      }
                    ]
                  },
                  freeSockets: [Object: null prototype] {},
                  keepAliveMsecs: 1000,
                  keepAlive: false,
                  maxSockets: Infinity,
                  maxFreeSockets: 256,
                  scheduling: 'lifo',
                  maxTotalSockets: Infinity,
                  totalSocketCount: 4,
                  maxCachedSessions: 100,
                  _sessionCache: {
                    map: {
                      '{{OMITTED}}:443:::::::::::::::::::::': <Buffer 30 82 04 7e 02 01 01 02 02 03 04 04 02 13 01 04 20 da bd 8c 0c 14 77 95 30 bf 20 a6 dd b3 2b fe 26 20 dd 9b a4 28 99 70 fd 9c e7 49 17 16 f7 6d 91 04 ... 1104 more bytes>,
                      'bankaccountdata.gocardless.com:443:::::::::::::::::::::': <Buffer 30 82 05 34 02 01 01 02 02 03 04 04 02 13 02 04 20 44 83 4f 59 33 53 2d 89 e8 29 b1 4d d4 19 ce 0d fc 19 11 1f 32 f7 12 98 3e de 92 9b 69 e1 a4 06 04 ... 1286 more bytes>
                    },
                    list: [
                      '{{OMITTED}}:443:::::::::::::::::::::',
                      'bankaccountdata.gocardless.com:443:::::::::::::::::::::'
                    ]
                  },
                  [Symbol(kCapture)]: false
                },
                Server: [Function: Server],
                createServer: [Function: createServer],
                get: [Function: get],
                request: [Function: request]
              }
            },
            pathname: '/api/v2/accounts/{{OMITTED}}/details/',
            slashes: true,
            hash: null,
            search: null,
            query: null,
            href: 'https://bankaccountdata.gocardless.com/api/v2/accounts/{{OMITTED}}/details/'

          },
          _ended: true,
          _ending: true,
          _redirectCount: 1,
          _redirects: [],
          _requestBodyLength: 0,
          _requestBodyBuffers: [],
          _onNativeResponse: [Function (anonymous)],
          _currentRequest: [Circular *2],
          _currentUrl: 'https://bankaccountdata.gocardless.com/api/v2/accounts/{{OMITTED}}/details/',
          _isRedirect: true,
          [Symbol(kCapture)]: false
        },
        [Symbol(kCapture)]: false,
        [Symbol(kBytesWritten)]: 0,
        [Symbol(kNeedDrain)]: false,
        [Symbol(corked)]: 0,
        [Symbol(kOutHeaders)]: [Object: null prototype] {
          accept: [ 'Accept', 'application/json' ],
          'content-type': [ 'Content-Type', 'application/json' ],
          'user-agent': [ 'User-Agent', 'Nordigen-Node-v2' ],
          Authorization: '{{OMITTED}}'
            'Authorization: '{{OMITTED}}'
            'Bearer {{OMITTED}}

          ],
          'accept-encoding': [ 'Accept-Encoding', 'gzip, compress, deflate, br' ],
          host: [ 'Host', 'bankaccountdata.gocardless.com' ]
        },
        [Symbol(errored)]: null,
        [Symbol(kHighWaterMark)]: 16384,
        [Symbol(kRejectNonStandardBodyWrites)]: false,
        [Symbol(kUniqueHeaders)]: null
      },
      data: {
        summary: 'Rate limit exceeded',
        detail: 'The rate limit for this resource is 4/day. Please try again in 69304 seconds',
        status_code: 429
      }
    }
  }
}
2025-03-28T20:24:54.983Z info: POST 200 /gocardless/get-accounts

I really hope that i didn't leave some authentication token or some personal data visible :D.
I think it's possible that I hit some rate limit today. I made way to many tests, so I don't know if the error is showed. I'll retry some time later tomorrow

<!-- gh-comment-id:2762412801 --> @Rihan9 commented on GitHub (Mar 28, 2025): Sorry abount the deletion of the previous comment. I forgot to scrap some information in the log. from Edge dev Console: ![Image](https://github.com/user-attachments/assets/ded01dc9-abd9-4b29-a58d-a955a247b475) last 500 rows server log: ``` _header: 'GET /api/v2/accounts/{{OMITTED}}/ HTTP/1.1\r\n' + 'Accept: application/json\r\n' + 'Content-Type: application/json\r\n' + 'User-Agent: Nordigen-Node-v2\r\n' + 'Authorization: '{{OMITTED}}' 'Accept-Encoding: gzip, compress, deflate, br\r\n' + 'Host: bankaccountdata.gocardless.com\r\n' + 'Connection: close\r\n' + '\r\n', _keepAliveTimeout: 0, _onPendingData: [Function: nop], agent: [Circular *4], socketPath: undefined, method: 'GET', maxHeaderSize: undefined, insecureHTTPParser: undefined, joinDuplicateHeaders: undefined, path: '/api/v2/accounts/{{OMITTED}}/', _ended: false, res: null, aborted: false, timeoutCb: null, upgradeOrConnect: false, parser: [Circular *12], maxHeadersCount: null, reusedSocket: false, host: 'bankaccountdata.gocardless.com', protocol: 'https:', _redirectable: Writable { _writableState: WritableState { objectMode: false, highWaterMark: 16384, finalCalled: false, needDrain: false, ending: false, ended: false, finished: false, destroyed: false, decodeStrings: true, defaultEncoding: 'utf8', length: 0, writing: false, corked: 0, sync: true, bufferProcessing: false, onwrite: [Function: bound onwrite], writecb: null, writelen: 0, afterWriteTickInfo: null, buffered: [], bufferedIndex: 0, allBuffers: true, allNoop: true, pendingcb: 0, constructed: true, prefinished: false, errorEmitted: false, emitClose: true, autoDestroy: true, errored: null, closed: false, closeEmitted: false, [Symbol(kOnFinished)]: [] }, _events: [Object: null prototype] { response: [Function (anonymous)], error: [Function (anonymous)], socket: [Function (anonymous)] }, _eventsCount: 3, _maxListeners: undefined, _options: { maxRedirects: 21, maxBodyLength: Infinity, protocol: 'https:', path: '/api/v2/accounts/{{OMITTED}}/', method: 'GET', headers: [Object: null prototype] { Accept: 'application/json', 'Content-Type': 'application/json', 'User-Agent': 'Nordigen-Node-v2', 'Authorization': '{{OMITTED}}' 'Accept-Encoding': 'gzip, compress, deflate, br' }, agents: { http: undefined, https: undefined }, auth: null, beforeRedirect: [Function: Ls], beforeRedirects: { proxy: [Function (anonymous)] }, hostname: 'bankaccountdata.gocardless.com', port: null, agent: undefined, nativeProtocols: [Circular *6], pathname: '/api/v2/accounts/{{OMITTED}}/', slashes: true, hash: null, search: null, query: null, href: 'https://bankaccountdata.gocardless.com/api/v2/accounts/{{OMITTED}}/' }, _ended: true, _ending: true, _redirectCount: 1, _redirects: [], _requestBodyLength: 0, _requestBodyBuffers: [], _onNativeResponse: [Function (anonymous)], _currentRequest: [Circular *13], _currentUrl: 'https://bankaccountdata.gocardless.com/api/v2/accounts/{{OMITTED}}/', _isRedirect: true, [Symbol(kCapture)]: false }, [Symbol(kCapture)]: false, [Symbol(kBytesWritten)]: 0, [Symbol(kNeedDrain)]: false, [Symbol(corked)]: 0, [Symbol(kOutHeaders)]: [Object: null prototype] { accept: [ 'Accept', 'application/json' ], 'content-type': [ 'Content-Type', 'application/json' ], 'user-agent': [ 'User-Agent', 'Nordigen-Node-v2' ], Authorization: '{{OMITTED}}' 'Authorization: '{{OMITTED}}' 'Bearer {{OMITTED}} ], 'accept-encoding': [ 'Accept-Encoding', 'gzip, compress, deflate, br' ], host: [ 'Host', 'bankaccountdata.gocardless.com' ] }, [Symbol(errored)]: null, [Symbol(kHighWaterMark)]: 16384, [Symbol(kRejectNonStandardBodyWrites)]: false, [Symbol(kUniqueHeaders)]: null } } }, _httpMessage: <ref *13> ClientRequest { _events: [Object: null prototype] { response: [Function: bound onceWrapper] { listener: [Function (anonymous)] }, abort: [Function (anonymous)], aborted: [Function (anonymous)], connect: [Function (anonymous)], error: [Function (anonymous)], socket: [Function (anonymous)], timeout: [Function (anonymous)] }, _eventsCount: 7, _maxListeners: undefined, outputData: [], outputSize: 0, writable: true, destroyed: false, _last: true, chunkedEncoding: false, shouldKeepAlive: false, maxRequestsOnConnectionReached: false, _defaultKeepAlive: true, useChunkedEncodingByDefault: false, sendDate: false, _removedConnection: false, _removedContLen: false, _removedTE: false, strictContentLength: false, _contentLength: 0, _hasBody: true, _trailer: '', finished: true, _headerSent: true, _closed: false, socket: [Circular *11], _header: 'GET /api/v2/accounts/{{OMITTED}}/ HTTP/1.1\r\n' + 'Accept: application/json\r\n' + 'Content-Type: application/json\r\n' + 'User-Agent: Nordigen-Node-v2\r\n' + 'Authorization: '{{OMITTED}}' 'Accept-Encoding: gzip, compress, deflate, br\r\n' + 'Host: bankaccountdata.gocardless.com\r\n' + 'Connection: close\r\n' + '\r\n', _keepAliveTimeout: 0, _onPendingData: [Function: nop], agent: [Circular *4], socketPath: undefined, method: 'GET', maxHeaderSize: undefined, insecureHTTPParser: undefined, joinDuplicateHeaders: undefined, path: '/api/v2/accounts/{{OMITTED}}/', _ended: false, res: null, aborted: false, timeoutCb: null, upgradeOrConnect: false, parser: <ref *12> HTTPParser { '0': null, '1': [Function: parserOnHeaders], '2': [Function: parserOnHeadersComplete], '3': [Function: parserOnBody], '4': [Function: parserOnMessageComplete], '5': null, '6': null, _headers: [], _url: '', socket: [Circular *11], incoming: null, outgoing: [Circular *13], maxHeaderPairs: 2000, _consumed: false, onIncoming: [Function: parserOnIncomingClient], joinDuplicateHeaders: undefined, [Symbol(resource_symbol)]: HTTPClientAsyncResource { type: 'HTTPINCOMINGMESSAGE', req: [Circular *13] } }, maxHeadersCount: null, reusedSocket: false, host: 'bankaccountdata.gocardless.com', protocol: 'https:', _redirectable: Writable { _writableState: WritableState { objectMode: false, highWaterMark: 16384, finalCalled: false, needDrain: false, ending: false, ended: false, finished: false, destroyed: false, decodeStrings: true, defaultEncoding: 'utf8', length: 0, writing: false, corked: 0, sync: true, bufferProcessing: false, onwrite: [Function: bound onwrite], writecb: null, writelen: 0, afterWriteTickInfo: null, buffered: [], bufferedIndex: 0, allBuffers: true, allNoop: true, pendingcb: 0, constructed: true, prefinished: false, errorEmitted: false, emitClose: true, autoDestroy: true, errored: null, closed: false, closeEmitted: false, [Symbol(kOnFinished)]: [] }, _events: [Object: null prototype] { response: [Function (anonymous)], error: [Function (anonymous)], socket: [Function (anonymous)] }, _eventsCount: 3, _maxListeners: undefined, _options: { maxRedirects: 21, maxBodyLength: Infinity, protocol: 'https:', path: '/api/v2/accounts/{{OMITTED}}/', method: 'GET', headers: [Object: null prototype] { Accept: 'application/json', 'Content-Type': 'application/json', 'User-Agent': 'Nordigen-Node-v2', Authorization: '{{OMITTED}}' 'Accept-Encoding': 'gzip, compress, deflate, br' }, agents: { http: undefined, https: undefined }, auth: null, beforeRedirect: [Function: Ls], beforeRedirects: { proxy: [Function (anonymous)] }, hostname: 'bankaccountdata.gocardless.com', port: null, agent: undefined, nativeProtocols: [Circular *6], pathname: '/api/v2/accounts/{{OMITTED}}/', slashes: true, hash: null, search: null, query: null, href: 'https://bankaccountdata.gocardless.com/api/v2/accounts/{{OMITTED}}/' }, _ended: true, _ending: true, _redirectCount: 1, _redirects: [], _requestBodyLength: 0, _requestBodyBuffers: [], _onNativeResponse: [Function (anonymous)], _currentRequest: [Circular *13], _currentUrl: 'https://bankaccountdata.gocardless.com/api/v2/accounts/{{OMITTED}}/', _isRedirect: true, [Symbol(kCapture)]: false }, [Symbol(kCapture)]: false, [Symbol(kBytesWritten)]: 0, [Symbol(kNeedDrain)]: false, [Symbol(corked)]: 0, [Symbol(kOutHeaders)]: [Object: null prototype] { accept: [ 'Accept', 'application/json' ], 'content-type': [ 'Content-Type', 'application/json' ], 'user-agent': [ 'User-Agent', 'Nordigen-Node-v2' ], Authorization: '{{OMITTED}}' 'Authorization: '{{OMITTED}}' 'Bearer {{OMITTED}} ], 'accept-encoding': [ 'Accept-Encoding', 'gzip, compress, deflate, br' ], host: [ 'Host', 'bankaccountdata.gocardless.com' ] }, [Symbol(errored)]: null, [Symbol(kHighWaterMark)]: 16384, [Symbol(kRejectNonStandardBodyWrites)]: false, [Symbol(kUniqueHeaders)]: null }, [Symbol(alpncallback)]: null, [Symbol(res)]: TLSWrap { _parent: TCP { reading: [Getter/Setter], onconnection: null, [Symbol(owner_symbol)]: [Circular *11] }, _parentWrap: null, _secureContext: SecureContext { context: SecureContext {} }, reading: true, onkeylog: [Function: onkeylog], onhandshakestart: {}, onhandshakedone: [Function (anonymous)], onocspresponse: [Function: onocspresponse], onnewsession: [Function: onnewsessionclient], onerror: [Function: onerror], [Symbol(owner_symbol)]: [Circular *11] }, [Symbol(verified)]: true, [Symbol(pendingSession)]: null, [Symbol(async_id_symbol)]: 20205, [Symbol(kHandle)]: TLSWrap { _parent: TCP { reading: [Getter/Setter], onconnection: null, [Symbol(owner_symbol)]: [Circular *11] }, _parentWrap: null, _secureContext: SecureContext { context: SecureContext {} }, reading: true, onkeylog: [Function: onkeylog], onhandshakestart: {}, onhandshakedone: [Function (anonymous)], onocspresponse: [Function: onocspresponse], onnewsession: [Function: onnewsessionclient], onerror: [Function: onerror], [Symbol(owner_symbol)]: [Circular *11] }, [Symbol(lastWriteQueueSize)]: 0, [Symbol(timeout)]: null, [Symbol(kBuffer)]: null, [Symbol(kBufferCb)]: null, [Symbol(kBufferGen)]: null, [Symbol(kCapture)]: false, [Symbol(kSetNoDelay)]: false, [Symbol(kSetKeepAlive)]: true, [Symbol(kSetKeepAliveInitialDelay)]: 60, [Symbol(kBytesRead)]: 0, [Symbol(kBytesWritten)]: 0, [Symbol(connect-options)]: { rejectUnauthorized: true, ciphers: 'TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES256-SHA384:ECDHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA256:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!SRP:!CAMELLIA', checkServerIdentity: [Function: checkServerIdentity], minDHSize: 1024, session: <Buffer 30 82 05 33 02 01 01 02 02 03 04 04 02 13 02 04 20 81 f9 21 48 41 35 bd f4 d2 6f 4c 38 09 67 c8 3a df 54 4d b2 95 d9 96 a8 9d 26 53 d7 40 c8 f6 94 04 ... 1285 more bytes>, maxRedirects: 21, maxBodyLength: Infinity, protocol: 'https:', path: null, method: 'GET', headers: [Object: null prototype] { Accept: 'application/json', 'Content-Type': 'application/json', 'User-Agent': 'Nordigen-Node-v2', Authorization: '{{OMITTED}}' 'Accept-Encoding': 'gzip, compress, deflate, br' }, agents: { http: undefined, https: undefined }, auth: null, beforeRedirect: [Function: Ls], beforeRedirects: { proxy: [Function (anonymous)] }, hostname: 'bankaccountdata.gocardless.com', port: 443, agent: undefined, nativeProtocols: [Circular *6], pathname: '/api/v2/accounts/{{OMITTED}}/', slashes: true, hash: null, search: null, query: null, href: 'https://bankaccountdata.gocardless.com/api/v2/accounts/{{OMITTED}}/', _defaultAgent: [Circular *4], host: 'bankaccountdata.gocardless.com', noDelay: true, servername: 'bankaccountdata.gocardless.com', _agentKey: 'bankaccountdata.gocardless.com:443:::::::::::::::::::::', encoding: null, singleUse: true } } ] }, freeSockets: [Object: null prototype] {}, keepAliveMsecs: 1000, keepAlive: false, maxSockets: Infinity, maxFreeSockets: 256, scheduling: 'lifo', maxTotalSockets: Infinity, totalSocketCount: 4, maxCachedSessions: 100, _sessionCache: { map: { '{{OMITTED}}:443:::::::::::::::::::::': <Buffer 30 82 04 7e 02 01 01 02 02 03 04 04 02 13 01 04 20 da bd 8c 0c 14 77 95 30 bf 20 a6 dd b3 2b fe 26 20 dd 9b a4 28 99 70 fd 9c e7 49 17 16 f7 6d 91 04 ... 1104 more bytes>, 'bankaccountdata.gocardless.com:443:::::::::::::::::::::': <Buffer 30 82 05 34 02 01 01 02 02 03 04 04 02 13 02 04 20 44 83 4f 59 33 53 2d 89 e8 29 b1 4d d4 19 ce 0d fc 19 11 1f 32 f7 12 98 3e de 92 9b 69 e1 a4 06 04 ... 1286 more bytes> }, list: [ '{{OMITTED}}:443:::::::::::::::::::::', 'bankaccountdata.gocardless.com:443:::::::::::::::::::::' ] }, [Symbol(kCapture)]: false }, Server: [Function: Server], createServer: [Function: createServer], get: [Function: get], request: [Function: request] } }, pathname: '/api/v2/accounts/{{OMITTED}}/details/', slashes: true, hash: null, search: null, query: null, href: 'https://bankaccountdata.gocardless.com/api/v2/accounts/{{OMITTED}}/details/'  }, _ended: true, _ending: true, _redirectCount: 1, _redirects: [], _requestBodyLength: 0, _requestBodyBuffers: [], _onNativeResponse: [Function (anonymous)], _currentRequest: [Circular *2], _currentUrl: 'https://bankaccountdata.gocardless.com/api/v2/accounts/{{OMITTED}}/details/', _isRedirect: true, [Symbol(kCapture)]: false }, [Symbol(kCapture)]: false, [Symbol(kBytesWritten)]: 0, [Symbol(kNeedDrain)]: false, [Symbol(corked)]: 0, [Symbol(kOutHeaders)]: [Object: null prototype] { accept: [ 'Accept', 'application/json' ], 'content-type': [ 'Content-Type', 'application/json' ], 'user-agent': [ 'User-Agent', 'Nordigen-Node-v2' ], Authorization: '{{OMITTED}}' 'Authorization: '{{OMITTED}}' 'Bearer {{OMITTED}}  ], 'accept-encoding': [ 'Accept-Encoding', 'gzip, compress, deflate, br' ], host: [ 'Host', 'bankaccountdata.gocardless.com' ] }, [Symbol(errored)]: null, [Symbol(kHighWaterMark)]: 16384, [Symbol(kRejectNonStandardBodyWrites)]: false, [Symbol(kUniqueHeaders)]: null }, data: { summary: 'Rate limit exceeded', detail: 'The rate limit for this resource is 4/day. Please try again in 69304 seconds', status_code: 429 } } } } 2025-03-28T20:24:54.983Z info: POST 200 /gocardless/get-accounts ``` I really hope that i didn't leave some authentication token or some personal data visible :D. I think it's possible that I hit some rate limit today. I made way to many tests, so I don't know if the error is showed. I'll retry some time later tomorrow
Author
Owner

@fullsushidev commented on GitHub (Mar 29, 2025):

👋 I’m also seeing a blank page and TypeError with the latest image when connecting banks that return large account lists (like N26 germany with ~12 accounts). Smaller lists (revolut ~3 accounts) worked fine.

I tested this with edge image (fly.io) and the account link screen loads, but the list is empty. GoCardless says the link succeeds, so I suspect this is a frontend issue with larger payloads.

<!-- gh-comment-id:2763071501 --> @fullsushidev commented on GitHub (Mar 29, 2025): 👋 I’m also seeing a blank page and `TypeError` with the `latest` image when connecting banks that return large account lists (like N26 germany with ~12 accounts). Smaller lists (revolut ~3 accounts) worked fine. I tested this with `edge` image (fly.io) and the account link screen loads, but the list is empty. GoCardless says the link succeeds, so I suspect this is a frontend issue with larger payloads.
Author
Owner

@Rihan9 commented on GitHub (Mar 29, 2025):

Here an update.
I tried to link a local Account with the deposit bank account:
in the browser console I find this:

Image

And in the server log:

.....OMITTED......
data: {
        summary: "Couldn't update account transactions",
        detail: 'Access has expired or it has been revoked. To restore access reconnect the account.',
        status_code: 401,
        type: 'AccessExpiredError'
      }
.....OMITTED......

but it can't be expired. I literally just added it. The other account is still ok. The Sync action still work correctly

<!-- gh-comment-id:2764257547 --> @Rihan9 commented on GitHub (Mar 29, 2025): Here an update. I tried to link a local Account with the deposit bank account: in the browser console I find this: ![Image](https://github.com/user-attachments/assets/716e67bb-79ba-4085-8f40-051cfb031587) And in the server log: ``` .....OMITTED...... data: { summary: "Couldn't update account transactions", detail: 'Access has expired or it has been revoked. To restore access reconnect the account.', status_code: 401, type: 'AccessExpiredError' } .....OMITTED...... ``` but it can't be expired. I literally just added it. The other account is still ok. The Sync action still work correctly
Author
Owner

@Rihan9 commented on GitHub (Mar 29, 2025):

👋 I’m also seeing a blank page and TypeError with the latest image when connecting banks that return large account lists (like N26 germany with ~12 accounts). Smaller lists (revolut ~3 accounts) worked fine.

I tested this with edge image (fly.io) and the account link screen loads, but the list is empty. GoCardless says the link succeeds, so I suspect this is a frontend issue with larger payloads.

Hi @fullsushidev , for the blank page, you can try to use this solution suggested above. I couldn't use it yesterday because I enabled the openID feature, so that link doesn't work anymore for me (I can probably reconfigure the auth server to enable it, but I'm lazy)

👋 This should be fixed in edge. Could you verify?

Otherwise - please wait for v25.4.0 where the patch will also be.

<!-- gh-comment-id:2764258023 --> @Rihan9 commented on GitHub (Mar 29, 2025): > 👋 I’m also seeing a blank page and `TypeError` with the `latest` image when connecting banks that return large account lists (like N26 germany with ~12 accounts). Smaller lists (revolut ~3 accounts) worked fine. > > I tested this with `edge` image (fly.io) and the account link screen loads, but the list is empty. GoCardless says the link succeeds, so I suspect this is a frontend issue with larger payloads. Hi @fullsushidev , for the blank page, you can try to use this solution suggested above. I couldn't use it yesterday because I enabled the openID feature, so that link doesn't work anymore for me (I can probably reconfigure the auth server to enable it, but I'm lazy) > 👋 This should be fixed in [edge](https://edge.actualbudget.org). Could you verify? > > Otherwise - please wait for v25.4.0 where the patch will also be.
Author
Owner

@philipp-mlr commented on GitHub (Apr 1, 2025):

I'm experiencing the same issue as @fullsushidev. After linking N26 Bank with ~10 accounts via GoCardless, the bank account page appears, yet there are no accounts listed.

The application logs support the theory that the payload received from GoCardless is simply too large.

I also noticed that a request to /gocardless/get-accounts returns a 200 status, but the response is:

{
  "status": "ok",
  "data": {
    "error_code": "INTERNAL_ERROR",
    "error_type": "Daily request limit set by the Institution has been exceeded"
  }
}

I'm not sure if this is causing the empty list, but the JSON response seems incorrect. I was able to manually link my bank via curl without issues.

I have tried this on edge and latest without any success in the UI.

<!-- gh-comment-id:2768723732 --> @philipp-mlr commented on GitHub (Apr 1, 2025): I'm experiencing the same issue as @fullsushidev. After linking N26 Bank with ~10 accounts via GoCardless, the bank account page appears, yet there are no accounts listed. The application logs support the theory that the payload received from GoCardless is simply too large. I also noticed that a request to `/gocardless/get-accounts` returns a `200` status, but the response is: ```json { "status": "ok", "data": { "error_code": "INTERNAL_ERROR", "error_type": "Daily request limit set by the Institution has been exceeded" } } ``` I'm not sure if this is causing the empty list, but the JSON response seems incorrect. I was able to manually link my bank via `curl` without issues. I have tried this on `edge` and `latest` without any success in the UI.
Author
Owner

@MatissJanis commented on GitHub (Apr 6, 2025):

👋 Hey folks, I'm seeing a lot of different Gocardless issues being reported here. Lets not dogpile on this specific issue, but discuss things in isolation. Here's the different issues I have noticed:

  • rate limit exceeded (original report in this issue) - there isn't anything we can do on our end here; please revert to GoCardless or reach out to the community on Discord if you need tech support on this
  • account list not opening (.sort() error in console logs) - should be partially patched in latest release
  • account list blank - please open a separate issue
  • /gocardless/get-accounts returning 200 with an error - please open a separate issue

As for this specific issue: closing it as there is nothing we could do if ratelimits get exceeded and in order to stop the dogpiling of various unrelated issues.

<!-- gh-comment-id:2781475299 --> @MatissJanis commented on GitHub (Apr 6, 2025): 👋 Hey folks, I'm seeing a lot of different Gocardless issues being reported here. Lets not dogpile on this specific issue, but discuss things in isolation. Here's the different issues I have noticed: - rate limit exceeded (original report in this issue) - there isn't anything we can do on our end here; please revert to GoCardless or reach out to the community on Discord if you need tech support on this - account list not opening (`.sort()` error in console logs) - should be _partially_ patched in latest release - account list blank - please open a separate issue - `/gocardless/get-accounts` returning `200` with an error - please open a separate issue As for this specific issue: closing it as there is nothing we could do if ratelimits get exceeded and in order to stop the dogpiling of various unrelated issues.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/actual#27779