MaikuB / flutter_appauth

A Flutter wrapper for AppAuth iOS and Android SDKs
270 stars 243 forks source link

Not an instant app Error #335

Closed Mikerad1 closed 1 year ago

Mikerad1 commented 2 years ago

Hi,

I'm using the latest version of this library and I try to login to my IdentityServer, it gives the below error in logcat and just routes back to the login screen.

Error:

W/AsyncOperation: operation=GetLaunchDataOperation, opStatusCode=19500 [CONTEXT service_id=121 ] OperationException[Status{statusCode=Not an instant app, resolution=null}] at ajoc.f(:com.google.android.gms@220618047@22.06.18 (190800-433619428):18) at afie.run(:com.google.android.gms@220618047@22.06.18 (190800-433619428):5) at carj.run(:com.google.android.gms@220618047@22.06.18 (190800-433619428):2) at wam.c(:com.google.android.gms@220618047@22.06.18 (190800-433619428):6) at wam.run(:com.google.android.gms@220618047@22.06.18 (190800-433619428):7) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) at wfq.run(:com.google.android.gms@220618047@22.06.18 (190800-433619428):0)

Frontend Repo: https://github.com/Mikerad1/NeuroAgentFrontend Identity Server: https://github.com/Mikerad1/NeuroAgentIDS

MaikuB commented 2 years ago

This error doesn't reference the plugin and points to something that isn't to do with the plugin. Note that I don't have the ability to run your server but in trying to point your app to the demo IdentityServer, it's able to connect fine. This may suggest some other issue with your backend server or some other configuration issue. Either way, not something I can help with

Mikerad1 commented 2 years ago

Ah damn, ok cool will look at my IdentityServer then thanks. No thought it was the plugin cause it happens when it is supposed to route back to the app. but thanks anyway.

Rickedb commented 1 year ago

Additionally, for anyone who might be facing the same issue and could not figure out yet anything like I was. I had the same problem lately but it would happen only with a few devices.

What solved my problem was adding another <intent-filter> tag with my login callback path to manifest:

...
<activity
            android:name=".MainActivity"
            android:exported="true"
            android:launchMode="singleTop"
            android:theme="@style/LaunchTheme"
          android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
            android:hardwareAccelerated="true">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />            
                <category android:name="android.intent.category.DEFAULT" />        
                <category android:name="android.intent.category.BROWSABLE" /> 
                <data android:scheme="com.my_company.my_app" android:path="login-callback" />
            </intent-filter>
        </activity>
...

Since I'm a bit new to Flutter and mobile development as well, I could not figure out what's the root cause. Seems that it could not find which Activity to load and which package.

However, some devices were smarter. Just adding the scheme somehow routes you to the MainActivity.

Failing device's logcat logs

