Unwanted Autosaves (since implementation of Realtime Collaboration)

From my perspective, autosave compromises the integrity of a page during editing as it is implemented at the moment. It saves changes mid-process, often with incomplete sentences or scripts, before I’ve had a chance to review or finalize them. As a result, if someone accesses the page during this time, it may appear incomplete or even broken, especially for unfinished scripts. This undermines the Preview button’s purpose, as it no longer reflects pending changes but rather what’s already live.

The most confusing aspect for me was that clicking Cancel only discards changes made since the last autosave, not all edits since opening the editor. This behavior feels counterintuitive and can unintentionally retain undesired changes. Additionally, autosaves clutter the version history and require users to manually revert to the last intentional save after clicking Cancel, increasing complexity and the risk of errors.

Another issue is that autosaves are indistinguishable from regular saves in the version history. They appear as user-initiated changes, even when they are initiated due to a system setting. This undermines version control by making it unclear which changes were deliberate. Even the user themselves cannot distinguish these changes if the previous edits were minor. They would need to manually compare the versions to identify the differences and to find out what was the last manually saved version.

Proposed Solution
To address these issues, autosaves could be stored as temporary versions (e.g., MySpace.MyPage.TempHome) rather than the primary version (...WebHome). These temporary versions would be deleted automatically when the user finalizes their edits by clicking Save or discards them with Cancel. If the user stops editing for another reason, such as closing the browser tab, the system could prompt them to resume their temporary version upon returning. (I believe this is how it works in WordPress, although I’m not sure if WordPress supports collaborative editing.)

This approach ensures incomplete changes aren’t published prematurely while safeguarding in-progress work. It also keeps version histories clean and aligned with user intent.

1 Like