Repository navigation
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
[Medium impact] This change appears safe to merge. SummaryClears
Reviews (1) · Last reviewed commit: "fix: drop a held expiry toast on sign-ou..." · Reviewed by Greptile |
coreyphillips
left a comment
There was a problem hiding this comment.
Two independent reviews, nothing blocking a merge.
talosmachina
left a comment
There was a problem hiding this comment.
No findings. Clears hasPendingExpiryToast when the Pubky auth state drops to .idle, next to paykitPaymentRequestManager.clear(), so an expiry toast held behind the PIN screen is not shown for a profile that was just signed out. Reviewed 49e83ef, light tier, reasoned from the code and CI: the branch was not built here.
What I checked, and 3 candidates I ruled out
Read: AppScene.swift around the change (the authState onChange, queueSilentExpiryToast, showPendingExpiryToast, the isPinVerified and scenePhase handlers), PaykitPaymentRequestManager.clear() and recordSilentExpirations in PaykitPaymentRequestService.swift, and every authState = .idle site in PubkyProfileManager.swift.
CI: SwiftFormat, validate and detect-changes green; Run Tests, Run Integration Tests and build-local still pending when this was posted.
Ruled out
- Not every sign-out path reaches
.idle: sign-out, the failed restore and the expired session all go throughclearAuthenticatedState()or setauthState = .idledirectly (PubkyProfileManager.swift:314,:1615), andPubkyAuthStatehas only.idleand.authenticated, so the handler sees each of them. - A queue right after the reset brings the toast back:
clear()emptiessilentlyExpiredRequestsandreportedSilentExpirationIdsin the same main-actor pass, andqueueSilentExpiryToast()returns early on an empty list. - Switching straight to another identity skips
.idle:adoptRingIdentityandcompleteRingAdoptionset.authenticatedwithout going through.idle, so a held toast would survive a direct identity swap. That path also skipspaykitPaymentRequestManager.clear(), which predates this PR, and the PR scopes itself to the cleared-session case, so it is not this diff's defect.
Merge confidence: 4/5, the unit and build jobs had not finished at review time, and no test covers the reset (the flag is view @State).
coreyphillips
left a comment
There was a problem hiding this comment.
Rechecked after replies, with no new commit since 49e83ef. Nothing blocking remains.
…gn-out # Conflicts: # Bitkit/AppScene.swift
|
|
coreyphillips
left a comment
There was a problem hiding this comment.
Rechecked after replies, with no new commit since d32977f. Nothing blocking remains.
Refs #1051
Follow-up to #1068, from @coreyphillips' review #1068 (review).
Description
paykitPaymentRequestManager.clear()call.Out of Scope
Design
N/A — no UI changes.
Preview
N/A — removes a stale toast; no new UI.
QA Notes
Journeys
N/A
Manual Tests
Automated Checks