10-31 17:15:24.832 25680 25680 W cr_MessageQueueManager: MessageStateHandler#shouldShow for message with ID 1 and key org.chromium.ui.modelutil.PropertyModel@e8a5f99 in MessageQueueManager#getNextMessage returned true.
10-31 17:15:24.833 25680 25680 W cr_MessageQueueManager: Currently displaying message with ID 1 and key org.chromium.ui.modelutil.PropertyModel@e8a5f99.
10-31 17:15:24.833 25680 25680 W cr_MessageQueueManager: MessageStateHandler#shouldShow for message with ID 1 and key org.chromium.ui.modelutil.PropertyModel@e8a5f99 in MessageQueueManager#updateCurrentDisplayedMessage returned true.
10-31 17:15:24.849 25680 25680 W cr_MessageQueueManager: MessageStateHandler#shouldShow for message with ID 1 and key org.chromium.ui.modelutil.PropertyModel@e8a5f99 in MessageQueueManager#getNextMessage returned true.
10-31 17:15:24.900 25680 25680 W View    : requestLayout() improperly called by android.view.SurfaceView{4d459d4 V.ED..... ......ID 0,0-1600,2416} during layout: running second layout pass
10-31 17:15:24.903  2576  2576 D BoundBrokerSvc: onBind: Intent { act=com.google.android.gms.instantapps.START pkg=com.google.android.gms }
10-31 17:15:24.904  2576  2576 D BoundBrokerSvc: Loading bound service for intent: Intent { act=com.google.android.gms.instantapps.START pkg=com.google.android.gms }
10-31 17:15:24.938 25680 25680 I cr_tabmodel: Appending tabs being restored to metadata lists, 0, startingNormalCount: 1, startingIncognitoCount: 0
10-31 17:15:24.939 25680 25680 I cr_tabmodel: Serializing tab lists; counts: 1, 0
10-31 17:15:24.963  2576  2641 W AsyncOperation: operation=GetLaunchDataOperation, opStatusCode=19500 [CONTEXT service_id=121 ]
10-31 17:15:24.963  2576  2641 W AsyncOperation: OperationException[Status{statusCode=Not an instant app, resolution=null}]
10-31 17:15:24.963  2576  2641 W AsyncOperation:    at aqix.f(:com.google.android.gms@224113029@22.41.13 (100406-480714934):18)
10-31 17:15:24.963  2576  2641 W AsyncOperation:    at asna.er(:com.google.android.gms@224113029@22.41.13 (100406-480714934):1)
10-31 17:15:24.963  2576  2641 W AsyncOperation:    at asng.run(:com.google.android.gms@224113029@22.41.13 (100406-480714934):12)
10-31 17:15:24.963  2576  2641 W AsyncOperation:    at cljx.run(:com.google.android.gms@224113029@22.41.13 (100406-480714934):2)
10-31 17:15:24.963  2576  2641 W AsyncOperation:    at ablo.c(:com.google.android.gms@224113029@22.41.13 (100406-480714934):6)
10-31 17:15:24.963  2576  2641 W AsyncOperation:    at ablo.run(:com.google.android.gms@224113029@22.41.13 (100406-480714934):7)
10-31 17:15:24.963  2576  2641 W AsyncOperation:    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
10-31 17:15:24.963  2576  2641 W AsyncOperation:    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
10-31 17:15:24.963  2576  2641 W AsyncOperation:    at abqt.run(:com.google.android.gms@224113029@22.41.13 (100406-480714934):0)
10-31 17:15:24.963  2576  2641 W AsyncOperation:    at java.lang.Thread.run(Thread.java:923)
10-31 17:15:24.967  2576  2641 W AsyncOperation: operation=GetLaunchDataOperation, opStatusCode=19500 [CONTEXT service_id=121 ]
10-31 17:15:24.967  2576  2641 W AsyncOperation: OperationException[Status{statusCode=Not an instant app, resolution=null}]
10-31 17:15:24.967  2576  2641 W AsyncOperation:    at aqix.f(:com.google.android.gms@224113029@22.41.13 (100406-480714934):18)
10-31 17:15:24.967  2576  2641 W AsyncOperation:    at asna.er(:com.google.android.gms@224113029@22.41.13 (100406-480714934):1)
10-31 17:15:24.967  2576  2641 W AsyncOperation:    at asng.run(:com.google.android.gms@224113029@22.41.13 (100406-480714934):12)
10-31 17:15:24.967  2576  2641 W AsyncOperation:    at cljx.run(:com.google.android.gms@224113029@22.41.13 (100406-480714934):2)
10-31 17:15:24.967  2576  2641 W AsyncOperation:    at ablo.c(:com.google.android.gms@224113029@22.41.13 (100406-480714934):6)
10-31 17:15:24.967  2576  2641 W AsyncOperation:    at ablo.run(:com.google.android.gms@224113029@22.41.13 (100406-480714934):8)
10-31 17:15:24.967  2576  2641 W AsyncOperation:    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
10-31 17:15:24.967  2576  2641 W AsyncOperation:    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
10-31 17:15:24.967  2576  2641 W AsyncOperation:    at abqt.run(:com.google.android.gms@224113029@22.41.13 (100406-480714934):0)
10-31 17:15:24.967  2576  2641 W AsyncOperation:    at java.lang.Thread.run(Thread.java:923)
10-31 17:15:25.003     0     0 W swapper/3: type=1400 audit(0.0:17006): avc: denied { kill } for capability=5 scontext=u:r:kernel:s0 tcontext=u:r:kernel:s0 tclass=capability permissive=0
10-31 17:15:25.055  1591  1640 V AutofillInlineSuggestionsRequestSession: onInputMethodStartInput() received on 97

