Skip to content

[BUG] Timer state is inconsistent across clients, leading to desynchronization #66

@SGudbrandsson

Description

@SGudbrandsson

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

  1. Start a timer on desktop
  2. Stop the timer on the web
  3. 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions