crossmate

A collaborative crossword app for iOS
Log | Files | Refs | LICENSE

commit 8d9dfd40be83d2c1c39dcab5a2d9df5d4e6bb81b
parent 7e60b0fcee19c3b5613c5f0f9555a67b614857b8
Author: Michael Camilleri <[email protected]>
Date:   Sat,  6 Jun 2026 09:34:35 +0900

Add logging for lease minting

Diffstat:
MCrossmate/Services/AppServices.swift | 10++++++++++
1 file changed, 10 insertions(+), 0 deletions(-)

diff --git a/Crossmate/Services/AppServices.swift b/Crossmate/Services/AppServices.swift @@ -2965,6 +2965,16 @@ final class AppServices { minimumExistingReadAt: now.addingTimeInterval(Self.readLeaseRefreshFloor) ) if didUpdate { + // Ghost-peer probe: every active-session lease passes through + // here. `suppressed` is "is this device actually viewing this + // puzzle right now." A mint with suppressed=false is a presence + // lease asserted while the user isn't looking — the resurrection + // — and the foreground flag tells us which gate let it through. + syncMonitor.note( + "lease MINT[\(gameID.uuidString.prefix(8))] " + + "readAt=\(readAt.ISO8601Format()) foreground=\(isAppForeground) " + + "suppressed=\(NotificationState.isSuppressed(gameID: gameID))" + ) await publishAccountSeenPush(gameID: gameID, readAt: readAt) } case .currentTime: