[GH-ISSUE #867] Prompt to reset sync if budget file is too large to sync #7275

Closed
opened 2026-04-10 17:01:56 -05:00 by GiteaMirror · 7 comments
Owner

Originally created by @callumgare on GitHub (Apr 7, 2023).
Original GitHub issue: https://github.com/actualbudget/actual/issues/867

Verified issue does not already exist?

  • I have searched and found no existing issue

What happened?

I run into this issue every so often. I mainly notice it when I trigger a sync. I'll hit the sync button and I'll seem to take ages and in the web console I'll notice a bunch of failed requests. I haven't noticed data going missing so I assume the sync succeeds eventually, at least I very much hope so. It's difficult for me to offer a way of reproducing this since I can't upload my actual transaction file but my file isn't particularly large. I have 8234 transactions in it.

This person seems to have run into the same issue but they found a way to avoid it in their specific case so closed the issue https://github.com/actualbudget/actual/issues/838. Unfortunately this remains and on going issue for me.

And this issue looks related but in their case it was due to hitting their reverse proxy's limit https://github.com/actualbudget/actual-server/issues/136. I also have a reverse proxy in front of my Actual Budget instance. I'm using Traefik but given that the stack trace in the error message returned mentioned express which this project uses and Traefik (to my knowledge) does not I'm reasonably confident the issue is actually with the Actual Budget server.

What error did you receive?

This is my web console when it last happened:
Screen Shot 2023-04-07 at 17 35 24

And this is the details of a failed request:
Screen Shot 2023-04-07 at 17 55 47

Where are you hosting Actual?

Docker

I'm running the latest version as of this comment, v23.4.0. However I have noticed it on an off since I started using AB maybe 6 months ago or something like that.

What browsers are you seeing the problem on?

Firefox, Safari

Operating System

Mac OSX

Originally created by @callumgare on GitHub (Apr 7, 2023). Original GitHub issue: https://github.com/actualbudget/actual/issues/867 ### Verified issue does not already exist? - [X] I have searched and found no existing issue ### What happened? I run into this issue every so often. I mainly notice it when I trigger a sync. I'll hit the sync button and I'll seem to take ages and in the web console I'll notice a bunch of failed requests. I haven't noticed data going missing so I assume the sync succeeds eventually, at least I very much hope so. It's difficult for me to offer a way of reproducing this since I can't upload my actual transaction file but my file isn't particularly large. I have 8234 transactions in it. This person seems to have run into the same issue but they found a way to avoid it in their specific case so closed the issue https://github.com/actualbudget/actual/issues/838. Unfortunately this remains and on going issue for me. And this issue looks related but in their case it was due to hitting their reverse proxy's limit https://github.com/actualbudget/actual-server/issues/136. I also have a reverse proxy in front of my Actual Budget instance. I'm using Traefik but given that the stack trace in the error message returned mentioned `express` which this project uses and Traefik (to my knowledge) does not I'm reasonably confident the issue is actually with the Actual Budget server. ### What error did you receive? This is my web console when it last happened: ![Screen Shot 2023-04-07 at 17 35 24](https://user-images.githubusercontent.com/346340/230566017-64bc9a38-366a-49b9-9d78-013b6036e7cd.png) And this is the details of a failed request: ![Screen Shot 2023-04-07 at 17 55 47](https://user-images.githubusercontent.com/346340/230571120-ce3bfcad-4054-4c9c-96de-49af280b8ebc.png) ### Where are you hosting Actual? Docker I'm running the latest version as of this comment, v23.4.0. However I have noticed it on an off since I started using AB maybe 6 months ago or something like that. ### What browsers are you seeing the problem on? Firefox, Safari ### Operating System Mac OSX
GiteaMirror added the needs votesfeature labels 2026-04-10 17:01:56 -05:00
Author
Owner

@callumgare commented on GitHub (Apr 7, 2023):

Ah yes, I checked the logs of my Actual Budget container and I'm seeing the error there too so defiantly the limit is with Actual Budget:
Screen Shot 2023-04-07 at 18 23 17

<!-- gh-comment-id:1500065407 --> @callumgare commented on GitHub (Apr 7, 2023): Ah yes, I checked the logs of my Actual Budget container and I'm seeing the error there too so defiantly the limit is with Actual Budget: ![Screen Shot 2023-04-07 at 18 23 17](https://user-images.githubusercontent.com/346340/230572502-73aad5d3-4522-42ee-89a8-591fe3459efb.png)
Author
Owner

@j-f1 commented on GitHub (Apr 7, 2023):

Yep! The limit for application/actual-sync bodies is 20MB. I’m noticing that your database is quite large (size: 123686912 means 123MB) which is unexpected to me. I don’t necessarily think that increasing the size limits even more would be helpful. My guess is that you may have created and deleted a lot of transactions in the past (instead of using the undo feature) which can grow the history size. If you reset sync, I believe the history will be thrown away so that your database and sync data will be reduced to a more reasonable size.

<!-- gh-comment-id:1500287266 --> @j-f1 commented on GitHub (Apr 7, 2023): Yep! The limit for `application/actual-sync` bodies is 20MB. I’m noticing that your database is quite large (`size: 123686912` means 123MB) which is unexpected to me. I don’t necessarily think that increasing the size limits even more would be helpful. My guess is that you may have created and deleted a lot of transactions in the past (instead of using the undo feature) which can grow the history size. If you reset sync, I believe the history will be thrown away so that your database and sync data will be reduced to a more reasonable size.
Author
Owner

@MatissJanis commented on GitHub (Apr 7, 2023):

I wonder if we should do something to improve the UX here.. Perhaps a big red box somewhere in the app if the budget size > 50mb? Prompting people to "reset sync" so we don't end up in situation such as this one.

<!-- gh-comment-id:1500615556 --> @MatissJanis commented on GitHub (Apr 7, 2023): I wonder if we should do something to improve the UX here.. Perhaps a big red box somewhere in the app if the budget size > 50mb? Prompting people to "reset sync" so we don't end up in situation such as this one.
Author
Owner

@j-f1 commented on GitHub (Apr 7, 2023):

Good idea!

<!-- gh-comment-id:1500617457 --> @j-f1 commented on GitHub (Apr 7, 2023): Good idea!
Author
Owner

@callumgare commented on GitHub (Apr 7, 2023):

Brilliant! That has indeed seemed to fix the issue. Thanks very much. When I was first setting up AB I imported and deleted my bank transaction history a bunch as I was tweaking my rule set and wanted to confirm they were being applied properly by adding all my transactions at once and making sure I was seeing the numbers I expected to see.

Yeah, having a prompt to the user to reset sync if a sync chunk/transaction/whatever it's called is bigger than 20MB and would there by cause sync to break seems like a smart idea to ensure no one else runs into this.

<!-- gh-comment-id:1500630662 --> @callumgare commented on GitHub (Apr 7, 2023): Brilliant! That has indeed seemed to fix the issue. Thanks very much. When I was first setting up AB I imported and deleted my bank transaction history a bunch as I was tweaking my rule set and wanted to confirm they were being applied properly by adding all my transactions at once and making sure I was seeing the numbers I expected to see. Yeah, having a prompt to the user to reset sync if a sync chunk/transaction/whatever it's called is bigger than 20MB and would there by cause sync to break seems like a smart idea to ensure no one else runs into this.
Author
Owner

@github-actions[bot] commented on GitHub (May 1, 2023):

Thanks for sharing your idea!

This repository is now using lodash style issue management for enhancements. This means enhancement issues will now be closed instead of leaving them open. This doesn’t mean we don’t accept feature requests, though! We will consider implementing ones that receive many upvotes, and we welcome contributions for any feature requests marked as needing votes (just post a comment first so we can help you make a successful contribution).

The enhancement backlog can be found here: https://github.com/actualbudget/actual/issues?q=label%3A%22needs+votes%22+sort%3Areactions-%2B1-desc+

Don’t forget to upvote the top comment with 👍!

<!-- gh-comment-id:1530153520 --> @github-actions[bot] commented on GitHub (May 1, 2023): :sparkles: Thanks for sharing your idea! :sparkles: This repository is now using lodash style issue management for enhancements. This means enhancement issues will now be closed instead of leaving them open. This doesn’t mean we don’t accept feature requests, though! We will consider implementing ones that receive many upvotes, and we welcome contributions for any feature requests marked as needing votes (just post a comment first so we can help you make a successful contribution). The enhancement backlog can be found here: https://github.com/actualbudget/actual/issues?q=label%3A%22needs+votes%22+sort%3Areactions-%2B1-desc+ Don’t forget to upvote the top comment with 👍!
Author
Owner

@kyrias commented on GitHub (Aug 23, 2023):

It feels very strange to me to have it suggest resetting sync which semantically feels completely unrelated.

It seems more reasonable to me to implement a mechanism that deletes tombstones rows + vacuums without resetting sync which could then be triggered automatically by whatever conditions would be reasonable.

<!-- gh-comment-id:1690233786 --> @kyrias commented on GitHub (Aug 23, 2023): It feels very strange to me to have it suggest resetting sync which semantically feels completely unrelated. It seems more reasonable to me to implement a mechanism that deletes tombstones rows + vacuums _without_ resetting sync which could then be triggered automatically by whatever conditions would be reasonable.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/actual#7275