Skip to content

[Wear App] Stores using Application Passwords fails the authentication sync #12132

@ThomazFB

Description

@ThomazFB

Summary

The Play Store console reports that 7 users are currently going through a crash in the Wear app when trying to authenticate with a store using an Application Password as the login method.

Exception java.util.NoSuchElementException:
  at org.wordpress.android.fluxc.network.rest.wpapi.applicationpasswords.ApplicationPasswordsConfiguration._get_applicationName_$lambda-0 (ApplicationPasswordsConfiguration.kt:20)
  at org.wordpress.android.fluxc.network.rest.wpapi.applicationpasswords.ApplicationPasswordsConfiguration.$r8$lambda$3VzvA4dpOepIAjhAGZ5u9cHFB3I
  at org.wordpress.android.fluxc.network.rest.wpapi.applicationpasswords.ApplicationPasswordsConfiguration$$ExternalSyntheticLambda0.get
  at java.util.Optional.orElseThrow (Optional.java:404)
  at org.wordpress.android.fluxc.network.rest.wpapi.applicationpasswords.ApplicationPasswordsConfiguration.getApplicationName (ApplicationPasswordsConfiguration.kt:19)
  at org.wordpress.android.fluxc.network.rest.wpapi.applicationpasswords.ApplicationPasswordsStore.getApplicationName (ApplicationPasswordsStore.kt:38)
  at org.wordpress.android.fluxc.network.rest.wpapi.applicationpasswords.ApplicationPasswordsStore.initEncryptedPrefs (ApplicationPasswordsStore.kt:82)
  at org.wordpress.android.fluxc.network.rest.wpapi.applicationpasswords.ApplicationPasswordsStore.access$initEncryptedPrefs (ApplicationPasswordsStore.kt:15)
  at org.wordpress.android.fluxc.network.rest.wpapi.applicationpasswords.ApplicationPasswordsStore$encryptedPreferences$2.invoke (ApplicationPasswordsStore.kt:41)
  at org.wordpress.android.fluxc.network.rest.wpapi.applicationpasswords.ApplicationPasswordsStore$encryptedPreferences$2.invoke (ApplicationPasswordsStore.kt:40)
  at kotlin.SynchronizedLazyImpl.getValue (LazyJVM.kt:74)
  at org.wordpress.android.fluxc.network.rest.wpapi.applicationpasswords.ApplicationPasswordsStore.getEncryptedPreferences (ApplicationPasswordsStore.kt:40)
  at org.wordpress.android.fluxc.network.rest.wpapi.applicationpasswords.ApplicationPasswordsStore.getCredentials$fluxc_release (ApplicationPasswordsStore.kt:46)
  at org.wordpress.android.fluxc.network.rest.wpapi.applicationpasswords.ApplicationPasswordsManager.getApplicationCredentials (ApplicationPasswordsManager.kt:53)
  at org.wordpress.android.fluxc.network.rest.wpapi.applicationpasswords.ApplicationPasswordsNetwork.executeGsonRequest (ApplicationPasswordsNetwork.kt:86)
  at org.wordpress.android.fluxc.network.rest.wpapi.applicationpasswords.ApplicationPasswordsNetwork.executeGsonRequest$default (ApplicationPasswordsNetwork.kt:39)
  at org.wordpress.android.fluxc.network.rest.wpapi.applicationpasswords.ApplicationPasswordsNetwork.executeGetGsonRequest (ApplicationPasswordsNetwork.kt:147)
  at org.wordpress.android.fluxc.network.rest.wpcom.wc.WooNetwork.executeGetGsonRequest (WooNetwork.kt:43)
  at org.wordpress.android.fluxc.network.rest.wpcom.wc.WooNetwork.executeGetGsonRequest$default (WooNetwork.kt:28)
  at org.wordpress.android.fluxc.network.rest.wpcom.wc.WooCommerceRestClient.fetchSiteSettingsGeneral (WooCommerceRestClient.kt:55)
  at org.wordpress.android.fluxc.store.WooCommerceStore$fetchSiteGeneralSettings$2.invokeSuspend (WooCommerceStore.kt:417)
  at org.wordpress.android.fluxc.store.WooCommerceStore$fetchSiteGeneralSettings$2.invoke
  at org.wordpress.android.fluxc.store.WooCommerceStore$fetchSiteGeneralSettings$2.invoke
  at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn (Undispatched.kt:61)
  at kotlinx.coroutines.BuildersKt__Builders_commonKt.withContext (Builders.common.kt:163)
  at kotlinx.coroutines.BuildersKt.withContext
  at org.wordpress.android.fluxc.tools.CoroutineEngine.withDefaultContext (CoroutineEngine.kt:34)
  at org.wordpress.android.fluxc.store.WooCommerceStore.fetchSiteGeneralSettings (WooCommerceStore.kt:416)
  at com.woocommerce.android.wear.ui.login.LoginRepository$receiveStoreDataFromPhone$2.invokeSuspend (LoginRepository.kt:53)
  at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith (ContinuationImpl.kt:33)
  at kotlinx.coroutines.DispatchedTask.run (DispatchedTask.kt:104)
  at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely (CoroutineScheduler.kt:585)
  at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask (CoroutineScheduler.kt:802)
  at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker (CoroutineScheduler.kt:706)
  at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run (CoroutineScheduler.kt:693)

Impact

This is an issue quite easy to reproduce, and will increase in numbers if not fixed quickly.

image

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions