New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Cannot undo moving or copying synced clippings/folders after reloading Synced Clippings folder #384
Comments
… reloading Synced Clippings folder (issue #384)
Not yet fully fixed. Still need to handle:
Also, the static/synced IDs should be GUIDs, not random numbers. This change will ensure that synced items are unique across different instances of Clippings. |
…er reloading Synced Clippings folder (part of issue #384)
If creating a new clipping from the New Clipping dialog, reloading the Synced Clippings folder from Clippings Manager should be disabled until the user dismisses the New Clipping dialog. This will prevent errors due to the IDs of synced folders being changed when the sync data is reloaded and the IndexedDB data for them is refreshed. |
Remaining work to be deferred to after 6.4 beta 1:
|
Still not fully fixed. Steps to repro:
Result: The move from step 1 is not undone. |
… is turned on (part of issue #384)
…Clippings folder (part of issue #384)
…oading Synced Clippings folder (part of issue #384)
…after reloading Synced Clippings folder (part of issue #384)
Despite these fixes, there are still caveats with undoing most Clippings Manager actions with synced items after reloading the Synced Clippings folder. Undo and redo may not work if the parent folder of a synced item was deleted or moved out of the Synced Clippings folder. Undoing or redoing removal of all source URLs will silently fail (no exceptions thrown) if the affected synced items were changed. Trying to catch all these edge cases runs the risk of added complexity to Clippings Manager, as well as code bloat, making it harder to debug and maintain. I have decided to leave it as it is for now, and will revisit if there is user demand. |
Clippings 6.3.5
When the Synced Clippings folder is reloaded, the synced items are purged and reloaded from the sync file. This means that synced items are assigned new IDs in the IndexedDB database. But the undo and redo stacks still hold the old IDs of the synced items before the reload and purge, which causes the Undo and Redo actions to fail.
A temporary fix will be implemented for Clippings 6.3 - added error handling when the clipping or folder is invalid when editing. But a better fix is needed.
The text was updated successfully, but these errors were encountered: