mirror of
https://github.com/actualbudget/actual.git
synced 2026-03-10 04:02:38 -05:00
[Bug]: "invalid schema" shows misleading "Update required" error message #162
Closed
opened 2026-02-28 18:50:40 -06:00 by GiteaMirror
·
8 comments
No Branch/Tag Specified
master
claude/fix-simplefin-batch-sync-O8LcD
matiss/modal-and-server-refactor
claude/fix-simplefin-ssrf-T31gX
claude/release-notes-validation-X7rvR
ai/custom-theme-dual-prefs
matiss/fix-6804
add-claude-github-actions-1772738270730
react-query-rules
react-query-useSchedules
matiss/separate-lint-format
dependabot/npm_and_yarn/ajv-6.14.0
cursor/sync-performance-notification-9899
react-query-prefs
matiss/chunked-sync-and-progress-ux
v26.2.1
copilot/sub-pr-6880
fix-react-query-clear-on-close-budget
copilot/sub-pr-6140
feat/auto-note
feat/scoped-bank-sync
cursor/desktop-transactions-react-table-1d0c
fix-exhaustive-deps-App
copilot/fix-find-replace-bug
release/v26.2.0-pre
matiss/browser-tests
mobile-fix-drag-and-drop-across-groups
budget-table-v2
PayeeAutocomplete2
pglite
bugfix/plugins/fix-plugins-sw
feat/plugins/plugins-core-package
prerelease
matiss/unicode-minus-fix
cursor/fix-actual-github-issue-6206-gemini-3-pro-preview-9c37
TransactionFormPage
cursor/implement-mortgage-and-loan-account-type-78ca
tests-update-fill-with-pressSequentially
mobile/link-modal
deps/25.11
cursor/fix-update-vrt-apply-ci-job-dispatch-b324
sync-server-plugins
cursor/propose-patch-for-github-issue-5680-2a18
fix/compiler-preserve-inner-dollar-escapes
cursor/analyze-actual-budget-issue-and-propose-fix-5b70
coderabbitai/docstrings/0c070e5
cursor/add-wip-prefix-and-comment-to-prs-d78d
jfdoming/08-21-auto-focus-on-navigate-in-all-browsers
show-totals-on-mobile-budget-banners
allow-child-transactions-make-transfer
mobile-calculator-keyboard
payee-geolocation
enhance/restore_scroll_position
dm-fix-second-click-on-mobile-new-transaction-2
scrollToLocationBudget
alert-autofix-38
tsconfig-composite
mobile-fix-uncategorized-transactions-on-tracking-budgets
server-budget-handlers
fix-sql-injection-in-cleanup-template
non-chrome-draggable-workaround
mobile-budget-page-swipe-navigation
ts-db-all
stable
dark-theme-with-brand-colors
fix-mobile-delete-group
ts-db-select
UnderKoen/reconcile-context-menu
master-before-server-merge
v25.2.1
ts-runQuery
rename-redux-hooks
UnderKoen/3557-persist-state-in-history
remove-redux-CLOSE_BUDGET
fix-exhaustive-deps-errors-FinancesApp
redux-toolkit-createSlice-backup
accounts-function-component
ts-useSplitsExpanded
loot-core-server-package
useTransactios-in-TransactionEdit
react-aria-input
move-redux-to-desktop-client
QueryState-type
fix-themes-applied-late
mobile-vrts
revert-3295-spendingCardFix
react-aria-button-4
split-payee-on-mobile
twk3/pin-apis-crdt
notes-tag-autocomplete
ts-LoadBackup
dnd-kit
package-upgrades
v26.3.0
v26.2.1
v26.2.0
v26.1.0
v25.12.0
v25.11.0
v25.10.0
v25.9.0
v25.8.0
v25.7.1
v25.7.0
v25.6.1
v25.6.0
v25.5.0
v25.4.0
v25.3.1
v25.3.0
v25.2.1
v25.2.0
v25.1.0
v24.12.0
v24.11.0
v24.10.1
v24.10.0
v24.9.0
v24.8.0
v24.7.0
v24.6.0
v24.5.0
v24.4.0
v24.3.0
v24.2.0
v24.1.0
v23.12.0
v23.11.0
v23.10.0
v23.9.0
v23.8.1
v23.8.0
v23.7.2
v23.7.1
v23.7.0
v23.6.0
v23.5.0
v23.4.2
v23.4.1
v23.4.0
v23.3.2
v23.3.0
v23.2.9
v23.2.5
v23.1.12
v22.12.9
Labels
Clear labels
AI generated
API
bank sync
budgeting
bug
can’t replicate
dependencies
docker
documentation
electron
experimental feature
feature
feedback
goal templates
good first issue
help wanted
importers
maintenance
needs info
needs testing
needs triage
needs votes
openid
payees
pull-request
regression
reports
responsive
rules
schedules
server
✨ merged
split transactions
tech debt
theme
transaction import
transaction reconciliation
transactions
translations
upstream
user interface
✅ approved
wontfix
Mirrored from GitHub Pull Request
Milestone
No items
No Milestone
Projects
Clear projects
No project
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: github-starred/actual#162
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @albertogasparin on GitHub (Jan 17, 2023).
Verified issue does not already exist?
I have searched and found no existing issue
What happened?
After creating, removing and recreating a file on my laptop, sync broke on my iPad and was not able to make it work until I triggered reset sync from the laptop itself. The error message showing up on the iPad was "Update required" even if was using the latest web version directly from the server 😕
I thought the problem was on some cache on iPad, so deleted all data there (tried network caches, local dbs, ...) but Actual would still start syncing and then log an "invalid schema" error in the console.
Turns out the problem (likely) was the server sending a partial file even when no file was available on the device. I saw from the logs that "Got meta for documents-Actual-My-Finances-ea6e8ff-db.sqlite" size was very different between the broken sync (300KB) vs when the full sync happened (1.1MB).
I think it would be helpful to improve the messaging on the error (or have a complete different errors for these "invalid schema" exceptions) and provide a way for the device where this error occurs to discard local data and have the server send a full sync again.
App: 23.1.12 | Server: 23.1.12
What error did you receive?
No response
Where are you hosting Actual?
Fly.io
What browsers are you seeing the problem on?
Safari
Operating System
Mobile Device
@Kidglove57 commented on GitHub (Jan 18, 2023):
I am a non technical user. I agree the wording of the message is misleading - I had got so used to it that I did not report it.
In your situation, I
a) close the file on my iPad,then
b) delete that file on the iPad being very careful to select local only.
C) I then click on the file again to re-download it and all is well
Please excuse me if I have misunderstood.
@jlongster commented on GitHub (Jan 18, 2023):
The reason that is the error message is because 95% of the time the reason this happens is because the app has been updated with some new fields in the database, and another client has started using these new fields. An older version of the app will then run into this error, and the likely fix is it just needs an update. The error shouldn't be any scarier than that.
It's weird that you ran into "invalid schema" -- usually local db problems are more like a corrupt database entirely. I'd be curious to dig into what happened more. If anyone runs into this again, it could be worth looking at what changes are trying to be applied and why they aren't working. Usually, if there's a bug (and it's usually the browser's problem of messing with the persisted data) with the db in the browser it'll mess up the data in more serious ways that shows other error messages.
@jlongster commented on GitHub (Jan 18, 2023):
And yes @Kidglove57 is right. You can always delete a file locally and then select it to re-download it.
I don't trust the iPad browser's storage to be honest. I've heard these kinds of problem before and it might not be good enough to run a fully local app. But I haven't looked into it more :)
@Kidglove57 commented on GitHub (Jan 18, 2023):
I have been using Actual open source on my iPad for quite some months and this is the only issue I have run into on iPad. In other words having to re-download the file after I had (for example)re-imported it on laptop.
I do export regularly though, just in case, so that I have a backup!
However, I have run into a similar error from time to time in Safari on my laptop. And I have solved it by deleting the local version and re-downloading. After doing so, I have immediately tested my existing Actual links in Firefox and Brave on laptop and found that there were no issues with them. This is leading me to wonder if there is something "unique" about the way Safari handles the cached data? To reiterate Safari is the only browser in which I have had an issue with Actual, on laptop or iPad
@j-f1 commented on GitHub (Jan 18, 2023):
Maybe it would be helpful to add a bit more info to this error? For example I hit it while testing locally because I added a column (for #268) to my budget and now I get the error. Maybe there could be more detailed diagnostic info in the message? (there definitely was in my case)
@jlongster commented on GitHub (Jan 18, 2023):
@Kidglove57 Actual stresses browser's local persistence layer because it stores everything locally. That means the implementation (called IndexedDB) must be rock solid to have a smooth and solid experience 100% of the time. Safari's unfortunately is not quite there; it's a complex thing to get right and Safari tends to have less devs working on it than Chrome/Firefox. (I personally use Safari! I do love it but have to accept this tradeoff)
@j-f1 Yeah for sure. It could be better, y'all feel free to change it however you like. Just wanted to give some context for why it was written that way in the first place.
@j-f1 commented on GitHub (Feb 21, 2023):
Update: with #671, there is now more information logged into the console.
@MatissJanis commented on GitHub (Mar 30, 2023):
👋 Hey @albertogasparin just checking in if this issue is still something you experience in the latest version?
If not - lets close it off. :)