commit 056e55c54cfd2c51605453ad782f2e595243af8a
parent d427dee4a032f9341164a5fa714086dda1a4d12b
Author: Michael Camilleri <[email protected]>
Date: Tue, 21 Jul 2026 10:27:04 +0900
Fix stale comments
Diffstat:
2 files changed, 8 insertions(+), 5 deletions(-)
diff --git a/Crossmate/Sync/RecordSerializer.swift b/Crossmate/Sync/RecordSerializer.swift
@@ -626,8 +626,9 @@ enum RecordSerializer {
/// authorID alone is insufficient for kinds (e.g. `.opened`) that fire
/// between a single user's own devices, where authorID is identical.
/// - `playerName` and `puzzleTitle` let receivers render the alert body.
- /// - `kind` distinguishes the remaining bootstrap kinds (.join /
- /// .friend / .invite / .hail).
+ /// - `kind` distinguishes the bootstrap kinds current clients write
+ /// (.friend / .invite / .decline); legacy `.join`/`.hail` records
+ /// remain parseable but are no longer produced.
static func pingRecord(
gameID: UUID,
authorID: String,
diff --git a/Crossmate/Sync/SyncEngine.swift b/Crossmate/Sync/SyncEngine.swift
@@ -773,8 +773,8 @@ actor SyncEngine {
}
}
- /// Registers a Ping record as a pending send. Pings now only cover
- /// bootstrap kinds (`.join` / `.friend` / `.invite` / `.hail`) — the
+ /// Registers a Ping record as a pending send. Current clients only write
+ /// bootstrap kinds (`.friend` / `.invite` / `.decline`) — the
/// user-facing play events go through the push worker. Sender-only
/// state: the payload is committed to a durable outbox before the
/// CKSyncEngine save is queued, then retained until CloudKit confirms it.
@@ -988,7 +988,9 @@ actor SyncEngine {
/// One-shot cleanup of Ping records whose kinds were retired when the
/// push worker took over user-facing event notifications:
/// `.check`, `.reveal`, `.resign`, `.win`, and the old session-start
- /// `.join`. Those kinds are gone from `PingKind`, but records written
+ /// `.join`. Current clients no longer write these — `.check`/`.reveal`/
+ /// `.resign`/`.win` are gone from `PingKind` entirely, while `.join`
+ /// remains only so legacy records stay parseable — but records written
/// by pre-cutover builds linger in shared game zones and will replay
/// as obsolete announcements after a zone fetch. Every device drains
/// the game zones it can reach exactly once.