Ciao guys, as usual for thr first week of the month, a new production release has been published!

This version contains some stability issues (especially when navigating through comments or posts, opening and closing a post detail, etc.), some performance improvements when opening contents or refreshing (for cases that were, at least to me, very annoying) and several layout enhancements (duplicated paddings, progress bars where they shouldn’t be, system nav bar color, etc).

There are a couple of brand new features too, such as admin tools and the default editor language on a per-instance basis, plus the downvote option is not shown any more if it is not allowed by your instance.

There are lot (trust me, a lot) of under the hood improvements: new unit tests being added, several dependency updates and the whole project was migrated to Kotlin 2.0.0, Compose Multiplatform 1.6.11 and Gradle 8.8. As you may have noticed, this made it also possible to launch iOS builds apart from Android ones, and I dont exclude that in the future I may be working on a desktop port.

Have a nice month! 🦝🏳️‍🌈🦝 And enjoy the release!

  • DieguiTux8623@feddit.itOPM
    link
    fedilink
    arrow-up
    2
    ·
    edit-2
    6 months ago

    Thanks for the report I’ll look into it!

    EDIT: This happens in the Settings screen when changing the “default post sort type” and “default comment sort type” right? Does it affect the “default feed type” too?

    • Hammerjack@lemmy.zip
      link
      fedilink
      English
      arrow-up
      2
      ·
      6 months ago

      Default feed type works fine. Also, changing the sort of posts or comments will crash the app whether I’m changing the default in settings or if i try changing my current sort order in the main part of the app. It’s like there’s some invalid/unexpected sort type that the app can’t display in the dropdown.

    • Hammerjack@lemmy.zip
      link
      fedilink
      English
      arrow-up
      2
      ·
      6 months ago

      Also, Crash Reporting is enabled in my settings but i don’t know if you’re actually receiving them.

      • DieguiTux8623@feddit.itOPM
        link
        fedilink
        arrow-up
        1
        ·
        6 months ago

        No, I had to remove all crash reporting so the only thing I’m getting is a useless report in the play console which does not contain anything, unless users dig into their phone storage and send me the textual log file (saved only if that option is enabled). But it’s so complicated to do manually I won’t ask you to do so, don’t worry. I’ve received another report on GitHub so I’ll try to reproduce it myself.

        • Hammerjack@lemmy.zip
          link
          fedilink
          English
          arrow-up
          2
          ·
          6 months ago

          But it’s so complicated to do manually I won’t ask you to do so, don’t worry.

          Here’s the error: 😄

          java.lang.IllegalArgumentException: Key d4.w:currentScreen was used multiple times 
          	at D.m.a(Unknown Source:1293)
          	at O.z.a(Unknown Source:4)
          	at B2.b.q(Unknown Source:130)
          	at O.t.g(Unknown Source:61)
          	at O.t.f(Unknown Source:5)
          	at O.o0.a(Unknown Source:203)
          	at v0.T.doFrame(Unknown Source:6)
          	at v0.Q.doFrame(Unknown Source:47)
          	at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1397)
          	at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1408)
          	at android.view.Choreographer.doCallbacks(Choreographer.java:1008)
          	at android.view.Choreographer.doFrame(Choreographer.java:934)
          	at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1382)
          	at android.os.Handler.handleCallback(Handler.java:959)
          	at android.os.Handler.dispatchMessage(Handler.java:100)
          	at android.os.Looper.loopOnce(Looper.java:232)
          	at android.os.Looper.loop(Looper.java:317)
          	at android.app.ActivityThread.main(ActivityThread.java:8532)
          	at java.lang.reflect.Method.invoke(Native Method)
          	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:552)
          	at com.android.internal.os.ExecInit.main(ExecInit.java:50)
          	at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
          	at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:359)
          	Suppressed: t9.g: [O.c0@70a4e90, v0.r0@6b38389, x0{Cancelling}@178ef8e, S@f4f73af]
          
          • DieguiTux8623@feddit.itOPM
            link
            fedilink
            arrow-up
            1
            ·
            edit-2
            6 months ago

            Thanks 🙏🏻🙏🏻🙏🏻 it’s obfuscated but it’s the same I got on the Google Play console report… unfortunately it doesn’t contain any reference to one of my classes/functions but that “screen key was used multiple times” gives a valid hint: I’ll try to figure it out today and publish a hotfix.

            Effects.kt - androidx.compose.runtime.DisposableEffectImpl.onRemembered
            Exception java.lang.IllegalArgumentException:
              at androidx.compose.runtime.DisposableEffectImpl.onRemembered (Effects.kt)
              at androidx.compose.runtime.CompositionImpl$RememberEventDispatcher.dispatchRememberObservers (CompositionImpl.java)
              at androidx.compose.runtime.CompositionImpl.applyChangesInLocked (Composition.kt)
              at androidx.compose.runtime.CompositionImpl.applyChanges (Composition.kt)
              at androidx.compose.runtime.Recomposer$runRecomposeAndApplyChanges$2$1.invoke (Recomposer.kt)
              at androidx.compose.ui.platform.AndroidUiFrameClock$withFrameNanos$2$callback$1.doFrame (AndroidUiFrameClock.android.kt)
              at androidx.compose.ui.platform.AndroidUiDispatcher$dispatchCallback$1.doFrame (AndroidUiDispatcher.android.kt)
              at android.view.Choreographer$CallbackRecord.run (Choreographer.java:1397)
              at android.view.Choreographer$CallbackRecord.run (Choreographer.java:1408)
              at android.view.Choreographer.doCallbacks (Choreographer.java:1008)
              at android.view.Choreographer.doFrame (Choreographer.java:934)
              at android.view.Choreographer$FrameDisplayEventReceiver.run (Choreographer.java:1382)
              at android.os.Handler.handleCallback (Handler.java:959)
              at android.os.Handler.dispatchMessage (Handler.java:100)
              at android.os.Looper.loopOnce (Looper.java:232)
              at android.os.Looper.loop (Looper.java:317)
              at android.app.ActivityThread.main (ActivityThread.java:8501)
              at java.lang.reflect.Method.invoke
              at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:552)
              at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:878)