← Craft adatlapja
AgentCraft

Skill · 1.0.0 verzió

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

Nézd meg, miben segít

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.

Részletek…Ö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

  1. 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), and conflict (server has a newer version).
    • Display these states honestly in the UI so users always know whether their latest edits are on the server.
  2. 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 modified after $S_1$ resolves (only transitioning to saved when acknowledgedClientSeq === 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.
  3. 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.

Local Draft Isolation & Safe Recovery

  • Scope Local Drafts by User, Workspace, and Document:
    • Key local drafts in IndexedDB/storage by (workspaceId, userId, documentId) with baseVersion, 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.
  • Conflict-Safe Reload & Recovery:
    • On load, compare the server's version against any local un-synced draft's baseVersion:
      • If localDraft.baseVersion === server.version and localDraft has un-synced edits, offer to restore the draft.
      • If server.version > localDraft.baseVersion (or a save returns 409 Conflict), never silently overwrite the newer server document. Pause autosave and let the user inspect, merge, or copy their local draft changes safely.

Checklist

  • Does the UI distinguish modified, saving, saved, error, and conflict accurately?
  • 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 baseVersion against the server so newer server versions are never silently overwritten?

Csomagban lévő fájlok 1

  • SKILL.md