SchildiChat / SchildiChat-android

Matrix client / Element Android fork
https://schildi.chat/android/
Apache License 2.0
385 stars 49 forks source link

View "edited" message causes crashes #225

Open shuvashish76 opened 4 months ago

shuvashish76 commented 4 months ago

Describe the bug Viewing "edited" message immediately after saving it causes crashes. This happens time to time not regularly.

To Reproduce Steps to reproduce the behavior:

  1. Send a message (on any group)
  2. Edit & modify it
  3. Click Save
  4. Now quickly click on "edited" to view edit histories. App crashes. But after a while I checked same message history it worked as expected.

Expected behavior It should show the edit history without any crash.

Smartphone (please complete the following information):

Additional context

Upstream relevance

Logs:

FATAL EXCEPTION: main
Process: de.spiritcroc.riotx, PID: 4789
java.lang.IndexOutOfBoundsException: getChars (-1 ... -1) starts before 0
    at android.text.SpannableStringBuilder.checkRange(SpannableStringBuilder.java:1326)
    at android.text.SpannableStringBuilder.getChars(SpannableStringBuilder.java:1202)
    at android.text.TextUtils.getChars(TextUtils.java:109)
    at android.text.SpannableStringBuilder.<init>(SpannableStringBuilder.java:67)
    at android.text.SpannableStringBuilder.subSequence(SpannableStringBuilder.java:1194)
    at me.saket.bettermovementmethod.BetterLinkMovementMethod$ClickableSpanWithText.ofSpan(BetterLinkMovementMethod.java:27)
    at me.saket.bettermovementmethod.BetterLinkMovementMethod.dispatchUrlLongClick(BetterLinkMovementMethod.java:1)
    at im.vector.app.core.utils.EvenBetterLinkMovementMethod.dispatchUrlLongClick(EvenBetterLinkMovementMethod.kt:1)
    at me.saket.bettermovementmethod.BetterLinkMovementMethod$1.onTimerReached(BetterLinkMovementMethod.java:26)
    at me.saket.bettermovementmethod.BetterLinkMovementMethod$LongPressTimer.run(BetterLinkMovementMethod.java:3)
    at android.os.Handler.handleCallback(Handler.java:873)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loop(Looper.java:193)
    at android.app.ActivityThread.main(ActivityThread.java:6718)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:491)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)