krille-chan / fluffychat

The cutest instant messenger in the [matrix]
https://fluffychat.im/
GNU Affero General Public License v3.0
1.19k stars 214 forks source link

iOS Version is unusable #792

Open domrim opened 9 months ago

domrim commented 9 months ago

Bug Description

The Global Room List does not load, for Spaces it does. UI is very slow and laggy. Device Verification does not load/work sometimes it just crashes the complete app.

I'm running the Testflight Version (1.17.0) with iOS & iPadOS 17.2 (21C62). The App Store Version had the same Problem. Also tried reinstalling, didn't change anything.

Steps to Reproduce

Start FluffyChat

Expected Behavior

A non lagging app

App Version

1.17.0

Additional Platform Information

iPhone 13 Pro, iPad Pro 11" Gen. 3

Additional Context

No response

krille-chan commented 9 months ago

May I ask the size of your account and which homeserver you use? I cannot reproduce your problem. On my iPad and my test iPhone everything works fine and smooth

domrim commented 9 months ago

It's my works homeserver (kit.edu) my account isn't very large... I'll try with my private account and my test-account from matrix.org

domrim commented 9 months ago

hm, weird. with my private account (larger than my work account) and my matrix.org account (very small, ~2 chats) there are no problem. will investigate with my works homeserver admins. i think this is not an issue of (or at least not on the side of) fluffy-chat

domrim commented 9 months ago

hm, it seems to be linked to especially my account. don't know what exactly the problem is... i can provide logs / debug info if you tell me how to ;)

i have a screencast of the startup on my iphone, maybe this helps? screencast.webm

the report link didn't work, because github tells me the request URL is to long.

https://github.com/krille-chan/fluffychat/issues/new?title=%5BBUG%5D%3A+Error+Widget&body=-+Operating+system%3A+ios%0A-+Version%3A+1.17.0%0A%0A%23%23%23+Exception%0ANull+check+operator+used+on+a+null+value%0A%0A%23%23%23+StackTrace%0A%230++++++BootstrapDialogState.build.%3Canonymous+closure%3E.%3Canonymous+closure%3E+%28package%3Afluffychat%2Fpages%2Fbootstrap%2Fbootstrap_dialog.dart%3A357%29%0A%231++++++LoadingDialogState.initState+%28package%3Afuture_loading_dialog%2Fsrc%2Ffuture_loading_dialog.dart%3A73%29%0A%232++++++StatefulElement._firstBuild+%28package%3Aflutter%2Fsrc%2Fwidgets%2Fframework.dart%3A5602%29%0A%233++++++ComponentElement.mount+%28package%3Aflutter%2Fsrc%2Fwidgets%2Fframework.dart%3A5447%29%0A%234++++++Element.inflateWidget+%28package%3Aflutter%2Fsrc%2Fwidgets%2Fframework.dart%3A4326%29%0A%235++++++Element.updateChild+%28package%3Aflutter%2Fsrc%2Fwidgets%2Fframework.dart%3A3837%29%0A%236++++++ComponentElement.performRebuild+%28package%3Aflutter%2Fsrc%2Fwidgets%2Fframework.dart%3A5496%29%0A%237++++++Element.rebuild+%28package%3Aflutter%2Fsrc%2Fwidgets%2Fframework.dart%3A5187%29%0A%238++++++ComponentElement._firstBuild+%28package%3Aflutter%2Fsrc%2Fwidgets%2Fframework.dart%3A5453%29%0A%239++++++ComponentElement.mount+%28package%3Aflutter%2Fsrc%2Fwidgets%2Fframework.dart%3A5447%29%0A%2310+++++Element.inflateWidget+%28package%3Aflutter%2Fsrc%2Fwidgets%2Fframework.dart%3A4326%29%0A%2311+++++Element.updateChild+%28package%3Aflutter%2Fsrc%2Fwidgets%2Fframework.dart%3A3837%29%0A%2312+++++SingleChildRenderObjectElement.mount+%28package%3Aflutter%2Fsrc%2Fwidgets%2Fframework.dart%3A6736%29%0A%2313+++++Element.inflateWidget+%28package%3Aflutter%2Fsrc%2Fwidgets%2Fframework.dart%3A4326%29%0A%2314+++++Element.updateChild+%28package%3Aflutter%2Fsrc%2Fwidgets%2Fframework.dart%3A3837%29%0A%2315+++++ComponentElement.performRebuild+%28package%3Aflutter%2Fsrc%2Fwidgets%2Fframework.dart%3A5496%29%0A%2316+++++Element.rebuild+%28package%3Aflutter%2Fsrc%2Fwidgets%2Fframework.dart%3A5187%29%0A%2317+++++ComponentElement._firstBuild+%28package%3Aflutter%2Fsrc%2Fwidgets%2Fframework.dart%3A5453%29%0A%2318+++++ComponentElement.mount+%28package%3Aflutter%2Fsrc%2Fwidgets%2Fframework.dart%3A5447%29%0A%2319+++++Element.inflateWidget+%28package%3Aflutter%2Fsrc%2Fwidgets%2Fframework.dart%3A4326%29%0A%2320+++++Element.updateChild+%28package%3Aflutter%2Fsrc%2Fwidgets%2Fframework.dart%3A3837%29%0A%2321+++++SingleChildRenderObjectElement.mount+%28package%3Aflutter%2Fsrc%2Fwidgets%2Fframework.dart%3A6736%29%0A%2322+++++Element.inflateWidget+%28package%3Aflutter%2Fsrc%2Fwidgets%2Fframework.dart%3A4326%29%0A%2323+++++Element.updateChild+%28package%3Aflutter%2Fsrc%2Fwidgets%2Fframework.dart%3A3837%29%0A%2324+++++ComponentElement.performRebuild+%28package%3Aflutter%2Fsrc%2Fwidgets%2Fframework.dart%3A5496%29%0A%2325+++++Element.rebuild+%28package%3Aflutter%2Fsrc%2Fwidgets%2Fframework.dart%3A5187%29%0A%2326+++++ComponentElement._firstBuild+%28package%3Aflutter%2Fsrc%2Fwidgets%2Fframework.dart%3A5453%29%0A%2327+++++ComponentElement.mount+%28package%3Aflutter%2Fsrc%2Fwidgets%2Fframework.dart%3A5447%29%0A%2328+++++Element.inflateWidget+%28package%3Aflutter%2Fsrc%2Fwidgets%2Fframework.dart%3A4326%29%0A%2329+++++Element.updateChild+%28package%3Aflutter%2Fsrc%2Fwidgets%2Fframework.dart%3A3837%29%0A%2330+++++SingleChildRenderObjectElement.mount+%28package%3Aflutter%2Fsrc%2Fwidgets%2Fframework.dart%3A6736%29%0A%2331+++++Element.inflateWidget+%28package%3Aflutter%2Fsrc%2Fwidgets%2Fframework.dart%3A4326%29%0A%2332+++++Element.updateChild+%28package%3Aflutter%2Fsrc%2Fwidgets%2Fframework.dart%3A3837%29%0A%2333+++++SingleChildRenderObjectElement.mount+%28package%3Aflutter%2Fsrc%2Fwidgets%2Fframework.dart%3A6736%29%0A%2334+++++Element.inflateWidget+%28package%3Aflutter%2Fsrc%2Fwidgets%2Fframework.dart%3A4326%29%0A%2335+++++Element.updateChild+%28package%3Aflutter%2Fsrc%2Fwidgets%2Fframework.dart%3A3837%29%0A%2336+++++ComponentElement.performRebuild+%28package%3Aflutter%2Fsrc%2Fwidgets%2Fframework.dart%3A5496%29%0A%2337+++++StatefulElement.performRebuild+%28package%
tokudan commented 9 months ago

