mirror of
https://github.com/mattermost/mattermost-mobile.git
synced 2026-11-06 19:00:14 +00:00
Adds the durable storage foundation for synchronized drafts (mobile-only, no network behavior yet): - Fix draft batch dedup in handleDraft to key by the composite (channel_id, root_id) instead of channel_id alone, so a channel draft and its thread reply drafts in the same batch no longer collapse. - Add Draft columns: server_update_at (nullable ancestry hint, not a revision), props (JSON), file_ids (JSON portable server attachment IDs). - Add the DraftOutbox table (one durable pending op per draft key) with operation/status const objects, generation, keep_local, retry fields, and a deleted_fingerprint column for delete-vs-newer-write disambiguation. - Add buildDraftOutboxId, the serialized mutateDraftAndOutbox writer primitive (enters database.write before querying both tables, commits one batch), and deterministic repairDuplicateDrafts. - Bump server schema 20 -> 21 with addColumns + createTable migration; register schema/model in the database managers, mocks, types, and docs. Tests: composite-key survival, concurrent-mutation serialization, batch failure atomicity, duplicate repair winner, model round-trip / migration compatibility, and migration definition. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| database | ||
| architecture-diagram.monopic | ||
| architecture-diagram.png | ||
| base_configs.md | ||
| testing_guide.md | ||