keybase / client

Keybase Go Library, Client, Service, OS X, iOS, Android, Electron
BSD 3-Clause "New" or "Revised" License
8.9k stars 1.23k forks source link

Android 13 Causes Severe Lag/Jank #25133

Open yottabit42 opened 2 years ago

yottabit42 commented 2 years ago

I've been testing Android 13 release candidates and Keybase suffers from severe lag/jank while in conversation thread view. This is 100% reproducible for me on a Google Pixel 6 Pro. Most often the issue presents while typing a new message, especially longer messages, but also presents when scrolling a thread with a lot of messages. Often the issue presents within 10-20 seconds after force-closing Keybase and reopening.

Android version: 13 beta 4 (RC) Keybase version: 6.0.1

yottabit42 commented 2 years ago

Now that Android 13 is publicly launched, this bug still persists. It makes Keybase extremely difficult to use on Android.

wadexyz commented 2 years ago

"extremely difficult to use" = total fail

gdalgas commented 2 years ago

Wow, thought it was just me. Nope, just recently upgraded to Android 13 and now keybase freezes every minute or so. Especially when dealing with gifs or video attachments.

austwhite commented 2 years ago

Add another one to this. This lag and freezing basically kills the useability. Both my Google Pixel 6 and Google Pixel 4 are suffering the same after Android 13 update, even after a full factory reset on the Pixel 4 issue persists.

ConnectivityChris commented 2 years ago

Can confirm Pixel 6 Pro and Pixel 6 having the issues after update

Completely unusable while waiting for the app to catch up

friedman101 commented 2 years ago

Also having this problem. It's so bad, and so ubiquitous, that my team will likely move away from keybase if it's not resolved shortly.

jhohertz commented 2 years ago

Okay so it's not just me.

Are there any kind of workarounds until there is a fix? It's essentially unusable currently.

Edit: I tried disabling the battery optimization in the app settings and it seems to help. No idea yet on impact to battery. Guessing a lot of work happens in background threads in the app.

wallentx commented 2 years ago

Please feel free to upvote this - https://issuetracker.google.com/issues/246865993?pli=1

yottabit42 commented 2 years ago

Perfetto shows a lot of buffer stuffing jank happening when this problem surfaces. https://perfetto.dev/docs/data-sources/frametimeline#app-janks

wallentx commented 1 year ago

If anyone has anything of any value to drop into that issue tracker, please do. I don't know if we'll ever get a response here, and this is unusable.

stanford-scs commented 1 year ago

Same problem on Pixel 6a and 7 Pro. Sometimes it works, but often stops particularly after a long sentence.

stanford-scs commented 1 year ago

Same problem on Pixel 6a and 7 Pro. Sometimes it works, but often stops particularly after a long sentence.

stanford-scs commented 1 year ago

Same problem on Pixel 6a and 7 Pro. Sometimes it works, but often stops particularly after a long sentence.

yottabit42 commented 1 year ago

It's been getting even worse. Now often when opening from a notification, Keybase will just open with a blank gray screen and never fully load. Need to force close and open again to recover.

yottabit42 commented 1 year ago

Everyone in my Keybase team has moved to Discord now. Hasta la vista, Keybase. You had so much promise.

gdalgas commented 1 year ago

I have now upgraded my phone to a Google Pixel 7 Pro and still experience stalls and jank, although they aren't as obvious due to the increased CPU power.

NireBryce commented 1 year ago

for whatever it's worth, disabling smooth display (120hz) in system settings seems to make it take longer to get to unusable

djkazic commented 1 year ago

Using the fixes in https://phab.comm.dev/D6193 I have a build that works to remove the lag issue when someone is typing. I'm not sure what the best way of making a PR for this is. It requires patching react-native (I just edited it in node_modules, but there should probably be some form of automation for this instead).

wallentx commented 1 year ago

I don't want to speak too soon, but I think Android Developer preview 14 has gotten rid of the problems for me. https://9to5google.com/2023/02/08/android-14-install-pixel/

djkazic commented 1 year ago

The developers have integrated the fix. The next update to the Play Store build should push it to everyone 🎉

gdalgas commented 1 year ago

That's awesome @djkazic! I have been waiting for a fix and living with this jank for quite some time. Any idea on the release schedule for the Android Play Store? The last update was June 6, 2022.

djkazic commented 1 year ago

Unfortunately I am not a dev for this project so I couldn't really tell you. Also hoping for a new build on Google Play.

I've made an APK for personal use but if you would like a copy I could upload it. Note that because it is not signed, it will not update over the official Keybase app. Also, as you don't know me, you probably shouldn't trust my build, as I'm a random person from the internet.

That said, if you'd like to do your own build of the app I could put together a pastebin of the steps I took.

dahu33 commented 1 year ago

Any idea which commit fixed the issue?

djkazic commented 1 year ago

https://github.com/keybase/client/commit/2e1664bb6ab75aa894aae2051055f571cfa8a61e

dahu33 commented 1 year ago

2e1664b

Thanks, so we have a fix in since Feb 7th but still no new release.

@chrisnojima @mmaxim @joshblum could you please urgently release a new Android app version or ping the person in charge? Keybase is basically unusable on Android since Android 13 was released (August 15, 2022). The bug seems to have been fixed in 2e1664b but we need a release... Thanks a lot in advance!

yottabit42 commented 1 year ago

It's been unusable since well before then, for those of us that test Android with early alpha builds. Everyone I knew on Keybase has already left because the devs never noticed the problem, and then took so long to fix it. They aren't coming back.

friedman101 commented 1 year ago

I'm happy it's fixed, but this bug alone was responsible for my team moving from Keybase to Discord, and I don't think they're willing to come back :(

wallentx commented 1 year ago

I don't want to speak too soon, but I think Android Developer preview 14 has gotten rid of the problems for me. https://9to5google.com/2023/02/08/android-14-install-pixel/

As a follow-up, keybase has been 100% fixed in Android 14 Developer Preview (the latest developer preview kinda sucks for general usage though).

gdalgas commented 1 year ago

Unfortunately I am not a dev for this project so I couldn't really tell you. Also hoping for a new build on Google Play.

I've made an APK for personal use but if you would like a copy I could upload it. Note that because it is not signed, it will not update over the official Keybase app. Also, as you don't know me, you probably shouldn't trust my build, as I'm a random person from the internet.

That said, if you'd like to do your own build of the app I could put together a pastebin of the steps I took.

I'll take it @djkazic - whatever build your are using works for me. Thanks in advance. I'll switch back to the Play Store version when a new build is released, but sounds like there is little hope for that.

djkazic commented 1 year ago

Here's the build I made that I use. You'll need to uninstall your current Keybase app, otherwise signature verification will fail.

https://github.com/djkazic/client/releases/tag/invertedfix

djkazic commented 1 year ago

Please let me know if it fixes your issues. It does for me on my Pixel devices.

gdalgas commented 1 year ago

I just installed this... Huge improvement!! Thanks so much @djkazic I can't believe I lived this this for so long! I appreciate the fix. I will be using this version until the Play Store shows any updates.

LeonScroggins commented 1 year ago

Please let me know if it fixes your issues. It does for me on my Pixel devices.

@djkazic , what was the fix? We suspect the app is using perspective text, even if it's not noticeable.

djkazic commented 1 year ago

I followed the instructions here: https://phab.comm.dev/D6193