One commit authored in the future could throw off everything
Nobody has claimed this yet.
- Dominant language
- C#
- Stars
- 14
- Forks
- 4
- Avg merge
- 3d 21h
- Merged PRs (30d)
- 3
Description
Right now if a computer were to have it's clock set for 2030, and it made commits and synced them, then with our hybrid logical clock we would always use that as the start date which would throw off the dates basically forever (or till 2030 in this example).
It's probably safe to say that the server will never get far out of sync, so we could just have the server reject commits from the future, 5 min in the future further more and it gets rejected?
However if we did that then a user would need some way to correct the dates on their commits so they could get back in sync. I'm not sure the best way to do that, and it could get complicated if you mix in offline sync, because those commits could have been sent somewhere else.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No files or tests are named. Start by tracing the hybrid logical clock and commit sync path, then determine how future timestamps are rejected and how users correct them without breaking offline sync; done requires an agreed behavior for both rejection and recovery.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- distributed-systems
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100