* feat(imports): add SureImport session batches
Add first-class SureImport sessions for ordered multi-file NDJSON imports.
Persist source mappings across chunks, make session/chunk processing idempotent, expose progress readback, and keep existing single-file import behavior compatible.
Includes the devcontainer libvips runtime dependency needed by ActiveStorage variant tests.
Addresses #1610.
Related to #1458.
* fix(imports): avoid scanner-like API key test data
* test(imports): assert skipped balances are not persisted
* fix(imports): harden session publish retries
Validate expected import chunk sequences exactly before publish, and restore session state with error details when enqueueing the publish job fails.
* fix(imports): close session retry edge cases
Backfill expected chunk counts after client-session insert races and enqueue import-session jobs after the status transition commits. Persist a safe enqueue failure body so API readback does not expose raw queue errors.
* fix(imports): address session publish review gaps
Remove dead transaction external-id assignment, harden session publish retry/sync behavior, align session chunk status docs, and add regression coverage for partial retries and safe enqueue error readback.
* fix(imports): include sessions in family reset
Clear import sessions through the family reset job so chunk imports and source mappings do not survive a reset.
Expose import session and source mapping counts in the reset status response and regenerated OpenAPI schema so polling reflects the full reset surface.
* test(imports): cover split import mapping invariants
* test(imports): cover session verification invariants
* fix(imports): scope SureImport session reimports
* Tighten SureImport session batching
* fix(imports): export rule source ids for sessions
* test(imports): stabilize rule id export assertion
* test(imports): restore reset status session fixture
Centralize family financial reset cleanup behind an explicitly scoped service, update reset status docs, and add two-family regression coverage for destructive reset behavior.
* Chat improvements
* Delete/reset account via API for Flutter app
* Fix tests.
* Add "contact us" to settings
* Update mobile/lib/screens/chat_conversation_screen.dart
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Signed-off-by: Juan José Mata <jjmata@jjmata.com>
* Improve LLM special token detection
* Deactivated user shouldn't have API working
* Fix tests
* API-Key usage
* Flutter app launch failure on no network
* Handle deletion/reset delays
* Local cached data may become stale
* Use X-Api-Key correctly!
---------
Signed-off-by: Juan José Mata <jjmata@jjmata.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>