floccusaddon / floccus

:cloud: Sync your bookmarks privately across browsers and devices
https://floccus.org
Mozilla Public License 2.0
5.11k stars 224 forks source link

Android app never gets past splash screen #1567

Closed rudism closed 1 week ago

rudism commented 1 month ago

Which version of floccus are you using?

5.0.11

Sync method

WebDAV

Which browser are you using? In case you are using the phone App, specify the Android or iOS version and device please.

Android 12 XTRONS head unit for car

Which version of Nextcloud Bookmarks are you using? (if relevant)

No response

Which version of Nextcloud? (if relevant)

No response

What kind of WebDAV server are you using? (if relevant)

No response

Describe the Bug

On the Android 12 head unit in my car, when I launch Floccus (tried both f-droid and play store versions) it just sits forever on the white splash screen with a blue cloud check mark icon in the center and never advances into the app, even after several minutes of waiting.

Expected Behavior

The app should finish launching and let me set up my sync options.

To Reproduce

This is a stock, non-rooted Android 12 XTRONS head unit installed in the dashboard of my car. Not sure how you could reproduce (I have several other Android devices and floccus works fine on all of those). I can't produce floccus debug logs from the head unit since I can't get past the splash screen to configure the sync settings, but I used a LogCat app on the device to capture these logs from floccus when I launch it, in case it gives some clue to what's going on.

23_03-14-29-59_649.log

I tried removing and reinstalling, restarting the unit, clearing the app's cache, and made sure all permissions are granted, but have never gotten past the white splash screen with the logo in the center.

Debug log provided

github-actions[bot] commented 1 month ago

Hello :wave:

Thank you for taking the time to open this issue with floccus. I know it's frustrating when software causes problems. You have made the right choice to come here and open an issue to make sure your problem gets looked at and if possible solved. I'm Marcel and I created floccus and have been maintaining it ever since. I currently work for Nextcloud which leaves me with less time for side projects like this one than I used to have. I still try to answer all issues and if possible fix all bugs here, but it sometimes takes a while until I get to it. Until then, please be patient. Note also that GitHub is a place where people meet to make software better together. Nobody here is under any obligation to help you, solve your problems or deliver on any expectations or demands you may have, but if enough people come together we can collaborate to make this software better. For everyone. Thus, if you can, you could also have a look at other issues to see whether you can help other people with your knowledge and experience. If you have coding experience it would also be awesome if you could step up to dive into the code and try to fix the odd bug yourself. Everyone will be thankful for extra helping hands! One last word: If you feel, at any point, like you need to vent, this is not the place for it; you can go to the forum, to twitter or somewhere else. But this is a technical issue tracker, so please make sure to focus on the tech and keep your opinions to yourself.

I look forward to working with you on this issue Cheers :blue_heart:

marcelklehr commented 3 weeks ago

Mmh, the log is not very helpful, but given that the same version works on other devices it might be the Android version is too old?

rudism commented 3 weeks ago

Based on this error:

1711222207.586 10110 21066 21066 E Capacitor/Console: File: http://localhost/js/native.js - Line 2 - Msg: Uncaught ReferenceError: globalThis is not defined

My best guess is the webview on that device is too old (it's v60-something, I forget exactly). It has its own com.android.webview package that doesn't update with Google's version from the play store so it seems to be locked in, as the device itself is very unlikely to get any software updates from the manufacturer. Possible solution that I found involves adding some polyfills to get capacitor working on older webview versions:

https://forum.ionicframework.com/t/problems-with-white-screen-after-splash-screen-on-android-7-and-below-ionic-7-with-angular/238019

marcelklehr commented 1 week ago

I added support for Android Chrome v60+, hopefully that works