Open gaussandhisgun opened 2 months ago
Deobfuscated first stack trace:
java.lang.IllegalArgumentException: start=105 > end=104
at me.grishka.appkit.imageloader.ListImageLoader.loadRange(ListImageLoader.java:48)
at me.grishka.appkit.imageloader.ListImageLoader.loadRange(ListImageLoader.java:43)
at me.grishka.appkit.imageloader.ListImageLoaderWrapper.onScroll(ListImageLoaderWrapper.java:258)
at me.grishka.appkit.imageloader.RecyclerViewDelegate$1.onScrolled(RecyclerViewDelegate.java:84)
at androidx.recyclerview.widget.RecyclerView.dispatchOnScrolled(RecyclerView.java:5334)
at androidx.recyclerview.widget.RecyclerView.dispatchLayoutStep3(RecyclerView.java:4396)
at androidx.recyclerview.widget.RecyclerView.dispatchLayout(RecyclerView.java:4022)
at androidx.recyclerview.widget.RecyclerView.consumePendingUpdateOperations(RecyclerView.java:2021)
at androidx.recyclerview.widget.RecyclerView.scrollByInternal(RecyclerView.java:2060)
at androidx.recyclerview.widget.RecyclerView.scrollBy(RecyclerView.java:1873)
at org.joinmastodon.android.ui.utils.UiUtils.updateList(UiUtils.java:652)
at org.joinmastodon.android.ui.viewcontrollers.ComposeAutocompleteViewController.setText(ComposeAutocompleteViewController.java:214)
at org.joinmastodon.android.fragments.ComposeFragment.onSelectionChanged(ComposeFragment.java:1004)
at org.joinmastodon.android.ui.views.ComposeEditText.onSelectionChanged(ComposeEditText.java:46)
at android.widget.TextView.spanChange(TextView.java:12527)
at android.widget.TextView$ChangeWatcher.onSpanChanged(TextView.java:15863)
at android.text.SpannableStringBuilder.sendSpanChanged(SpannableStringBuilder.java:1308)
at android.text.SpannableStringBuilder.sendToSpanWatchers(SpannableStringBuilder.java:652)
at android.text.SpannableStringBuilder.replace(SpannableStringBuilder.java:581)
at android.text.SpannableStringBuilder.delete(SpannableStringBuilder.java:231)
at android.text.SpannableStringBuilder.delete(SpannableStringBuilder.java:38)
at android.view.inputmethod.BaseInputConnection.deleteSurroundingText(BaseInputConnection.java:305)
at android.view.inputmethod.InputConnectionWrapper.deleteSurroundingText(InputConnectionWrapper.java:152)
at android.view.inputmethod.RemoteInputConnectionImpl.lambda$deleteSurroundingText$31(RemoteInputConnectionImpl.java:912)
at android.view.inputmethod.RemoteInputConnectionImpl.$r8$lambda$NxJQWYbCWM_0fz9NbJNoaUOZl9Q(Unknown Source)
at android.view.inputmethod.RemoteInputConnectionImpl$$ExternalSyntheticLambda6.run(Unknown Source:8)
at android.os.Handler.handleCallback(Handler.java:958)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loopOnce(Looper.java:205)
at android.os.Looper.loop(Looper.java:294)
at android.app.ActivityThread.main(ActivityThread.java:8172)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:552)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:878)
I've blatantly stole an issue template from Moshidon for this one, just because its kinda more structured than an empty textbox. And I think they just use Megalodon's one. Anyway.
Describe the bug
If you are going around the app posting emotes, using the :emote_name: format, there is a huge chance that once you reach a certain amount of emotes that the app was trying to suggest, it will just crash. I've managed to get two traces for this, attached below.
To reproduce
Steps to reproduce the behavior:
Screenshots and screen recordings
Funnily enough, I have not managed to capture any screen recordings, its almost as if this only happens if my device is running fast.
Version
Happens on moshidon 2.1.4+fork.104.moshinda and mastodon 2.4.1 (89) from github.
Crash log
Official app:
Moshi:
I'm sending both because these might be different crashes related to the same thing, since the one in the official app happened twice during removing characters from the emote name, and the one on Moshi happened at least five times when adding characters. Both stack traces lead to ComposeAutocompleteViewController, so... yeah?