[GH-ISSUE #6279] [Bug]: Can't open budget on mobile, fails to download full transaction history #16909

Closed
opened 2026-04-14 19:53:21 -05:00 by GiteaMirror · 4 comments
Owner

Originally created by @TildenWinston on GitHub (Dec 1, 2025).
Original GitHub issue: https://github.com/actualbudget/actual/issues/6279

Verified issue does not already exist?

  • I have searched and found no existing issue

What happened?

I have successfully been using Actual on desktop across multiple devices, but when I try to load my budget on mobile the download errors and then when I open the file it is missing recent transactions. The app reports a sync issue.

The budget is imported from YNAB and is on the larger side.

The issue didn't cause an issue in the cloud file the first time, but the most recent time also removed recent transactions in the server version of the budget file overwriting the functioning version.

Issue is related to #6223 but that thread is focused on the sync id issues, so opening this to focus on the mobile opening bug

Server: Azure Container Instance
Mobile Client: Android, Microsoft Edge
Desktop Client: Windows, Microsoft Edge

How can we reproduce the issue?

How can we reproduce the issue?

Attempt to open large ynab imported budget on mobile. Wait for download to fail, close and reopen site, trigger a sync.

Where are you hosting Actual?

Other

What browsers are you seeing the problem on?

Microsoft Edge

Operating System

Mobile Device

Originally created by @TildenWinston on GitHub (Dec 1, 2025). Original GitHub issue: https://github.com/actualbudget/actual/issues/6279 ### Verified issue does not already exist? - [x] I have searched and found no existing issue ### What happened? I have successfully been using Actual on desktop across multiple devices, but when I try to load my budget on mobile the download errors and then when I open the file it is missing recent transactions. The app reports a sync issue. The budget is imported from YNAB and is on the larger side. The issue didn't cause an issue in the cloud file the first time, but the most recent time also removed recent transactions in the server version of the budget file overwriting the functioning version. Issue is related to #6223 but that thread is focused on the sync id issues, so opening this to focus on the mobile opening bug Server: Azure Container Instance Mobile Client: Android, Microsoft Edge Desktop Client: Windows, Microsoft Edge ### How can we reproduce the issue? How can we reproduce the issue? Attempt to open large ynab imported budget on mobile. Wait for download to fail, close and reopen site, trigger a sync. ### Where are you hosting Actual? Other ### What browsers are you seeing the problem on? Microsoft Edge ### Operating System Mobile Device
GiteaMirror added the bug label 2026-04-14 19:53:21 -05:00
Author
Owner

@TildenWinston commented on GitHub (Dec 2, 2025):

The attempts to sync are causing the actual budget container to restart.

Logs seen:

Running in production mode - Serving static React app
Listening on :::5006...
2025-12-02T03:09:28.647Z info: GET 200 /account/validate
2025-12-02T03:09:28.656Z info: GET 200 /account/needs-bootstrap
2025-12-02T03:09:28.836Z info: GET 200 /sync/list-user-files
2025-12-02T03:09:28.838Z info: GET 304 /account/needs-bootstrap
2025-12-02T03:09:28.948Z info: GET 304 /account/validate
2025-12-02T03:09:37.446Z info: GET 304 /account/validate

Exception in thread Thread-1 (_stream_container_events_and_logs):
Traceback (most recent call last):
  File "/usr/lib/python3.12/threading.py", line 1075, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3.12/threading.py", line 1012, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/lib64/az/lib/python3.12/site-packages/azure/cli/command_modules/container/custom.py", line 1184, in _stream_container_events_and_logs
    _stream_logs(container_client, resource_group_name, name, container_name, container_group.restart_policy)
  File "/usr/lib64/az/lib/python3.12/site-packages/azure/cli/command_modules/container/custom.py", line 1138, in _stream_logs
    lines = log.content.split('\n')
            ^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'split'
PS /home/username> 

After deleting the local version on desktop I see these issues in the console logs which pointsback to the sync function. Notes mention a 20MB limit, but looking at the sqlite file for this budget the size is only 8.66MB:

i18n.ts:60 Unknown locale en-US, falling back to en
index.ts:113 Backend: Trying to connect to client
index.ts:49 Backend: Client connected
54d38588-46c7-4afb-9ca7-16d4eb6941b8:1 Reading meta...
54d38588-46c7-4afb-9ca7-16d4eb6941b8:1 Got meta for documents-Actual-file-f4a00fd-db.sqlite: undefined
54d38588-46c7-4afb-9ca7-16d4eb6941b8:1 Reading meta...
54d38588-46c7-4afb-9ca7-16d4eb6941b8:1 Got meta for documents-Actual-file-f4a00fd-db.sqlite: {size: 12390400}
sql-wasm.wasm:0xf734f Opened!
index.ts:22 Loading fresh spreadsheet
index.ts:14 Syncing since 2025-12-02T03:30:51.805Z-0000-0000000000000000 0 (attempt: 0)
index.ts:14 Got messages from server 0
index.ts:14 Syncing since 1970-01-01T00:00:00.000Z-0000-0000000000000000 0 (attempt: 1)
index.ts:22 TypeError: Cannot read properties of null (reading 'toLowerCase')
    at throwIfNot200 (post.ts:14:41)
    at post.ts:212:17
    at async _fullSync (index.ts:671:9)
    at async _fullSync (index.ts:769:41)
    at async index.ts:561:5
    at async index.ts:544:9
    at async syncBudget (app.ts:224:10)
    at async app.ts:211:3
index.ts:2  [Exception] TypeError: Cannot read properties of null (reading 'toLowerCase')
    at throwIfNot200 (post.ts:14:41)
    at post.ts:212:17
    at async _fullSync (index.ts:671:9)
    at async _fullSync (index.ts:769:41)
    at async index.ts:561:5
    at async index.ts:544:9
    at async syncBudget (app.ts:224:10)
    at async app.ts:211:3
captureException @ index.ts:2
(anonymous) @ index.ts:605
await in (anonymous)
(anonymous) @ async.ts:68
(anonymous) @ index.ts:544
syncBudget @ app.ts:222
(anonymous) @ app.ts:211
await in (anonymous)
runHandler @ mutators.ts:67
(anonymous) @ index.ts:57
index.ts:22 SyntaxError: Unexpected end of JSON input
    at JSON.parse (<anonymous>)
    at app.ts:178:14
<!-- gh-comment-id:3600048893 --> @TildenWinston commented on GitHub (Dec 2, 2025): The attempts to sync are causing the actual budget container to restart. Logs seen: ``` Running in production mode - Serving static React app Listening on :::5006... 2025-12-02T03:09:28.647Z info: GET 200 /account/validate 2025-12-02T03:09:28.656Z info: GET 200 /account/needs-bootstrap 2025-12-02T03:09:28.836Z info: GET 200 /sync/list-user-files 2025-12-02T03:09:28.838Z info: GET 304 /account/needs-bootstrap 2025-12-02T03:09:28.948Z info: GET 304 /account/validate 2025-12-02T03:09:37.446Z info: GET 304 /account/validate Exception in thread Thread-1 (_stream_container_events_and_logs): Traceback (most recent call last): File "/usr/lib/python3.12/threading.py", line 1075, in _bootstrap_inner self.run() File "/usr/lib/python3.12/threading.py", line 1012, in run self._target(*self._args, **self._kwargs) File "/usr/lib64/az/lib/python3.12/site-packages/azure/cli/command_modules/container/custom.py", line 1184, in _stream_container_events_and_logs _stream_logs(container_client, resource_group_name, name, container_name, container_group.restart_policy) File "/usr/lib64/az/lib/python3.12/site-packages/azure/cli/command_modules/container/custom.py", line 1138, in _stream_logs lines = log.content.split('\n') ^^^^^^^^^^^^^^^^^ AttributeError: 'NoneType' object has no attribute 'split' PS /home/username> ``` After deleting the local version on desktop I see these issues in the console logs which pointsback to the sync function. Notes mention a 20MB limit, but looking at the sqlite file for this budget the size is only 8.66MB: ``` i18n.ts:60 Unknown locale en-US, falling back to en index.ts:113 Backend: Trying to connect to client index.ts:49 Backend: Client connected 54d38588-46c7-4afb-9ca7-16d4eb6941b8:1 Reading meta... 54d38588-46c7-4afb-9ca7-16d4eb6941b8:1 Got meta for documents-Actual-file-f4a00fd-db.sqlite: undefined 54d38588-46c7-4afb-9ca7-16d4eb6941b8:1 Reading meta... 54d38588-46c7-4afb-9ca7-16d4eb6941b8:1 Got meta for documents-Actual-file-f4a00fd-db.sqlite: {size: 12390400} sql-wasm.wasm:0xf734f Opened! index.ts:22 Loading fresh spreadsheet index.ts:14 Syncing since 2025-12-02T03:30:51.805Z-0000-0000000000000000 0 (attempt: 0) index.ts:14 Got messages from server 0 index.ts:14 Syncing since 1970-01-01T00:00:00.000Z-0000-0000000000000000 0 (attempt: 1) index.ts:22 TypeError: Cannot read properties of null (reading 'toLowerCase') at throwIfNot200 (post.ts:14:41) at post.ts:212:17 at async _fullSync (index.ts:671:9) at async _fullSync (index.ts:769:41) at async index.ts:561:5 at async index.ts:544:9 at async syncBudget (app.ts:224:10) at async app.ts:211:3 index.ts:2 [Exception] TypeError: Cannot read properties of null (reading 'toLowerCase') at throwIfNot200 (post.ts:14:41) at post.ts:212:17 at async _fullSync (index.ts:671:9) at async _fullSync (index.ts:769:41) at async index.ts:561:5 at async index.ts:544:9 at async syncBudget (app.ts:224:10) at async app.ts:211:3 captureException @ index.ts:2 (anonymous) @ index.ts:605 await in (anonymous) (anonymous) @ async.ts:68 (anonymous) @ index.ts:544 syncBudget @ app.ts:222 (anonymous) @ app.ts:211 await in (anonymous) runHandler @ mutators.ts:67 (anonymous) @ index.ts:57 index.ts:22 SyntaxError: Unexpected end of JSON input at JSON.parse (<anonymous>) at app.ts:178:14 ```
Author
Owner

@youngcw commented on GitHub (Dec 4, 2025):

Are you able to export your budget from one of the working devices and then reimport it? Also are your server and clients all on the same version?

<!-- gh-comment-id:3613766457 --> @youngcw commented on GitHub (Dec 4, 2025): Are you able to export your budget from one of the working devices and then reimport it? Also are your server and clients all on the same version?
Author
Owner

@TildenWinston commented on GitHub (Dec 4, 2025):

I tried opening from a working device, but they would sync the broken budget file. In the end I recovered by opening on an additional device while offline, exporting, and then reimporting.

I believe that both server and client were on 25.11.0, but mobile might have been on 25.10.0.

<!-- gh-comment-id:3613872026 --> @TildenWinston commented on GitHub (Dec 4, 2025): I tried opening from a working device, but they would sync the broken budget file. In the end I recovered by opening on an additional device while offline, exporting, and then reimporting. I believe that both server and client were on 25.11.0, but mobile might have been on 25.10.0.
Author
Owner

@youngcw commented on GitHub (Dec 6, 2025):

Weird. I wonder if a sync just got broken and caused confusion. Ill close this for now. If it happens again try and remember what happened right before so we can attempt to recreate the issue.

<!-- gh-comment-id:3621063468 --> @youngcw commented on GitHub (Dec 6, 2025): Weird. I wonder if a sync just got broken and caused confusion. Ill close this for now. If it happens again try and remember what happened right before so we can attempt to recreate the issue.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/actual#16909