Background Sync: A New Seamless Way to Work
We've heard your feedback and we are excited to share a significant update that should go largely unnoticed moving forward: Local Mode now syncs in the background while you keep drawing (similar to how apps like Google Docs work).
Instead of pausing your workflow to run a sync like previous modes, your projects stay up to date automatically, with much more resilient error handling and automatic recovery if something goes wrong.
This means that every gear, port, connection, VLAN, layer, and every other part of your project is seamlessly saved back to the database that powers every project with you no longer needing to think about it.
The new Background Sync mode replaces the previous Sync Periodically and Sync Manually modes as we have overhauled how the syncing algorithm works in GearConnect. It is now multi-threaded, with project validation happening when you save the project on the main thread before your project is snapshotted and handed off to the sync engine.
The Background Sync will now dynamically talk to the main thread to coordinate project snapshots, syncing cadence, server updates, and error handling which means the app will no longer lock editing with the full page loading screen, allowing you to keep working without any app slowness while the sync runs.
This means any edits you make while a sync is in progress will now simply be queued up for the next sync. Syncs run shortly after you stop editing the project and you can monitor progress in the Main Menu Bar, complete with a more helpful progress percent to let you know how close the syncing is to completion.
Background Syncs run at a slower, more relaxed pace however you can still manually trigger a sync just like before in a variety of ways such as clicking on the last synced time, which will trigger a fast sync.
You can try this new Background Sync mode in the Beta app today; it will be activated automatically for you if you previously had Local Mode enabled.
Instead of pausing your workflow to run a sync like previous modes, your projects stay up to date automatically, with much more resilient error handling and automatic recovery if something goes wrong.
This means that every gear, port, connection, VLAN, layer, and every other part of your project is seamlessly saved back to the database that powers every project with you no longer needing to think about it.
The new Background Sync mode replaces the previous Sync Periodically and Sync Manually modes as we have overhauled how the syncing algorithm works in GearConnect. It is now multi-threaded, with project validation happening when you save the project on the main thread before your project is snapshotted and handed off to the sync engine.
The Background Sync will now dynamically talk to the main thread to coordinate project snapshots, syncing cadence, server updates, and error handling which means the app will no longer lock editing with the full page loading screen, allowing you to keep working without any app slowness while the sync runs.
This means any edits you make while a sync is in progress will now simply be queued up for the next sync. Syncs run shortly after you stop editing the project and you can monitor progress in the Main Menu Bar, complete with a more helpful progress percent to let you know how close the syncing is to completion.
Background Syncs run at a slower, more relaxed pace however you can still manually trigger a sync just like before in a variety of ways such as clicking on the last synced time, which will trigger a fast sync.
You can try this new Background Sync mode in the Beta app today; it will be activated automatically for you if you previously had Local Mode enabled.
Offline Mode Handoff
Background Syncing works in tandem with Offline Mode - because GearConnect installs as an app automatically, you can install and run the app completely offline. When you are in poor internet connections like on site, Offline Mode automatically kicks in and syncing continues to store your project changes in a local database.
Once you come back online, Background Sync will take your most recent changes and start syncing them back up to the server, making the handoff seamless for you.
And now, if you lose internet half way through a sync, the all new syncing resilience improvements seamlessly recover for when you are back online.
Once you come back online, Background Sync will take your most recent changes and start syncing them back up to the server, making the handoff seamless for you.
And now, if you lose internet half way through a sync, the all new syncing resilience improvements seamlessly recover for when you are back online.
Improved Syncing Resilience
Interrupting a sync is no longer an issue, never leaving your project in a mid-synced state as syncing is now far more resilient thanks to snapshot based syncing. If something goes wrong partway through a sync, the app has more recovery paths to seamlessly recover using various methods before alerting you. If it can't recover, it simply abandons the snapshot and takes a new one on the next sync, picking up where it left off.
It will only update your project with the sync results if the snapshot was fully 100% syncable, ensuring project integrity. We have also extended this improved resilience across more parts of the project, including VLANs, cable inventories, and layers, not just the core gear, ports, and connections.
In the event that several snapshots fail to sync repeatedly, you will be presented with an option to perform a full project validation as before, complete with the new smarter repair options we added in recent releases.
It will only update your project with the sync results if the snapshot was fully 100% syncable, ensuring project integrity. We have also extended this improved resilience across more parts of the project, including VLANs, cable inventories, and layers, not just the core gear, ports, and connections.
In the event that several snapshots fail to sync repeatedly, you will be presented with an option to perform a full project validation as before, complete with the new smarter repair options we added in recent releases.
Instant Version History Reverts and Project Imports
But it's not just editing that gets a major performance boost. Importing projects and reverting Version Histories now take seconds instead of minutes as the snapshot based syncing simply will queue up your latest changes. This means the admittedly long and drawn out process of reverting Version Histories is now compressed to a matter of seconds as you no longer need to wait for a full re-sync and project validation.
This makes quickly swapping between different versions much more feasible now, for those times you can't remember the exact older version you were looking for and need to hop around a few different versions until you find it. Just revert as many as you need, and let background sync clean up gracefully when you are done.
This makes quickly swapping between different versions much more feasible now, for those times you can't remember the exact older version you were looking for and need to hop around a few different versions until you find it. Just revert as many as you need, and let background sync clean up gracefully when you are done.
Local Mode Changes
We've also made some changes to how Local Mode works in general. Previously, deleting a project in one browser would still leave your local copy on other browsers and devices. The intention was to allow you an extra backup method in the event of accidental mistakes, but this ended up just causing confusion for most people.
Instead, it now removes deleted projects from your other browser sessions instead of leaving previous copies behind, matching how shared team projects already behaved. This does mean delete is now more permanent though!
Another important change to be mindful of - your local projects are now treated as the source of truth. If you are syncing the same project across multiple browsers or devices at the same time, the most recently synced one will now always take precedence, regardless of if the server's version is newer.
This keeps syncing clear, consistent, and predictable, and you can always recover previous versions from Version History in the event of a mistake.
Instead, it now removes deleted projects from your other browser sessions instead of leaving previous copies behind, matching how shared team projects already behaved. This does mean delete is now more permanent though!
Another important change to be mindful of - your local projects are now treated as the source of truth. If you are syncing the same project across multiple browsers or devices at the same time, the most recently synced one will now always take precedence, regardless of if the server's version is newer.
This keeps syncing clear, consistent, and predictable, and you can always recover previous versions from Version History in the event of a mistake.
Improvements
- Some self-healing steps, such as correcting layer ordering and port colours, now run as part of the normal project load rather than requiring a full project validation.
- Thanks to the improved error handling with Background Sync, the old import-with-errors workflow and checkbox is no longer needed and has been removed.
- Local Mode is now no longer bypassed during project syncs, preventing rare cases where you may be told Local Mode needs to be enabled when using Local Mode specific features such as undo shortly after a sync completes. Local Mode is still required to be bypassed during full project validations.
- During syncs, project data is now synced in chunks for faster syncing instead of one-at-a-time for all project data, not just ports and connections.
- Manual syncs will now always run if requested, even if there are no changes to the project.
- Several notifications that should never have been dis-missable can no longer be dismissed by mistake.
Bug Fixes
- Fixed panning not working for read-only users and read-only projects.
- Fixed an auto save not being triggered in some situations after changing non-drawing items like layers or cable inventories.
- Fixed the Library Editor not saving updates when you saved very quickly after making a change.
- Fixed the validating-project notification disappearing while validation was still in progress.
- Fixed a rare case where a duplicate VLAN or layer could be created after a sync.