Automattic / Automattic/cortext
Sync Desktop with a remote Cortext workspace
- Dominant language
- JavaScript
- Stars
- 51
- Forks
- 2
- Avg merge
- 3h 12m
- Merged PRs (30d)
- 8
Description
## Goal
Cortext Desktop currently keeps the workspace on one computer. Losing that computer can mean losing the workspace, and there is no way to continue from another installation.
Let Desktop pair with a remote Cortext site and sync the workspace in either direction. Start with a manual flow whose changes are visible and recoverable.
## Tasks
- [ ] Let a Desktop workspace pair with a remote Cortext installation, authenticate, and disconnect again.
- [ ] Compare and synchronize pages, hierarchy, collection schemas, rows, memberships, and stored property values without changing document identity.
- [ ] Transfer referenced media and preserve links, relations, and covers when content moves between installations.
- [ ] Add a manual Sync action that shows pending changes, progress, the last successful sync, and errors that need attention.
- [ ] Detect changes made on both sides and resolve them without silently overwriting either version.
- [ ] Create a recoverable snapshot before applying incoming changes and provide a way to restore it after a failed or unwanted sync.
## Acceptance criteria
- A Desktop workspace can pair with and authenticate to a remote Cortext installation.
- Creating or editing a page, collection, or row on either side can be reflected on the other after a manual sync.
- Hierarchy, fields, media, links, and relations remain intact after synchronization.
- Conflicting changes are surfaced and do not silently discard content.
- A failed sync leaves both workspaces usable and offers a recovery path.
## Out of scope
- Live collaborative editing. That remains part of [Concurrent editing #94](https://github.com/Automattic/cortext/issues/94).
- Continuous background sync. The first version runs when the user asks it to.
Contributor guide
Research direction
No files, tests, or entry points are named in the issue. Start by locating Desktop workspace persistence and the remote authentication/API boundaries, then map the manual Sync flow across pairing, comparison, conflict handling, snapshots, and recovery; completion is defined by the listed acceptance criteria.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- desktop, distributed-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100