mirror of
https://github.com/mattermost/mattermost-mobile.git
synced 2026-11-14 23:21:13 +00:00
Per-server coordinator scaffolding with NO network activity. Owns lifecycle state, a lifecycle epoch to reject stale async continuations, a bounded inbound WebSocket event buffer, and a single durable retry timer per server that reconstructs itself from the DraftOutbox — its fire callback sends nothing (self-rescheduling heartbeat; Phase 4 adds draining at the marked call sites). - Add draft sync timing constants (retry base/max/jitter, absence-confirmation delay, reconciliation deadline, snapshot-stale TTL, max event buffer). - New app/managers/draft_sync_manager: narrow API (initialize, wake, requestReconcile, enqueueWebSocketEvent, handleCapabilityChange, invalidate). invalidate is synchronous (epoch++, cancel timer, clear buffer, disable). Retry-eligible = Pending/ConfirmingDelete. Missing/destroyed DB never throws. handleCapabilityChange suspends/resumes without deleting durable rows. Checks: npm run tsc clean; eslint --quiet clean; 10 manager tests pass. Verified no network/client imports. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| about_links.ts | ||
| action_type.ts | ||
| apps.ts | ||
| autocomplete.test.ts | ||
| autocomplete.ts | ||
| calls.ts | ||
| categories.ts | ||
| channel.ts | ||
| classification.ts | ||
| config.ts | ||
| custom_status.ts | ||
| database.ts | ||
| datetime.ts | ||
| deep_linking.ts | ||
| device.ts | ||
| draft.ts | ||
| emoji.ts | ||
| events.ts | ||
| files.ts | ||
| gallery.ts | ||
| general.ts | ||
| image.ts | ||
| index.ts | ||
| integrations.ts | ||
| launch.ts | ||
| license.ts | ||
| list.ts | ||
| members.ts | ||
| navigation.ts | ||
| network.ts | ||
| notification_level.ts | ||
| permissions.ts | ||
| post_draft.ts | ||
| post.ts | ||
| preferences.ts | ||
| profile.ts | ||
| push_notification.ts | ||
| push_proxy.ts | ||
| reaction_picker.ts | ||
| report_a_problem.ts | ||
| screens.ts | ||
| server_errors.ts | ||
| snack_bar.ts | ||
| sso.ts | ||
| supported_server.ts | ||
| team.ts | ||
| tooltip.ts | ||
| tutorial.ts | ||
| versions.ts | ||
| view.ts | ||
| websocket.ts | ||