Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Drop AndroidX Webkit dependency #300

Conversation

CarlosOlivo
Copy link
Contributor

Related to #96

Apparently the AndroidX WebKit dependency has compatibility problems with certain old versions of WebView and the jellyfin-web combo, although I can't find the origin/source/reason in the Logcat, at least the WebView versions >= 74 don't throw this exception.

I also notice a slight performance improvement when using just the WebViewClient, maybe it's my imagination.

Also, it will eventually be removed when the switch is made to the native client, who agrees?

  • AVD settings
    Android 7.1.1 (API 25) x86_64
    WebView com.android.chrome version 69.0.3497.100 (code 349710067)

  • With androidx.webkit.WebViewClientCompat (Version 1.4.0)
    xCqdeavBLS

2021-02-09 11:49:38.500 10152-10152/org.jellyfin.mobile.debug E/RedScreenOfDeath: ══════════ Exception caught by Red Screen Of Death library ═════════
2021-02-09 11:49:38.500 10152-10152/org.jellyfin.mobile.debug E/RedScreenOfDeath: IllegalArgumentException
    java.lang.IllegalArgumentException: reasonPhrase can't be empty.
        at android.webkit.WebResourceResponse.setStatusCodeAndReasonPhrase(WebResourceResponse.java:138)
        at android.webkit.WebResourceResponse.<init>(WebResourceResponse.java:76)
        at xl.a(PG:292)
        at afG.handleMessage(PG:67)
        at android.os.Handler.dispatchMessage(Handler.java:102)
        at android.os.Looper.loop(Looper.java:154)
        at android.app.ActivityThread.main(ActivityThread.java:6119)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
2021-02-09 11:49:38.500 10152-10152/org.jellyfin.mobile.debug E/RedScreenOfDeath: ════════════════════════════════════════════════════════════════════
  • With android.webkit.WebViewClient
    WdXmB7x0jc
2021-02-10 00:15:21.085 7609-7609/org.jellyfin.mobile.debug E/WebViewFragment$initialize: Received WebView HTTP 400 error: null

Also closes #212

@nielsvanvelzen
Copy link
Member

AndroidX is supposed to fix compatibility issues instead of causing them. This crash could be related to my recent dependency update (#293), it updated androidx.webkit from v1.3 to v1.4.

@CarlosOlivo
Copy link
Contributor Author

AndroidX is supposed to fix compatibility issues instead of causing them. This crash could be related to my recent dependency update (#293), it updated androidx.webkit from v1.3 to v1.4.

Nop, still happens, you can test this with an Android Studio Emulator based on System Image Android 7.1.1 (API 25) x86_64 or equivalent. Or with any WebView < 70.

Or the other option is to force the user to update their WebView, although that I have not seen any other application do this.

@github-actions github-actions bot added the merge conflict Conflicts prevent merging label Feb 25, 2021
@CarlosOlivo CarlosOlivo deleted the the-webkitx-is-dead--long-live-the-webkit branch April 5, 2021 20:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
merge conflict Conflicts prevent merging
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Identifying with "The Open Movie Database" crashes on a TV show specific request
2 participants