[Bug]: sync stuck at 29,756kB #2214

Closed
opened 2026-02-28 20:06:41 -06:00 by GiteaMirror · 5 comments
Owner

Originally created by @mcfetz on GitHub (Jun 18, 2025).

Verified issue does not already exist?

  • I have searched and found no existing issue

What happened?

I recently created a new budget file and filled it up with some data. All was fine since I imported over 4000 transactions from my old banking software. New clients who want to download / initial sync the file get stuck at a transfered size of 29,756kB. My the sqlite database on the server is round about 44MB.

I increased the environment parameters to 100MB:

ACTUAL_UPLOAD_FILE_SYNC_SIZE_LIMIT_MB=100
ACTUAL_UPLOAD_SYNC_ENCRYPTED_FILE_SYNC_SIZE_LIMIT_MB=100
ACTUAL_UPLOAD_FILE_SIZE_LIMIT_MB=100

without any success. Smaller files works flawless.

The problem occurs over my reverse proxy and also if I directly access actual budet. So it seems to be a problem within the app. The problem occurs on my windows 11 system using chrome, on my iPhone and iPad.

I don't see any errors or warnings in the docker container logs.

Any idea?

Image

How can we reproduce the issue?

  • create a new file
  • import a lot of transactions so that the sqlite is greater then ~40MB
  • download the file on a fresh client
  • check the developer tools - sync request stops before the whole file is downloaded

Where are you hosting Actual?

Docker

What browsers are you seeing the problem on?

Chrome

Operating System

Windows 11

Originally created by @mcfetz on GitHub (Jun 18, 2025). ### Verified issue does not already exist? - [x] I have searched and found no existing issue ### What happened? I recently created a new budget file and filled it up with some data. All was fine since I imported over 4000 transactions from my old banking software. New clients who want to download / initial sync the file get stuck at a transfered size of 29,756kB. My the sqlite database on the server is round about 44MB. I increased the environment parameters to 100MB: ACTUAL_UPLOAD_FILE_SYNC_SIZE_LIMIT_MB=100 ACTUAL_UPLOAD_SYNC_ENCRYPTED_FILE_SYNC_SIZE_LIMIT_MB=100 ACTUAL_UPLOAD_FILE_SIZE_LIMIT_MB=100 without any success. Smaller files works flawless. The problem occurs over my reverse proxy and also if I directly access actual budet. So it seems to be a problem within the app. The problem occurs on my windows 11 system using chrome, on my iPhone and iPad. I don't see any errors or warnings in the docker container logs. Any idea? ![Image](https://github.com/user-attachments/assets/1cce0a64-dd5e-4fc8-91f9-bdbd80af63b2) ### How can we reproduce the issue? - create a new file - import a lot of transactions so that the sqlite is greater then ~40MB - download the file on a fresh client - check the developer tools - sync request stops before the whole file is downloaded ### Where are you hosting Actual? Docker ### What browsers are you seeing the problem on? Chrome ### Operating System Windows 11
GiteaMirror added the bugserver labels 2026-02-28 20:06:41 -06:00
Author
Owner

@youngcw commented on GitHub (Jun 18, 2025):

Do you have a proxy in between? Some proxies limit the file size as well

@youngcw commented on GitHub (Jun 18, 2025): Do you have a proxy in between? Some proxies limit the file size as well
Author
Owner

@mcfetz commented on GitHub (Jun 18, 2025):

Did also some tests without a proxy - without any success. The screenshot above is when I access the app directly without the proxy.

@mcfetz commented on GitHub (Jun 18, 2025): Did also some tests without a proxy - without any success. The screenshot above is when I access the app directly without the proxy.
Author
Owner

@MikesGlitch commented on GitHub (Jun 18, 2025):

That's really odd. The download-user-file call looks like a really small download, but the sync was massive. It should be the other way around...

E.g.
Image

It's like the download happened before the import, then it synced but AFAIK it should batch it instead of attempting a massive sync - might be misremembering though. 🤔

@MikesGlitch commented on GitHub (Jun 18, 2025): That's really odd. The download-user-file call looks like a really small download, but the sync was massive. It should be the other way around... E.g. ![Image](https://github.com/user-attachments/assets/71030a41-ade4-4d2b-ade5-16bde6206f63) It's like the download happened before the import, then it synced but AFAIK it should batch it instead of attempting a massive sync - might be misremembering though. 🤔
Author
Owner

@youngcw commented on GitHub (Jun 18, 2025):

Try resetting the sync id. That should clear out the CRDT message list making the size smaller

@youngcw commented on GitHub (Jun 18, 2025): Try resetting the sync id. That should clear out the CRDT message list making the size smaller
Author
Owner

@mcfetz commented on GitHub (Jun 20, 2025):

I did a sync-id reset. The problem is gone. The sync request is now much smaller and I can open the problematic file on all my clients. Thanks for your help! 💪

@mcfetz commented on GitHub (Jun 20, 2025): I did a sync-id reset. The problem is gone. The sync request is now much smaller and I can open the problematic file on all my clients. 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#2214