[GH-ISSUE #7273] [Bug]: Fatal Error after reports .json file import #28820

Closed
opened 2026-04-18 05:34:15 -05:00 by GiteaMirror · 11 comments
Owner

Originally created by @whielyrose on GitHub (Mar 24, 2026).
Original GitHub issue: https://github.com/actualbudget/actual/issues/7273

What happened?

I imported a .json file for a custom reports dashboard. which evidently was faulty. It has caused a Fatal Error "There was an unrecoverable error in the UI. Sorry!". Upon searching this issue, someone has received the exact same error. A demo version was released a while ago which had a "reset dashboard" button in the main settings. The user was able to upload their budget file to that demo version, reset the dashboard, then export and import back into their instance to fix the issue. I am unable to access the reports dashboard without crashing, as such, I can't use the "reset dashboard" option within the reports page itself.

That demo version that had the dashboard reset button is no longer compatible with the version of AB I am running (26.3.0) on my own server. The most recent demo version does not have a reset dashboard option. Please help.

How can we reproduce the issue?

  1. go to Reports.
  2. click on three dots top right corner.
  3. tap import
  4. upload attached file
  5. navigate away from reports page
  6. click reports page.
  7. Crash?

dashboard.json

Where are you hosting Actual?

Docker

What browsers are you seeing the problem on?

Desktop App (Electron), Firefox, Microsoft Edge, Chrome

Operating System

Windows 11

Originally created by @whielyrose on GitHub (Mar 24, 2026). Original GitHub issue: https://github.com/actualbudget/actual/issues/7273 ### What happened? I imported a .json file for a custom reports dashboard. which evidently was faulty. It has caused a Fatal Error "There was an unrecoverable error in the UI. Sorry!". Upon searching this issue, someone has received the exact same error. A demo version was released a while ago which had a "reset dashboard" button in the main settings. The user was able to upload their budget file to that demo version, reset the dashboard, then export and import back into their instance to fix the issue. I am unable to access the reports dashboard without crashing, as such, I can't use the "reset dashboard" option within the reports page itself. That demo version that had the dashboard reset button is no longer compatible with the version of AB I am running (26.3.0) on my own server. The most recent demo version does not have a reset dashboard option. Please help. ### How can we reproduce the issue? 1. go to Reports. 2. click on three dots top right corner. 3. tap import 4. upload attached file 5. navigate away from reports page 6. click reports page. 7. Crash? [dashboard.json](https://github.com/user-attachments/files/26216012/dashboard.json) ### Where are you hosting Actual? Docker ### What browsers are you seeing the problem on? Desktop App (Electron), Firefox, Microsoft Edge, Chrome ### Operating System Windows 11
GiteaMirror added the reportsbug labels 2026-04-18 05:34:15 -05:00
Author
Owner

@matt-fidd commented on GitHub (Mar 24, 2026):

Hi @whielyrose, please try https://deploy-preview-6869.demo.actualbudget.org/ . I have updated it to be compatible with 26.3

If this doesn't work, please let me know and I'll see what I can do.

<!-- gh-comment-id:4119516398 --> @matt-fidd commented on GitHub (Mar 24, 2026): Hi @whielyrose, please try https://deploy-preview-6869.demo.actualbudget.org/ . I have updated it to be compatible with 26.3 If this doesn't work, please let me know and I'll see what I can do.
Author
Owner

@whielyrose commented on GitHub (Mar 24, 2026):

Hi @matt-fidd , thanks for updating that demo version. I can import my budget and then reset dashboard, so that works. I can also export from the demo. However, I'm presented with the out of date screen when attempting to import the fixed budget file back into my actual budget.

Image
<!-- gh-comment-id:4121071464 --> @whielyrose commented on GitHub (Mar 24, 2026): Hi @matt-fidd , thanks for updating that demo version. I can import my budget and then reset dashboard, so that works. I can also export from the demo. However, I'm presented with the out of date screen when attempting to import the fixed budget file back into my actual budget. <img width="863" height="660" alt="Image" src="https://github.com/user-attachments/assets/9bcd2532-4905-4c73-bbf4-23d0c5c9435f" />
Author
Owner

@matt-fidd commented on GitHub (Mar 24, 2026):

Hi @matt-fidd , thanks for updating that demo version. I can import my budget and then reset dashboard, so that works. I can also export from the demo. However, I'm presented with the out of date screen when attempting to import the fixed budget file back into my actual budget.

Image

Right, it sounds like there's been a migration added since the 26.3 release. I'll change the branch to track 26.3 and let you know to try again next time I'm at a computer

<!-- gh-comment-id:4121106325 --> @matt-fidd commented on GitHub (Mar 24, 2026): > Hi @matt-fidd , thanks for updating that demo version. I can import my budget and then reset dashboard, so that works. I can also export from the demo. However, I'm presented with the out of date screen when attempting to import the fixed budget file back into my actual budget. > > <img width="863" height="660" alt="Image" src="https://github.com/user-attachments/assets/9bcd2532-4905-4c73-bbf4-23d0c5c9435f" /> Right, it sounds like there's been a migration added since the 26.3 release. I'll change the branch to track 26.3 and let you know to try again next time I'm at a computer
Author
Owner

@whielyrose commented on GitHub (Mar 24, 2026):

Hi @matt-fidd Thank you so much. And thank you very much for helping me with this.

<!-- gh-comment-id:4121117305 --> @whielyrose commented on GitHub (Mar 24, 2026): Hi @matt-fidd Thank you so much. And thank you very much for helping me with this.
Author
Owner

@youngcw commented on GitHub (Mar 24, 2026):

There really needs to be some checks for the dashboard imports, or we should just get rid of the option to export.

<!-- gh-comment-id:4121305297 --> @youngcw commented on GitHub (Mar 24, 2026): There really needs to be some checks for the dashboard imports, or we should just get rid of the option to export.
Author
Owner

@matt-fidd commented on GitHub (Mar 24, 2026):

There really needs to be some checks for the dashboard imports, or we should just get rid of the option to export.

Agreed, my solution has been to spin up a deploy with a reset dashboard button in the settings page when folks get stuck. Maybe we should just add that permanently under advanced.

<!-- gh-comment-id:4122150854 --> @matt-fidd commented on GitHub (Mar 24, 2026): > There really needs to be some checks for the dashboard imports, or we should just get rid of the option to export. Agreed, my solution has been to spin up a deploy with a reset dashboard button in the settings page when folks get stuck. Maybe we should just add that permanently under advanced.
Author
Owner

@whielyrose commented on GitHub (Mar 25, 2026):

There really needs to be some checks for the dashboard imports, or we should just get rid of the option to export.

Agreed, my solution has been to spin up a deploy with a reset dashboard button in the settings page when folks get stuck. Maybe we should just add that permanently under advanced.

I agree. I think the function of exporting custom dashboards that you've made is great but if it bricks someones budget, that's concerning.

Adding the reset dashboard button in the settings page would be great as well.

Hopefully once the demo version you've got has been tracked along the 26.3 line everything will work again for my budget file.

<!-- gh-comment-id:4126287091 --> @whielyrose commented on GitHub (Mar 25, 2026): > > There really needs to be some checks for the dashboard imports, or we should just get rid of the option to export. > > Agreed, my solution has been to spin up a deploy with a reset dashboard button in the settings page when folks get stuck. Maybe we should just add that permanently under advanced. I agree. I think the function of exporting custom dashboards that you've made is great but if it bricks someones budget, that's concerning. Adding the reset dashboard button in the settings page would be great as well. Hopefully once the demo version you've got has been tracked along the 26.3 line everything will work again for my budget file.
Author
Owner

@matt-fidd commented on GitHub (Mar 25, 2026):

@whielyrose, updated now, that link should be based on 26.3 now.

<!-- gh-comment-id:4129814721 --> @matt-fidd commented on GitHub (Mar 25, 2026): @whielyrose, updated now, that link should be based on 26.3 now.
Author
Owner

@whielyrose commented on GitHub (Mar 25, 2026):

@matt-fidd unfortunately the same error occurs. During upload, I receive this on the bottom right hand corner. I then close actual budget, reload it, and am met with the initial 'Please update Actual!' error as shown above.

Image
<!-- gh-comment-id:4130214707 --> @whielyrose commented on GitHub (Mar 25, 2026): @matt-fidd unfortunately the same error occurs. During upload, I receive this on the bottom right hand corner. I then close actual budget, reload it, and am met with the initial 'Please update Actual!' error as shown above. <img width="649" height="524" alt="Image" src="https://github.com/user-attachments/assets/9115fcbd-b440-43d6-be59-5a65a4471806" />
Author
Owner

@whielyrose commented on GitHub (Mar 25, 2026):

if it helps, the .json file used is the same one in this bug report: https://github.com/actualbudget/actual/issues/7278 found here: https://discord.com/channels/937901803608096828/1483879026333319198

EDIT: Figured I'd add the error codes when clicking reports and the app crashes:

Error: Error loading data into the spreadsheet. at nx
(app://actual/static/js/ReportRouter.CKU0A3yg.chunk.js:10:79775) at uf
(app://actual/static/js/ReportRouter.CKU0A3yg.chunk.js:11:25917) at Z5
(app://actual/static/js/ReportRouter.CKU0A3yg.chunk.js:13:69190) at bN
(app://actual/static/js/index.DyjZX2Jx.js:9:49000) at BN
(app://actual/static/js/index.DyjZX2Jx.js:9:71973) at PK
(app://actual/static/js/index.DyjZX2Jx.js:9:82506) at iX
(app://actual/static/js/index.DyjZX2Jx.js:9:118611) at J$e
(app://actual/static/js/index.DyjZX2Jx.js:9:117637) at s$
(app://actual/static/js/index.DyjZX2Jx.js:9:117463) at ZK
(app://actual/static/js/index.DyjZX2Jx.js:9:114205)

<!-- gh-comment-id:4130386560 --> @whielyrose commented on GitHub (Mar 25, 2026): if it helps, the .json file used is the same one in this bug report: https://github.com/actualbudget/actual/issues/7278 found here: https://discord.com/channels/937901803608096828/1483879026333319198 EDIT: Figured I'd add the error codes when clicking reports and the app crashes: Error: Error loading data into the spreadsheet. at nx (app://actual/static/js/ReportRouter.CKU0A3yg.chunk.js:10:79775) at uf (app://actual/static/js/ReportRouter.CKU0A3yg.chunk.js:11:25917) at Z5 (app://actual/static/js/ReportRouter.CKU0A3yg.chunk.js:13:69190) at bN (app://actual/static/js/index.DyjZX2Jx.js:9:49000) at BN (app://actual/static/js/index.DyjZX2Jx.js:9:71973) at PK (app://actual/static/js/index.DyjZX2Jx.js:9:82506) at iX (app://actual/static/js/index.DyjZX2Jx.js:9:118611) at J$e (app://actual/static/js/index.DyjZX2Jx.js:9:117637) at s$ (app://actual/static/js/index.DyjZX2Jx.js:9:117463) at ZK (app://actual/static/js/index.DyjZX2Jx.js:9:114205)
Author
Owner

@whielyrose commented on GitHub (Mar 26, 2026):

TEMP FIX:

This if for windows 11.

Wowsers. Ok. So I can now access the reports again. What I did was:

Step 1: Download and install sqlite browser from: https://sqlitebrowser.org/dl/, also ensure that a zip archiver is installed. I have 7-zip installed.

Step 2: Export data from Actual Budget

Step 3: Extract AB data from the zip.

Step 4: Open sqlite browser.

Step 5: In sqlite browser, select "open database" and select the 'db.sqlite' file that is located within the unzipped folder.

Step 6: Select "browse data"

Step 7: In the "Table" drop down list, select "custom reports"

Step 8: Select the top left square of the problem reports (this may take some trial and error to figure out which are the problem reports). Then shift select the bottom right square to highly the entire table of the problem report.

Step 9: Right click, select "Set to NULL:

Step 10: Select File > Write Changes

Step 11: Close sqlite browser

Step 12: Right click the folder that the "db.sqlite" file and "metadata" file is in, then select 7-Zip (or whatever zip maker you have installed)> add to "OriginalExportFileName.zip" [replace OriginalExportFileName with the name of the zip folder you exported from Actual Budget".

Step 13: Open Actual Budget and up the top left select "switch file".

Step 14: Select "Import file" and chose the newly zipped file.

That is what worked to allow me to access the reports page without crashing Actual Budget. I then deleted all dashboard pages using the "..." option to the right of "Edit dashboard".

The reason I believe this to be just a temp fix, rather than the absolutely solution, is because after I deleted all reports pages and started fresh, I then exported again and opened that new exported file in sqlite browser and navigated to the same custom reports page. The tables I had set to NULL remained.

The reason I did not delete the tables initially was because with some of the rows or columns, when attempting to delete rather than set to NULL, I was met with an error: "Error changing data: UNIQUE constraint failed: custom_reports.id".

Also, don't straight up delete the custom_report field from the database structure, which I tried as well. Actual Budget did not like that. At all. Do. Not. Do. That.

Anyway, temp fix. I can now access the reports page and create my own widgets and what not.

Not sure if I should mark this as closed or not as technically the bug still exists, but a solution has been found.

<!-- gh-comment-id:4130700534 --> @whielyrose commented on GitHub (Mar 26, 2026): TEMP FIX: This if for windows 11. Wowsers. Ok. So I can now access the reports again. What I did was: **Step 1:** Download and install sqlite browser from: https://sqlitebrowser.org/dl/, also ensure that a zip archiver is installed. I have 7-zip installed. **Step 2:** Export data from Actual Budget **Step 3:** Extract AB data from the zip. **Step 4:** Open sqlite browser. **Step 5:** In sqlite browser, select "open database" and select the 'db.sqlite' file that is located within the unzipped folder. **Step 6:** Select "browse data" **Step 7:** In the "Table" drop down list, select "custom reports" **Step 8:** Select the top left square of the problem reports (this may take some trial and error to figure out which are the problem reports). Then shift select the bottom right square to highly the entire table of the problem report. **Step 9:** Right click, select "Set to NULL: **Step 10:** Select File > Write Changes **Step 11:** Close sqlite browser **Step 12:** Right click the folder that the "db.sqlite" file and "metadata" file is in, then select 7-Zip (or whatever zip maker you have installed)> add to "OriginalExportFileName.zip" [replace OriginalExportFileName with the name of the zip folder you exported from Actual Budget". **Step 13:** Open Actual Budget and up the top left select "switch file". **Step 14:** Select "Import file" and chose the newly zipped file. That is what worked to allow me to access the reports page without crashing Actual Budget. I then deleted all dashboard pages using the "..." option to the right of "Edit dashboard". The reason I believe this to be just a temp fix, rather than the absolutely solution, is because after I deleted all reports pages and started fresh, I then exported again and opened that new exported file in sqlite browser and navigated to the same custom reports page. The tables I had set to NULL remained. The reason I did not delete the tables initially was because with some of the rows or columns, when attempting to delete rather than set to NULL, I was met with an error: "Error changing data: UNIQUE constraint failed: custom_reports.id". Also, don't straight up delete the custom_report field from the database structure, which I tried as well. Actual Budget did not like that. At all. Do. Not. Do. That. Anyway, temp fix. I can now access the reports page and create my own widgets and what not. Not sure if I should mark this as closed or not as technically the bug still exists, but a solution has been found.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/actual#28820