Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

GIDSignIn.sharedInstance.restorePreviousSignIn() sometimes fails to invoke completion handler

Aperta
#431 1 commento 1 reazione 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
35/100
Tipo di issue
Bug
Chiarezza
Da chiarire
Stato di attività
Ferma
Stack tecnologico
objective-c

Direzione di ricerca

Inizia con restorePreviousSignIn() nell’app di esempio DaysUntilBirthday e riproduci il problema usando le modifiche collegate che lo invocano due volte. Esegui il caso di aggiornamento del token regolando kMinimalTimeToExpire e kMinimumRestoredAccessTokenTimeToExpire come descritto, quindi traccia il flusso di ripristino. Il lavoro è completato quando entrambi i blocchi di completamento vengono invocati nello scenario riprodotto.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

bug triage

Describe the bug
GIDSignIn.sharedInstance.restorePreviousSignIn() does not always invoke the completion handler.

I suspect these two closed issues may have the same root cause:

To Reproduce
There appears to be two requirements to reproduce this:

  • restorePreviousSignIn() must be invoked multiple times before the first call completes
  • the tokens must be close enough to expiring to trigger refresh logic

Specific repro steps:

  1. Make local changes to DaysUntilBirthday sample app such that restorePreviousSignIn() is invoked twice - see:
    https://github.com/google/GoogleSignIn-iOS/commit/01d8cb32d1315cea141feeed5c055c9beb912561
  2. Sign in
  3. Kill and restart the app. Check console: should see output below, indicating that both completion blocks are invoked:
    0: Restoring
    1: Restoring
    0: Done: Optional(<GIDGoogleUser: 0x600002124820>), nil
    1: Done: Optional(<GIDGoogleUser: 0x600002124820>), nil
  4. Kill the app and wait for about an hour. I was also able to reproduce immediately by changing kMinimalTimeToExpire and kMinimumRestoredAccessTokenTimeToExpire to both be 60.0*59.9.
  5. Restart the app and check console output.

Expected behavior
console output should be the following, indicating that both completion blocks were invoked:
0: Restoring
1: Restoring
0: Done: Optional(<GIDGoogleUser: 0x600002124820>), nil
1: Done: Optional(<GIDGoogleUser: 0x600002124820>), nil

Actual behavior
console output is the following, indicating the first completion block was not invoked:
0: Restoring
1: Restoring
1: Done: Optional(<GIDGoogleUser: 0x600002124820>), nil

Lingua principale
Objective-C
Stelle
751
Fork
282
Merge medio
4g 20h
PR unite (30g)
11

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di google/GoogleSignIn-iOS

Tutte le issue di google/GoogleSignIn-iOS

Issue simili

Altre issue su Objective-C

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.