GIDSignIn.sharedInstance.restorePreviousSignIn() sometimes fails to invoke completion handler
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
- Área
- authentication, mobile
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
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:
- https://github.com/google/GoogleSignIn-iOS/issues/360
- https://github.com/google/GoogleSignIn-iOS/issues/378
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:
- Make local changes to DaysUntilBirthday sample app such that restorePreviousSignIn() is invoked twice - see:
https://github.com/google/GoogleSignIn-iOS/commit/01d8cb32d1315cea141feeed5c055c9beb912561 - Sign in
- 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 - 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.
- 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
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de google/GoogleSignIn-iOS
-
enhancement triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
google/GoogleSignIn-iOS#621 ·
-
enhancement triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
google/GoogleSignIn-iOS#620 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
google/GoogleSignIn-iOS#440 · 4 comentarios · 2 reacciones ·
-
enhancement triage
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
google/GoogleSignIn-iOS#611 ·
-
Remove Cocoapods Support Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
google/GoogleSignIn-iOS#607 ·
Todos los issues de google/GoogleSignIn-iOS
Issues similares
-
macOS下查找brew::ncurse失败 Abiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
noah-nuebling/mac-mouse-fix#2054 ·
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 92/100
obsproject/obs-studio#13918 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
HigherOrderCO/Bend#842 · 2 comentarios ·