Working device logcat logs

10-31 16:38:13.413  2029  2029 D BoundBrokerSvc: onBind: Intent { act=com.google.android.gms.instantapps.START pkg=com.google.android.gms }
10-31 16:38:13.413  2029  2029 D BoundBrokerSvc: Loading bound service for intent: Intent { act=com.google.android.gms.instantapps.START pkg=com.google.android.gms }
10-31 16:38:13.419  5218  5218 I cr_tabmodel: Appending tabs being restored to metadata lists, 0, startingNormalCount: 1, startingIncognitoCount: 0
10-31 16:38:13.419  5218  5218 I cr_tabmodel: Serializing tab lists; counts: 1, 0
10-31 16:38:13.425  1633  2611 W AppOps  : Bad call: specified package com.google.android.gms under uid 10091 but it is really 10012
10-31 16:38:13.425  1633  2611 W AppOps  : java.lang.RuntimeException: here
10-31 16:38:13.425  1633  2611 W AppOps  :  at com.android.server.AppOpsService.getOpsRawLocked(AppOpsService.java:1302)
10-31 16:38:13.425  1633  2611 W AppOps  :  at com.android.server.AppOpsService.checkPackage(AppOpsService.java:998)
10-31 16:38:13.425  1633  2611 W AppOps  :  at com.android.internal.app.IAppOpsService$Stub.onTransact(IAppOpsService.java:169)
10-31 16:38:13.425  1633  2611 W AppOps  :  at android.os.Binder.execTransact(Binder.java:565)
10-31 16:38:13.426  1633  2693 W AppOps  : Bad call: specified package com.google.android.gms under uid 10091 but it is really 10012
10-31 16:38:13.426  1633  2693 W AppOps  : java.lang.RuntimeException: here
10-31 16:38:13.426  1633  2693 W AppOps  :  at com.android.server.AppOpsService.getOpsRawLocked(AppOpsService.java:1302)
10-31 16:38:13.426  1633  2693 W AppOps  :  at com.android.server.AppOpsService.checkPackage(AppOpsService.java:998)
10-31 16:38:13.426  1633  2693 W AppOps  :  at com.android.internal.app.IAppOpsService$Stub.onTransact(IAppOpsService.java:169)
10-31 16:38:13.426  1633  2693 W AppOps  :  at android.os.Binder.execTransact(Binder.java:565)
10-31 16:38:13.428  1633  2507 W AppOps  : Bad call: specified package com.google.android.gms under uid 10091 but it is really 10012
10-31 16:38:13.428  1633  2507 W AppOps  : java.lang.RuntimeException: here
10-31 16:38:13.428  1633  2507 W AppOps  :  at com.android.server.AppOpsService.getOpsRawLocked(AppOpsService.java:1302)
10-31 16:38:13.428  1633  2507 W AppOps  :  at com.android.server.AppOpsService.checkPackage(AppOpsService.java:998)
10-31 16:38:13.428  1633  2507 W AppOps  :  at com.android.internal.app.IAppOpsService$Stub.onTransact(IAppOpsService.java:169)
10-31 16:38:13.428  1633  2507 W AppOps  :  at android.os.Binder.execTransact(Binder.java:565)
10-31 16:38:13.429  1633  2662 W AppOps  : Bad call: specified package com.google.android.gms under uid 10091 but it is really 10012
10-31 16:38:13.429  1633  2662 W AppOps  : java.lang.RuntimeException: here
10-31 16:38:13.429  1633  2662 W AppOps  :  at com.android.server.AppOpsService.getOpsRawLocked(AppOpsService.java:1302)
10-31 16:38:13.429  1633  2662 W AppOps  :  at com.android.server.AppOpsService.checkPackage(AppOpsService.java:998)
10-31 16:38:13.429  1633  2662 W AppOps  :  at com.android.internal.app.IAppOpsService$Stub.onTransact(IAppOpsService.java:169)
10-31 16:38:13.429  1633  2662 W AppOps  :  at android.os.Binder.execTransact(Binder.java:565)
10-31 16:38:13.435  1633  2505 I ActivityManager: START u0 {act=android.intent.action.VIEW cat=[android.intent.category.BROWSABLE] dat=com.my_company.my_app://login-callback?code=EE405336ABC037A6882425FCB606A8559C9D07FE23C002A1D9EC24F993936A30&scope=openid profile offline_access&state=yu_EVelBQQScZLrw6c6oRg&session_state=Rl--ilXRxEqOhJqAbkpsVxEWOj8LeM0slpp4Hnm5Fiw.A90CF529C46652CBD6071EF339BEE1BF flg=0x14000000 cmp=com.my_company.my_app/net.openid.appauth.RedirectUriReceiverActivity (has extras)} from uid 10091 on display 0
10-31 16:38:13.438   574  2327 E ANDR-PERF-MPCTL: Invalid profile no. 0, total profiles 0 only
10-31 16:38:13.440  1633  2505 D ActivityTrigger: activityStartTrigger: Activity is Triggerred in full screen ApplicationInfo{3d7df10 com.my_company.my_app}
10-31 16:38:13.440  1633  2505 E ActivityTrigger: activityStartTrigger: not whiteListedcom.my_company.my_app/net.openid.appauth.RedirectUriReceiverActivity/1
10-31 16:38:13.440  1633  2505 D CompatibilityInfo: mCompatibilityFlags - 0
10-31 16:38:13.440  1633  2505 D CompatibilityInfo: applicationDensity - 320
10-31 16:38:13.440  1633  2505 D CompatibilityInfo: applicationScale - 1.0
10-31 16:38:13.442  1633  2505 D ActivityTrigger: activityResumeTrigger: The activity in ApplicationInfo{3d7df10 com.my_company.my_app} is now in focus and seems to be in full-screen mode
10-31 16:38:13.442  1633  2505 E ActivityTrigger: activityResumeTrigger: not whiteListedcom.my_company.my_app/net.openid.appauth.RedirectUriReceiverActivity/1
10-31 16:38:13.442  1633  2505 D ActivityTrigger: ActivityTrigger activityPauseTrigger 
10-31 16:38:13.477  1633  2412 D ActivityTrigger: activityResumeTrigger: The activity in ApplicationInfo{3d7df10 com.my_company.my_app} is now in focus and seems to be in full-screen mode
10-31 16:38:13.477  1633  2412 E ActivityTrigger: activityResumeTrigger: not whiteListedcom.my_company.my_app/net.openid.appauth.RedirectUriReceiverActivity/1
10-31 16:38:13.484  1633  2412 D CompatibilityInfo: mCompatibilityFlags - 0
10-31 16:38:13.484  1633  2412 D CompatibilityInfo: applicationDensity - 320
10-31 16:38:13.484  1633  2412 D CompatibilityInfo: applicationScale - 1.0
10-31 16:38:13.487  5218  5218 E cr_InstantAppsHandlerI: Exception when calling getInstantAppLaunchData
10-31 16:38:13.487  5218  5218 E cr_InstantAppsHandlerI: Id: 17: API: InstantApps.API is not available on this device. Connection failed with: ConnectionResult{statusCode=API_UNAVAILABLE, resolution=null, message=null}
10-31 16:38:13.487  5218  5218 E cr_InstantAppsHandlerI:    at Kd.a(chromium-Monochrome.aab-stable-466410423:3)
10-31 16:38:13.487  5218  5218 E cr_InstantAppsHandlerI:    at BK2.a(chromium-Monochrome.aab-stable-466410423:6)
10-31 16:38:13.487  5218  5218 E cr_InstantAppsHandlerI:    at com.google.android.gms.common.api.internal.BasePendingResult.o(chromium-Monochrome.aab-stable-466410423:11)
10-31 16:38:13.487  5218  5218 E cr_InstantAppsHandlerI:    at com.google.android.gms.common.api.internal.BasePendingResult.n(chromium-Monochrome.aab-stable-466410423:5)
10-31 16:38:13.487  5218  5218 E cr_InstantAppsHandlerI:    at DE.r(chromium-Monochrome.aab-stable-466410423:3)
10-31 16:38:13.487  5218  5218 E cr_InstantAppsHandlerI:    at zd.b(chromium-Monochrome.aab-stable-466410423:1)
10-31 16:38:13.487  5218  5218 E cr_InstantAppsHandlerI:    at Gl1.h(chromium-Monochrome.aab-stable-466410423:6)
10-31 16:38:13.487  5218  5218 E cr_InstantAppsHandlerI:    at Gl1.n(chromium-Monochrome.aab-stable-466410423:38)
10-31 16:38:13.487  5218  5218 E cr_InstantAppsHandlerI:    at Gl1.b1(chromium-Monochrome.aab-stable-466410423:1)
10-31 16:38:13.487  5218  5218 E cr_InstantAppsHandlerI:    at AE.b(chromium-Monochrome.aab-stable-466410423:2)
10-31 16:38:13.487  5218  5218 E cr_InstantAppsHandlerI:    at uE.a(chromium-Monochrome.aab-stable-466410423:9)
10-31 16:38:13.487  5218  5218 E cr_InstantAppsHandlerI:    at vE.handleMessage(chromium-Monochrome.aab-stable-466410423:41)
10-31 16:38:13.487  5218  5218 E cr_InstantAppsHandlerI:    at android.os.Handler.dispatchMessage(Handler.java:102)
10-31 16:38:13.487  5218  5218 E cr_InstantAppsHandlerI:    at gk4.dispatchMessage(chromium-Monochrome.aab-stable-466410423:1)
10-31 16:38:13.487  5218  5218 E cr_InstantAppsHandlerI:    at android.os.Looper.loop(Looper.java:154)
10-31 16:38:13.487  5218  5218 E cr_InstantAppsHandlerI:    at android.os.HandlerThread.run(HandlerThread.java:61)
10-31 16:38:13.496  1633  2646 I ActivityManager: START u0 {dat=com.my_company.my_app://login-callback?code=EE405336ABC037A6882425FCB606A8559C9D07FE23C002A1D9EC24F993936A30&scope=openid profile offline_access logistack_apps device&state=yu_EVelBQQScZLrw6c6oRg&session_state=Rl--ilXRxEqOhJqAbkpsVxEWOj8LeM0slpp4Hnm5Fiw.A90CF529C46652CBD6071EF339BEE1BF flg=0x24000000 cmp=com.my_company.my_app/net.openid.appauth.AuthorizationManagementActivity} from uid 10609 on display 0
10-31 16:38:13.499  1633  2646 D ActivityTrigger: ActivityTrigger activityPauseTrigger 
10-31 16:38:13.500  1633  2646 D ActivityTrigger: activityResumeTrigger: The activity in ApplicationInfo{3d7df10 com.my_company.my_app} is now in focus and seems to be in full-screen mode
10-31 16:38:13.500  1633  2646 E ActivityTrigger: activityResumeTrigger: not whiteListedcom.my_company.my_app/net.openid.appauth.AuthorizationManagementActivity/1
10-31 16:38:13.502  1633  2544 W ActivityManager: Duplicate finish request for ActivityRecord{b430add u0 com.my_company.my_app/net.openid.appauth.RedirectUriReceiverActivity t440 f}
10-31 16:38:13.517  1633  2647 D ActivityTrigger: activityResumeTrigger: The activity in ApplicationInfo{3d7df10 com.my_company.my_app} is now in focus and seems to be in full-screen mode
10-31 16:38:13.517  1633  2647 E ActivityTrigger: activityResumeTrigger: not whiteListedcom.my_company.my_app/net.openid.appauth.AuthorizationManagementActivity/1
10-31 16:38:13.521  5218  5807 I cr_BindingManager: onTrimMemory: level=20, size=1
10-31 16:38:13.529  1633  2603 D ActivityTrigger: ActivityTrigger activityPauseTrigger 
10-31 16:38:13.543  1633  2118 D ActivityTrigger: activityResumeTrigger: The activity in ApplicationInfo{3d7df10 com.my_company.my_app} is now in focus and seems to be in full-screen mode
10-31 16:38:13.543  1633  2118 E ActivityTrigger: activityResumeTrigger: not whiteListedcom.my_company.my_app/com.my_company.my_app.MainActivity/1

Still have a final issue, which is that Android shows up 2 apps that deep link can open, one is for the first intent-filter and the second is for the one that will work. At least I can sleep peacefully for now until tomorrow... 😂

Any better solution or somehow a potential fix to the library?