|
All checks were successful
PR Check — Frontend / frontend (pull_request) Successful in 1m41s
Exporting then re-importing data destroyed every import configuration: dataExportService serialised only categories, suppliers, keywords and transactions, then ran DELETE FROM import_sources on restore and replaced them with a synthetic 'Data Import' source. After restoring a backup, every source had to be reconfigured by hand. - Serialise import_sources and import_config_templates into the envelope, with an explicit format_version; a file without one is the earlier format and its missing arrays are treated as empty. - Wrap wipe + restore in withTransaction, which the service had nowhere: a constraint violation mid-restore used to destroy financial history with no rollback. - Restore templates BEFORE sources (template_id is a foreign key), upserting by name and remapping template_id through the resolved ids, so restoring into a profile that already has templates no longer hits UNIQUE(name). - Whitelist amount_mode and sign_convention at the import boundary with a readable message rather than an SQLite constraint error. Resolves #331 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| AccountCard.tsx | ||
| CategoriesCard.tsx | ||
| CategoriesMigrationBackupBanner.tsx | ||
| CategoriesMigrationRestoreModal.tsx | ||
| ChangelogContent.tsx | ||
| DataManagementCard.tsx | ||
| DocsContent.tsx | ||
| FeedbackConsentDialog.tsx | ||
| FeedbackDialog.tsx | ||
| ImportConfirmModal.tsx | ||
| LicenseCard.tsx | ||
| LogViewerCard.tsx | ||
| PriceFetchConsentToggle.test.tsx | ||
| PriceFetchConsentToggle.tsx | ||
| TokenStoreFallbackBanner.tsx | ||
| UpdateCard.tsx | ||