The iOS version is unusable for me as well, it crashes at the same time as in the video, when trying to request the recovery key from another logged in instance. The app crashes about a second after clicking on "transfer from another device". I tried deleting the app (and its data), reinstalling it and logging in again with the same result, as it was very laggy and pretty much didn't respond anymore at some point when I opened it. It could be due to my account size, the account is several years old and in several channels and also with quite a lot of encrypted chat and severall logged in sessions. Element is perfectly usable on the account. Nheko has no problems either, I tried a relogin with Nheko and it's fine.

krille-chan commented 9 months ago

hm, it seems to be linked to especially my account. don't know what exactly the problem is... i can provide logs / debug info if you tell me how to ;)

i have a screencast of the startup on my iphone, maybe this helps? screencast.webm

the report link didn't work, because github tells me the request URL is to long.

Not sure if your problem is exactly the same but yours at least I could fix in the latest commit. Will release a new version soon. Also I fixed the error dialog that it now offers a Copy button.

krille-chan commented 9 months ago

Can you try again 1.17.1? It will come to the appstore later today or tomorrow or you can use the testflight version right now

tokudan commented 9 months ago

Fluffychat doesn't crash anymore for me with 1.17.1.

However it hangs during the verification process, claiming that it's waiting for the partner to start the verification process ("Warte darauf, dass der Partner die Anfrage annimmt"), even though I've already accepted. Fluffychat seems to hang at that point for multiple minutes. Tried with Element and Nheko on the other end. Nheko times out and aborts the verification, Element seems to hang just before displaying the icons.

domrim commented 9 months ago

same for me. fluffy is still very laggy. i have a developer account, is there a way to extract logs from fluffy chat on iOS?

domrim commented 9 months ago

After leaving #community-moderation-effort-bl:neko.dev fluffy was able to start & sync again. Seems like the room brings fluffy to crash

domrim commented 9 months ago

update: my iPad Pro 11 (M1, 8GB Ram) can now log in. on my iPhone 13 Pro (6GB Ram) FluffyChat still crashes during initial Sync. Seems to me like a general problem, that Fluffy uses too much memory.

th0mcat commented 7 months ago

@domrim I don't know how you figured that out, but that was also my issue, thank you!

tokudan commented 5 months ago

I was able to log into my account with fluffychat 1.20.0 on the same iPhone SE and get the cross certification done. So far I have seen no slowdowns, while with 1.17.1 I had massive lags on the same device. I'll watch further, but on first sight this seems to be solved for me.