docs(map): cross-device sync rewrite, fixed defects and what is still local
Some checks failed
ci / 정본·보안·린트·타입·테스트 (push) Successful in 50s
ci / 모바일 린트·타입·Jest (push) Successful in 38s
ci / Supabase Edge Functions + Cloudflare Worker (push) Successful in 21s
ci / .NET API 서버 테스트 (push) Successful in 11s
deploy-site / deploy (push) Successful in 33s
ci / 워크스페이스 빌드 검증 (push) Has been cancelled
Some checks failed
ci / 정본·보안·린트·타입·테스트 (push) Successful in 50s
ci / 모바일 린트·타입·Jest (push) Successful in 38s
ci / Supabase Edge Functions + Cloudflare Worker (push) Successful in 21s
ci / .NET API 서버 테스트 (push) Successful in 11s
deploy-site / deploy (push) Successful in 33s
ci / 워크스페이스 빌드 검증 (push) Has been cancelled
This commit is contained in:
parent
53fcdf6305
commit
6b06442412
7 changed files with 45 additions and 18 deletions
|
|
@ -96,7 +96,8 @@ The existing `input-telemetry-handlers` and `suggestion-handlers` IPC extensions
|
|||
|---|---|
|
||||
| `ConfigService` | electron-store `AppConfig` (`configGet/Set`, defaults) |
|
||||
| `LicenseService` | Freemium tiers, quotas (`daily_usage`), activation, upgrade prompts |
|
||||
| `CloudSyncService` | Supabase sync, per-user DB switching, history/dictionary/meeting mirror |
|
||||
| `CloudSyncService` | Supabase auth + lifecycle: per-user DB switching, local-mode import on first sign-in, Realtime (`ws` transport) + 5-min heartbeat, device check-in, debounced flush/pull triggers. The sync itself lives in `services/sync/` |
|
||||
| `services/sync/` | `SyncEngine` (backfill once per user DB → push outbox → pull by server-clock keyset cursor → tombstones → memo-tag reconcile), `sync-outbox` (`sync_outbox`/`sync_state` tables), `sync-adapters` (history, dictionary, meetings, meeting memos/documents, custom commands, templates), `memo-tag-sync`, `supabase-sync-remote`, `device-registration`, `realtime-transport`. Services record changes with `getCloudSyncService().pushOne/pushDelete(entity, id)`; pulled rows are applied without re-queuing |
|
||||
| `CloudSTTService` | Thin cloud STT wrapper over `D3ROCloudDriver` |
|
||||
| `UpdateService` | electron-updater (canonical Forgejo feed, channels, mandatory/full-vs-delta policy, staged rollout, restart dialog) |
|
||||
| `AutoLaunchService` | OS login-item auto-start |
|
||||
|
|
@ -124,12 +125,12 @@ Registry: `src/main/ipc/index.ts` calls 31 `registerXHandlers()` in fixed order.
|
|||
| `audio-handlers` | AUDIO |
|
||||
| `caption-handlers` | CAPTION + SYSTEM_AUDIO |
|
||||
| `chain-handlers` | CHAIN |
|
||||
| `cloud-sync-handlers` | CLOUD_SYNC |
|
||||
| `cloud-sync-handlers` | CLOUD_SYNC; forwards engine `data-changed` as `app:dataChanged` `{ type: 'cloud-sync', entities }` so History/Dashboard/Dictionary/Commands/Meetings/Templates reload |
|
||||
| `config-handlers` | CONFIG |
|
||||
| `context-handlers` | CONTEXT |
|
||||
| `dictionary-handlers` | DICTIONARY |
|
||||
| `file-transcription-handlers` | FILE_TRANSCRIPTION |
|
||||
| `history-handlers` | HISTORY + `stats:getSummary` |
|
||||
| `history-handlers` | HISTORY (incl. `history:setFavorite`) + `stats:getSummary` |
|
||||
| `input-telemetry-handlers` | INPUT_TELEMETRY |
|
||||
| `instruction-handlers` | INSTRUCTION |
|
||||
| `keybinding-handlers` | KEYBINDING |
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue