[GH-ISSUE #6904] [Bug]: Accessing budget on mobile browser stuck on "Downloading..." #9848

Closed
opened 2026-04-10 20:11:38 -05:00 by GiteaMirror · 4 comments
Owner

Originally created by @ryanwilsonperkin on GitHub (Feb 8, 2026).
Original GitHub issue: https://github.com/actualbudget/actual/issues/6904

What happened?

When trying to access a (large) budget on mobile browser the page gets stuck indefinitely on the "Downloading..." page after logging in.
The budget is hosted on a server in the local network, https, accessed via nginx which has been configured with a large enough max_client_body_size and proxy_buffering turned off. I'm able to access it fine on desktop.

Debugging
I've tried the troubleshooting steps from previous similar bugs:

The developer console (loaded over chrome remote debugger) shows no errors. It successfully loads meta for the budget and determines sqlite size (405504) and loads messages from server (222764) but then hangs. After reloading the page I can select the "Budget" tab, but get the same indefinite loading. Running a 30s profile during this time period doesn't indicate that any scripts are doing a lot of processing during this window.

Image Image Image Image Image Image Image Image Image

How can we reproduce the issue?

  1. Create a budget with a sqlite size of at least 405504
  2. Setup nginx as reverse proxy
  3. Access the budget from Android Chrome, login
  4. Load the budget
  5. Observe stuck loading page

Where are you hosting Actual?

Desktop App (Electron)

What browsers are you seeing the problem on?

Chrome

Operating System

Mobile Device

Originally created by @ryanwilsonperkin on GitHub (Feb 8, 2026). Original GitHub issue: https://github.com/actualbudget/actual/issues/6904 ### What happened? When trying to access a (large) budget on mobile browser the page gets stuck indefinitely on the "Downloading..." page after logging in. The budget is hosted on a server in the local network, https, accessed via nginx which has been configured with a large enough `max_client_body_size` and `proxy_buffering` turned off. I'm able to access it fine on desktop. **Debugging** I've tried the troubleshooting steps from previous similar bugs: - https://github.com/actualbudget/actual/issues/6139 - https://github.com/actualbudget/actual/issues/6279 The developer console (loaded over chrome remote debugger) shows no errors. It successfully loads meta for the budget and determines sqlite size (`405504`) and loads messages from server (`222764`) but then hangs. After reloading the page I can select the "Budget" tab, but get the same indefinite loading. Running a 30s profile during this time period doesn't indicate that any scripts are doing a lot of processing during this window. <img width="1329" height="874" alt="Image" src="https://github.com/user-attachments/assets/ff0fe971-9708-4b90-953a-5badf9561bdf" /> <img width="1329" height="874" alt="Image" src="https://github.com/user-attachments/assets/cf3de759-568f-4a84-af04-5d56eefa1400" /> <img width="1329" height="874" alt="Image" src="https://github.com/user-attachments/assets/4c06da56-cf62-438d-ac07-068054b054b4" /> <img width="1329" height="874" alt="Image" src="https://github.com/user-attachments/assets/52084f68-7337-4e96-89e5-59d21ac4a353" /> <img width="1329" height="874" alt="Image" src="https://github.com/user-attachments/assets/fcfea91d-93f7-460b-9fc2-1f8f4dc25e65" /> <img width="1329" height="874" alt="Image" src="https://github.com/user-attachments/assets/e8fe82ac-4b09-4b1f-9cf2-8de52b09f388" /> <img width="1329" height="874" alt="Image" src="https://github.com/user-attachments/assets/dd397e8a-1edd-434a-a98b-316269bfea9b" /> <img width="1329" height="874" alt="Image" src="https://github.com/user-attachments/assets/15f2ec2b-4ec7-4889-9adf-cae8de0b32f7" /> <img width="1329" height="874" alt="Image" src="https://github.com/user-attachments/assets/a37e6bb4-fa74-4215-b761-65f833f47d85" /> ### How can we reproduce the issue? 1. Create a budget with a sqlite size of at least `405504` 2. Setup nginx as reverse proxy 3. Access the budget from Android Chrome, login 4. Load the budget 5. Observe stuck loading page ### Where are you hosting Actual? Desktop App (Electron) ### What browsers are you seeing the problem on? Chrome ### Operating System Mobile Device
GiteaMirror added the responsivebug labels 2026-04-10 20:11:38 -05:00
Author
Owner

@joel-jeremy commented on GitHub (Feb 10, 2026):

@ryanwilsonperkin Can you try "Reset sync" in the advanced settings to see if it resolves the issue? Export/backup your data first just to be sure.

<!-- gh-comment-id:3880123403 --> @joel-jeremy commented on GitHub (Feb 10, 2026): @ryanwilsonperkin Can you try "Reset sync" in the advanced settings to see if it resolves the issue? Export/backup your data first just to be sure.
Author
Owner

@alcroito commented on GitHub (Feb 12, 2026):

I'm seeing the same issue. Reset sync didn't help. Opening a new clean budget works. Opening a big one gets stuck.

Firefox dev tools shows:

Reading meta... [e29f4fe4-9556-4ead-b4a5-4df8b51d58f7:1:7805](blob:https://mydomain/e29f4fe4-9556-4ead-b4a5-4df8b51d58f7)
Got meta for documents-Actual-file-f0c6418-db.sqlite: 
Object { size: 25964544 }
[e29f4fe4-9556-4ead-b4a5-4df8b51d58f7:1:7861](blob:https://mydomain/e29f4fe4-9556-4ead-b4a5-4df8b51d58f7)
Opened! [kcab.worker.DE5uAdQe.js:1:172405](https://mydomain/kcab/kcab.worker.DE5uAdQe.js)
[Breadcrumb] 
Object { message: "loading spreadsheet", category: "server" }
[kcab.worker.DE5uAdQe.js:1:76537](https://mydomain/kcab/kcab.worker.DE5uAdQe.js)
Loaded spreadsheet from cache (62640 items) [kcab.worker.DE5uAdQe.js:1:76628](https://mydomain/kcab/kcab.worker.DE5uAdQe.js)
[Breadcrumb] 
Object { message: "loaded spreadsheet", category: "server" }

and then spins indefinitely.

<!-- gh-comment-id:3890046617 --> @alcroito commented on GitHub (Feb 12, 2026): I'm seeing the same issue. Reset sync didn't help. Opening a new clean budget works. Opening a big one gets stuck. Firefox dev tools shows: ``` Reading meta... [e29f4fe4-9556-4ead-b4a5-4df8b51d58f7:1:7805](blob:https://mydomain/e29f4fe4-9556-4ead-b4a5-4df8b51d58f7) Got meta for documents-Actual-file-f0c6418-db.sqlite: Object { size: 25964544 } [e29f4fe4-9556-4ead-b4a5-4df8b51d58f7:1:7861](blob:https://mydomain/e29f4fe4-9556-4ead-b4a5-4df8b51d58f7) Opened! [kcab.worker.DE5uAdQe.js:1:172405](https://mydomain/kcab/kcab.worker.DE5uAdQe.js) [Breadcrumb] Object { message: "loading spreadsheet", category: "server" } [kcab.worker.DE5uAdQe.js:1:76537](https://mydomain/kcab/kcab.worker.DE5uAdQe.js) Loaded spreadsheet from cache (62640 items) [kcab.worker.DE5uAdQe.js:1:76628](https://mydomain/kcab/kcab.worker.DE5uAdQe.js) [Breadcrumb] Object { message: "loaded spreadsheet", category: "server" } ``` and then spins indefinitely.
Author
Owner

@MatissJanis commented on GitHub (Feb 23, 2026):

@ryanwilsonperkin you have 222764 sync messages. That's definitely the bottleneck. However, I pushed a small update here to improve the UX around processing large amounts of sync messages. Would you mind checking it in the preview build?

The proper fix is as @joel-jeremy recommended: "reset sync" which will trim those messages back down to 0.


@alcroito your issue is lacking in details. Please open a separate issue and provide as much details as Ryan has provided here. We won't be able to help if all we get is that small snippet.

<!-- gh-comment-id:3947588302 --> @MatissJanis commented on GitHub (Feb 23, 2026): @ryanwilsonperkin you have 222764 sync messages. That's definitely the bottleneck. However, I pushed a small update [here](https://github.com/actualbudget/actual/pull/7063) to improve the UX around processing large amounts of sync messages. Would you mind checking it in the preview build? The proper fix is as @joel-jeremy recommended: "reset sync" which will trim those messages back down to 0. --- @alcroito your issue is lacking in details. Please open a separate issue and provide as much details as Ryan has provided here. We won't be able to help if all we get is that small snippet.
Author
Owner

@ryanwilsonperkin commented on GitHub (Feb 24, 2026):

Ah my mistake, I had thought that "reset sync" was a setting that needed to be invoked from the device that was having the issue, and since I wasn't able to get to the settings page on mobile I wasn't able to run it. Understand now that it's something that's run on the server from any connected device and then applies to all of them. After running it from desktop, the connection on my mobile client is now working.

Thanks for your help!

<!-- gh-comment-id:3948571371 --> @ryanwilsonperkin commented on GitHub (Feb 24, 2026): Ah my mistake, I had thought that "reset sync" was a setting that needed to be invoked from the device that was having the issue, and since I wasn't able to get to the settings page on mobile I wasn't able to run it. Understand now that it's something that's run on the server from any connected device and then applies to all of them. After running it from desktop, the connection on my mobile client is now working. Thanks for your help!
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/actual#9848