Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

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

Abierto
#431 1 comentario 1 reacción 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
35/100
Tipo de issue
Error
Claridad
Necesita aclaración
Estado de actividad
Estancado
Stack tecnológico
objective-c

Línea de trabajo

Comienza con restorePreviousSignIn() en la aplicación de ejemplo DaysUntilBirthday y reproduce el problema usando los cambios enlazados que lo invocan dos veces. Prueba el caso de actualización del token ajustando kMinimalTimeToExpire y kMinimumRestoredAccessTokenTimeToExpire como se describe y, después, sigue el flujo de restauración. El trabajo estará terminado cuando se invoquen ambos bloques de finalización en el escenario reproducido.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

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

Lenguaje dominante
Objective-C
Estrellas
751
Forks
282
Merge medio
2 d 15 h
PR fusionados (30 d)
9

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de google/GoogleSignIn-iOS

Todos los issues de google/GoogleSignIn-iOS

Issues similares

Más issues de Objective-C

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.