-
-
Notifications
You must be signed in to change notification settings - Fork 22
Open
Description
Problem Description
There is a data synchronization issue between Solidtime clients. For example, a timer stopped on the web application continues to run on the desktop application, creating an inconsistent state. The timer status should remain consistent across all connected clients.
Steps to Reproduce
- Start a timer on desktop
- Stop the timer on the web
- Observe that the desktop client is now desynchronized and shows the timer still running.
Suggestion: Implement a Robust Synchronization Pattern
To ensure data integrity, a more robust synchronization mechanism is needed. This is critical for scaling across all platforms, including future mobile apps and browser extensions.
The proposed solution involves:
- Timestamping Actions: All actions should be recorded with a precise UTC timestamp.
- Centralized Server Log: The server should maintain a log of all actions, treating the most recent timestamp as the source of truth to resolve conflicts.
- Hybrid Syncing: Clients should sync in real-time (e.g., via WebSockets) and use periodic polling as a fallback to ensure the state self-corrects if a connection is lost.
Implementing this pattern will create a more reliable and consistent user experience across the entire Solidtime ecosystem.
nikbpetrov
Metadata
Metadata
Assignees
Labels
No labels