fix(balance): atomic snapshot save + cleanup migration v11 (#176) #183
Closed
maximus
wants to merge 1 commit from
issue-176-fix-orphan-snapshots into issue-175-fix-sql-aggregate
pull from: issue-176-fix-orphan-snapshots
merge into: maximus:issue-175-fix-sql-aggregate
maximus:main
maximus:issue-187-balance-cleanup-post-184-185
maximus:issue-188-webkit-date-picker-7-inputs
maximus:issue-180-postcss-audit-fix
maximus:issue-190-restructure-settings-pages
maximus:issue-161-smoke-scaffold
maximus:issue-171-ci-drop-push-trigger
maximus:issue-169-asset-type-balance-categories
maximus:issue-67-feedback-widget
maximus:issue-97-cartes-page
maximus:issue-96-compare-refactor
maximus:issue-51-compte-maximus-oauth
maximus:issue-46-license-commands-entitlements
maximus:issue-48-gate-auto-updates
maximus:issue-47-license-ui-card
maximus:fix/simpl-resultat-54-argon2id-pin
maximus:fix/simpl-resultat-59-bump-vite
maximus:issue-43-update-picomatch
maximus:fix/simpl-resultat-41-category-time-report-filter
maximus:fix/simpl-resultat-31-dashboard-month-dropdown
maximus:fix/simpl-resultat-29-budget-visual-adjustments
maximus:fix/simpl-resultat-23-dashboard-category-ordering
maximus:fix/simpl-resultat-16-prev-year-budget
maximus:fix/simpl-resultat-19-tooltip-transparency
maximus:fix/simpl-resultat-17-remove-piechart-title
maximus:fix/simpl-resultat-16-budget-previous-year
1 commit
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
50b119121f |
fix(balance): atomic snapshot save with BEGIN/COMMIT + cleanup migration
useSnapshotEditor.save now validates all simple/priced lines in-memory before any DB write, then delegates to a new saveSnapshotAtomic helper that wraps INSERT snapshot + INSERT lines in an explicit BEGIN/COMMIT transaction (ROLLBACK on catch). Pattern matches categorizationService. Migration v11 cleans existing orphan snapshots in profiles that hit the old race; new orphans are no longer possible thanks to the transaction. Resolves #176 |