← Wszystkie widoki i mapa menu

Synchronizacja

Status dwukierunkowej replikacji danych pomiędzy pamięcią przeglądarki, lokalnym demonem a rejestrem chmurowym z obsługą pracy offline.

Kontekst (Surface) CONFIG
Kanoniczny URI proc://clonerd.com/ui/sync/v1
URN Implementacji urn:clonerd:code:js:views:sync
Wzorzec URL /?view=sync&surface=config

1. Diagramy Procesów i Architektury

A. Topologia nawigacji i wywołań akcji

flowchart TD subgraph S["Kontekst: CONFIG"] V["Widok: Synchronizacja
?view=sync"] end subgraph Actions["Dostępne akcje i procedury CQRS"] A_0["sync.push
Wymuszenie wysyłki lokalnych zmian do chmury"] A_1["sync.resolve
Wybór wersji rozstrzygnięcia konfliktu (Local vs Remote)"] end V --> A_0 V --> A_1

B. Maszyna stanów i cykl życia operacji

stateDiagram-v2 [*] --> Idle : Wejście do widoku Synchronizacja Idle --> FormOrFilter : Interakcja z kontrolkami FormOrFilter --> CQRSCommand : Wywołanie akcji CQRSCommand --> StateUpdated : Aktualizacja stanu i API StateUpdated --> Idle : Odświeżenie widoku

C. Sekwencja wykonania CQRS

sequenceDiagram autonumber actor U as Użytkownik / Agent participant UI as Interfejs (Synchronizacja) participant CQRS as Dyspozytor CQRS participant API as Backend API (:8891) participant DB as Baza / Runtime U->>UI: Kliknięcie / Wywołanie akcji [sync.push] UI->>CQRS: dispatch('sync.push', data) CQRS->>API: Żądanie HTTP REST / RPC API->>DB: Mutacja / Odczyt stanu DB-->>API: Potwierdzenie zapisu API-->>CQRS: Wynik operacji + ślad zdarzenia CQRS-->>UI: Aktualizacja stanu (state) UI-->>U: Re-render widoku i powiadomienie (toast)

2. Zarejestrowane Polecenia CQRS

Akcja UIProcedura URIURN w kodzieOpis
sync.pushproc://clonerd.dev/cmd/sync/push/v1urn:clonerd:code:js:actions:sync#pushChangesWymuszenie wysyłki lokalnych zmian do chmury
sync.resolveproc://clonerd.dev/cmd/sync/resolve/v1urn:clonerd:code:js:actions:sync#resolveConflictWybór wersji rozstrzygnięcia konfliktu (Local vs Remote)

3. Powiązane Endpointy API

MetodaŚcieżka RESTOpis
GET/api/sync/statusLiczba oczekujących zdarzeń i konfliktów
POST/api/sync/pushPrzesłanie partii zmian (SyncChange)