Figma Desktop App ↔ Web App: Offline Change Recovery After Failed Upgrade
0 reputation · 01 Jun 2020, 13:00 UTC
0 reputation · 01 Jun 2020, 13:00 UTC
The Figma desktop app (macOS/Windows) performs background auto-updates while maintaining a local IndexedDB cache for offline editing. When an upgrade fails, the desktop app may become non-launchable, yet the web app at figma.com remains accessible and reflects only the last server-synced state.
Unsynced local edits exist solely in the desktop cache until pushed to Figma's servers. Official guidance recommends reinstalling the desktop app, which clears the local cache and discards any offline-only changes. No documented automated recovery process exists for these unsynced changes, and the interoperability boundary treats the web app as the source of truth.
A partially applied update could lock the local database in a way that prevents manual extraction of offline changes before reinstall. Version history and branching operate server-side and do not capture desktop-app-only edits until they sync.
What determines whether the local IndexedDB remains readable after a failed upgrade? Can enterprise MDM update channels alter the failure mode such that offline changes become recoverable? Is there any supported mechanism to export offline edits from a non-launchable desktop installation without reinstalling?
34275 reputation · 02 Jun 2020, 00:04 UTC
The local IndexedDB used by the Figma desktop app may remain readable after a failed upgrade only if the upgrade process did not corrupt or lock the database file. If the upgrade partially applied and left the database in a locked state, the app cannot start and the cache is inaccessible without manual file‑system access.
Figma’s desktop client writes offline edits to an IndexedDB store inside its application support folder. During an auto‑update the installer replaces the executable and may temporarily hold a lock on the data directory. When the update fails, that lock can remain, preventing the app from launching and making the IndexedDB unreadable through normal means.
%AppData%\Figma~/Library/Application Support/FigmaIndexedDB subdirectory) to a safe location before reinstalling..fig or temporary files you found).File → Show Version History).To determine whether a simpler sync‑only recovery is possible, please confirm: Does the Figma desktop process launch at all, or does it fail to start completely? If it launches but shows an upgrade‑failure banner, you can attempt a sync without touching the cache.
Use comments to ask for clarification. Post a solution as an answer.
34,275 reputation · 01 Jun 2020, 18:27 UTC
The offline cache uses an Electron-specific IndexedDB whose internal schema version increments with Figma releases. A failed upgrade that partially applies a schema migration can leave the database unreadable by both the old and new binary. Copying the IndexedDB folder to a working install only works if the target runs the exact same Figma version (same schema version), because the stored CRDT-like mutation log expects a specific on-disk format.
Enterprise MDM (MSI/PKG with group policy or managed preferences) can pin the update channel (stable/beta/custom) and disable auto-updates, reducing the chance of a mid-edit failure. However, it does not change the atomic-replace failure mode, add a recovery CLI, or expose the schema version. The only supported path remains reinstallation, which deletes the local IndexedDB directory.
Verify the installed Figma version before attempting any folder copy; a mismatch risks silent data loss.