mirror of
https://github.com/nolen777/eagle0.git
synced 2026-07-28 21:35:42 +00:00
Document Shardok resync mechanism and unused request_full_resync field (#4623)
The request_full_resync field exists in eagle.proto but is not read by the server. The actual resync mechanism uses filteredResultCount = 0 instead. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -387,12 +387,15 @@ ShardokViewStatus {
|
||||
- Sends duplicate updates (client sees repeated actions)
|
||||
- Skips updates (client misses actions)
|
||||
|
||||
**No visible state recovery mechanism** in the code:
|
||||
- No "resync" request to get full game state
|
||||
**State recovery mechanism (partial):**
|
||||
- Client can request resync by setting `filteredResultCount = 0` in `ShardokViewStatus`
|
||||
- Server will send all results from the beginning when `filteredResultCount = 0`
|
||||
- ⚠️ **NOTE:** The `request_full_resync` field exists in the proto (`eagle.proto:88`) but is **NOT read by the server**. It's effectively dead code. The resync works via `filteredResultCount = 0` instead.
|
||||
- No checksum/hash to verify client and server are in sync
|
||||
- No explicit handling of "I missed updates" scenario
|
||||
|
||||
**Impact:** After connection drop during Shardok, game state may be inconsistent.
|
||||
**TODO:** Either implement server-side handling of `request_full_resync`, or remove the field from the proto.
|
||||
|
||||
**Impact:** After connection drop during Shardok, client can recover via resync, but relies on `filteredResultCount = 0` workaround.
|
||||
|
||||
## Recommendations
|
||||
|
||||
|
||||
Reference in New Issue
Block a user