← Belső rendszer fejlesztők adatlapja
Nézd meg, miben segít
Automatikus mentés és helyreállítás
Sorrendezett mentéssel, elkülönített piszkozatokkal és újabb szerververziót tiszteletben tartó helyreállítással védi a szerkesztési munkát.
autosave-recovery
Ezt a skillt használó csapattagok
Mikor hasznos?
Akkor használd, ha dokumentumot bizonytalan kapcsolaton szerkesztenek, vagy megszakadt mentés után újranyitják az alkalmazást.
Miben segít neked?
- Elkülöníti a szerkesztés, mentés, siker és hiba állapotát.
- Elutasítja az elavult válaszokat, felhasználóhoz és dokumentumhoz köti a piszkozatot.
- Helyreállítás előtt összeveti a helyi és szerveroldali verziókat.
Például ezt kérheted
Állíts helyre offline módosítást az újabb szerveroldali dokumentum felülírása nélkül. Ugyanazt a bekezdést szerkeszd offline és másik eszközön. Visszaállítás előtt legyen összehasonlítás, a vissza nem igazolt feltöltés pedig ne jelenjen meg mentettként.
Részletes dokumentáció
Itt a skill eredeti útmutatóját, példáit és ellenőrzési szempontjait olvashatod az eredeti nyelven.
Összecsukás
Autosave & Recovery
Use this skill when building saving, autosaving, offline draft caching, network interruption handling, and version conflict recovery for editors.
Explicit Save State Machine & Sequencing
- Never Equate Request Dispatch with "Saved":
- Model persistence with explicit states:
saved(clean),modified(dirty, awaiting debounce),saving(request in flight),error(save failed, retry pending), andconflict(server has a newer version). - Display these states honestly in the UI so users always know whether their latest edits are on the server.
- Model persistence with explicit states:
- Monotonic Sequence Numbers & Out-of-Order Guards:
- Tag every outgoing save with the local revision counter (
clientSeq) and last known server version (baseVersion). - If the user edits while save $S_1$ is in flight, keep the state
modifiedafter $S_1$ resolves (only transitioning tosavedwhenacknowledgedClientSeq === currentClientSeq), and trigger a follow-up save. - Ignore or abort stale responses ($S_1$ arriving after $S_2$) so an older response never overwrites newer local state.
- Tag every outgoing save with the local revision counter (
- Never Rely Solely on Unload Events:
- Page close (
beforeunload/pagehide) requests can be dropped by the browser. Combine debounced server autosave with immediate local draft persistence and warn on navigation when unsaved changes exist.
- Page close (
Local Draft Isolation & Safe Recovery
- Scope Local Drafts by User, Workspace, and Document:
- Key local drafts in IndexedDB/storage by
(workspaceId, userId, documentId)withbaseVersion,updatedAt, and schema version. - Purge or isolate sensitive local drafts on logout, workspace revocation, or TTL expiration.
- Handle storage quota errors (
QuotaExceededError) gracefully without crashing the editor or falsely promising offline recovery.
- Key local drafts in IndexedDB/storage by
- Conflict-Safe Reload & Recovery:
- On load, compare the server's
versionagainst any local un-synced draft'sbaseVersion:- If
localDraft.baseVersion === server.versionandlocalDrafthas un-synced edits, offer to restore the draft. - If
server.version > localDraft.baseVersion(or a save returns409 Conflict), never silently overwrite the newer server document. Pause autosave and let the user inspect, merge, or copy their local draft changes safely.
- If
- On load, compare the server's
Checklist
- Does the UI distinguish
modified,saving,saved,error, andconflictaccurately? - Do monotonic sequence/version checks prevent stale in-flight save responses from overwriting newer edits?
- Are local drafts scoped to
(workspaceId, userId, documentId)and cleared on logout? - Does recovery check
baseVersionagainst the server so newer server versions are never silently overwritten?
Csomagban lévő fájlok 1
SKILL.md
