When scrolling through the feed it randomly happens to skip a bunch of entries. It suddenly jumps far down the feed for no apparent reason.

Some observations and possible cause thoughts:

  • I believe it skips one load batch (20) of entries.
  • Scrolling up those entries gets me back to where I was in the feed.
  • I think it happens when the last entry of a previous load batch expands an attached media item.
  • It’s more apparent in media heavy feeds.
  • It’s independent of the scroll speed.
  • Admiral Patrick@dubvee.orgM
    link
    fedilink
    English
    arrow-up
    2
    ·
    edit-2
    6 days ago

    I have 1.4.30 stable enough for an alpha pre-release if you’d want to test that to see if the change I made to the feed fixed that “jump” behavior. It’s an x64 build (I can’t do arm builds locally), so hopefully that isn’t an issue. There’s still a lot of “to do” items, but it’s stable enough to test that; I also daily drive the dev version.

    Before switching, you’ll want to export your Tesseract settings to a JSON file and keep those somewhere since there are some changes to the settings structure in this release, and I’m not sure how well those will downgrade if you switch back to 1.4.29 (I only have forward migrations in the code).

    Export Settings: Settings -> Import/Export -> Export

    Alternatively,since you’re self-hosting, you could deploy the 1.4.30 pre-release to a different subdomain which would not affect your settings in your current deployment since local storage is based on the site origin.

    Pre-Alpha Docker Tag: ghcr.io/asimons04/tesseract:1.4.30-pre-alpha-1

    • Lucki@feddit.orgOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      6 days ago

      I tried a few times but couldn’t replicate the issue. I think I saw quite a bunch of times when it would have jumped but instead a different post quickly flashed for a fraction of a second but nothing else happened otherwise. I’ll keep running this alpha and report back if such a jump should ever happen to me again.


      However, I did notice from the continued rather fast scrolling, that now with the v1.4.30-pre-alpha-1 one core was constantly at 100% utilization - even when switching to this post and doing other things for a bit. Only a reload of the tesseract tab let the process get back to normal CPU utilization. The process was pasta, the network component of podman I believe. Maybe there’s some cleanup or cancellation still missing? I don’t think I saw this extensive utilization over such a long time with the v1.4.29 version. Oh well, that’s what an alpha is for :)

      • Admiral Patrick@dubvee.orgM
        link
        fedilink
        English
        arrow-up
        1
        ·
        edit-2
        6 days ago

        Are you running it in podman on the same machine as you’re running the browser?

        Not that there’s an issue with that, just making sure I understand which aspect is causing a CPU spike (server side or client side). There are some server-side components, but they don’t do a lot of heavy lifting: mostly ancillary, on-demand lookups (e.g. when you click on a Loops video, it does a server-side fetch to get the video URL since that’s not available otherwise in the metadata).

        I have noticed that older FF versions (I run ESR 128.5 on my dev machine) does have that issue, but newer, non-ESR on my main machine does not. I don’t recall when I first noticed that, but I think it was when I updated @sveltejs/adapter-node. I may try rolling that back to an older release (any newer, and it only works with Svelte 5 which I’m not ready to port to yet).

        • Lucki@feddit.orgOP
          link
          fedilink
          English
          arrow-up
          2
          ·
          6 days ago

          Are you running it in podman on the same machine as you’re running the browser?

          Yes. They’re both on the same desktop.

          Firefox is the latest 134.0.2.

          I do have that local media caching activated so it might be that the browser was still requesting or fetching media in the background even though I wasn’t even in the feed anymore. I’ll keep an eye on this and see if it is an issue in normal use when I’m not trying to replicate a scroll issue.

          • Admiral Patrick@dubvee.orgM
            link
            fedilink
            English
            arrow-up
            1
            ·
            6 days ago

            Well, I don’t think it was Svelte(kit) or its dependencies. I rolled those back to the versions I had prior to 1.4.21, rebuilt, and performance on FF ESR 128 was still abysmal. The main feed worked okay, but once I opened a modal or got to a GIF animation, it was basically at like 5 FPS with one CPU fully maxed out.

            So I downloaded the latest 134, un-tarred it to /opt, and loaded Tesseract 1.4.30 (since reverted to the current dependency versions), and performance is fantastic (comparable to Chromium on the same machine and non-ESR Firefox on my main laptop).

            One thing I noticed about the ESR version on my dev machine was that it didn’t act like hardware acceleration was working (for any website/app) where it does seem to work in the latest version. Could that possibly be an issue for you?

  • Admiral Patrick@dubvee.orgM
    link
    fedilink
    English
    arrow-up
    2
    ·
    edit-2
    8 days ago

    So I pointed my hosted instance to feddit.org and so far haven’t encountered the issue (though I am browsing as a guest). I see feddit also runs Tesseract, but it shouldn’t make a difference which one I test with since they’re the same version.

    Additional questions to the ones in the first comment:

    • What browser are you using?
    • What platform (iOS, Android, Mac, Linux, Windows, etc)
    • You mentioned it seems more apparent in media heavy feeds. Can you elaborate on that? Images? YouTube and other embeds, etc?
    • What sort order? When I was testing, it was by “new” which may or may not trigger the crosspost issue as often as other sort methods
    • Lucki@feddit.orgOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      edit-2
      8 days ago

      What browser are you using?

      Firefox

      What platform (iOS, Android, Mac, Linux, Windows, etc)

      Linux

      You mentioned it seems more apparent in media heavy feeds. Can you elaborate on that? Images? YouTube and other embeds, etc?

      Maybe that was a bit misleading because I set previews to always show. I do believe it has something to do with media expanding though.

      Here's the settings section

      Hybrid view settings Settings section

      What sort order? When I was testing, it was by “new” which may or may not trigger the crosspost issue as often as other sort methods

      I just had a jump on the feddit.org “all” feed with “scaled” in “hybrid” mode. It happened later down though, where only unread posts were shown. It skipped exactly 20 posts. Not a single skipped post had a crosspost. Also the last seen posts before the jump have no crossposts.

  • Admiral Patrick@dubvee.orgM
    link
    fedilink
    English
    arrow-up
    2
    ·
    edit-2
    8 days ago

    One possible cause is that in the last few versions, I changed the crosspost rollup behavior so that it checks for crossposts against the whole feed and not just the current batch So a post may come in, but there’s already a matching crosspost in the feed above, so it folds into that and “jumps” a bit as that one briefly appears and disappears (I’m aware of that, but it’s not been too frequent of an issue).

    A whole batch seems too much for that to be the cause, but it is possible.

    If you scroll back up and see that some posts suddenly have crossposts listed, then that could be the cause.

    If so, then I guess I can revert that to just checking for crossposts within the current batch and deal with seeing more duplicate posts.


    Another possible cause could be something interrupting the fetch but the page cursor gets out of sync?

    Not sure what to ask to dive deeper into those without being able to see it, but maybe I can replicate the behavior somehow.

    • What instance are you browsing when that happens? feddit.org?
    • Are you using the hosted Tesseract instance, does feddit.org host an instance, or are you hosting one yourself?
    • Are you using “Compact” or “Card” view when that happens?
    • Do you have the “Enable Embedded Media in the Feed” option enabled?

    I can probably test with the hosted instance, but just trying to get as much info as I can.

    • Lucki@feddit.orgOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      edit-2
      8 days ago

      If you scroll back up and see that some posts suddenly have crossposts listed, then that could be the cause.

      I just had a jump and checked: No crossposts on them. It was in the “all” feed with “scaled” in “hybrid” mode. Here is a video of all the jumped posts: https://imgur.com/a/PgSRhud The jump was from the PlayStation post to the Formula1/Ukraine post.

      What instance are you browsing when that happens? feddit.org?

      Yes.

      Are you using the hosted Tesseract instance, does feddit.org host an instance, or are you hosting one yourself?

      Although feddit.org has an instance, I’m using my own selfhosted instance though podman.

      Are you using “Compact” or “Card” view when that happens?

      I’m using Hybrid. I have the feeling it happens with unseen, hence expanded, posts though.

      Do you have the “Enable Embedded Media in the Feed” option enabled?

      Yes.

      • Admiral Patrick@dubvee.orgM
        link
        fedilink
        English
        arrow-up
        2
        ·
        edit-2
        8 days ago

        Ok, thanks (to both replies). I’ll match my settings and see if I can reproduce that.

        With the confirmation that it’s probably not rolling them up as crossposts, the only thing I can think of is it may be missing a page cursor or something?

        How fluent are you with the browser dev tools? Would you be able to open those, put it on the network tab, and filter for “XHR”, scroll through, and see if any API requests fail when you experience one of the jumps?

        Also, what about any of the feed options? Any of those set? I don’t think they’d make a difference for this, but since I’m grasping at straws at the moment, it would at least be handy to know I guess.

        Other suggestions:

        Disable media embeds in the feed and see if that is the issue; you can still see the embeds in the feed, but you’ll have to click the thumbnail to load the iframe with the media. Always showing iframes has been mostly deprecated for a while now, and in the next release (1.4.30), those are actually going away with everything being click to play. The reasoning is in the changelog, but in short, it makes a huge improvement in performance and memory utilization.

        • Lucki@feddit.orgOP
          link
          fedilink
          English
          arrow-up
          2
          ·
          edit-2
          8 days ago

          I still have the previous “jump” session open and continued using it for your debugging proposals:

          I’m not sure the jumps I see now are the same. I now reach the bottom of the site and then the batch loads and then the jump happens over that batch. In my previously encountered jumps I was not at the bottom of the site. Please keep this in mind for the following answers:

          scroll through, and see if any API requests fail when you experience one of the jumps?

          No failing requests. All are green 200 and 204. Jumped posts will get the mark_as_read POST request on scrolling back up past them.

          Also, what about any of the feed options? Any of those set?

          I have not set them to anything specific. It looks the same except the lower two options are missing for me.

          Disable media embeds in the feed and see if that is the issue

          I’ll give this a try, but not today anymore :)

          • Admiral Patrick@dubvee.orgM
            link
            fedilink
            English
            arrow-up
            2
            ·
            edit-2
            8 days ago

            Thanks for the additional info. When I switch to my other PC, I’ll try to do a run through against feddit.org, scaled sort, with all the options you had set. Hopefully I can reproduce it.

            It looks the same except the lower two options are missing for me.

            Yeah, Feddit.org is on 0.19.5 and those two options require 0.19.7 or higher, so they’re hidden/disabled.

            I’m hoping the issue is just with the embeds enabled in the feed. Like I said, that’s been deprecated and I rarely test in that configuration. I also have some memory hacks in place that turn those back into thumbnails when they’re out of the viewport, so maybe there’s a bug in that process when embeds are ‘always on’?

            If that does turn out to be the case, then the good news is it’ll be fixed in 1.4.30 since everything is click-to-play.

            Edit: I think I was able to see what you’re referring to. It only did it once for me (and I had matched your settings), but I believe I can confidently say that the issue does exist. So, that’s progress.

            Hypothesis is that when the infinite scroll buffer overflows and it pops the oldest entries from the beginning of the feed, there’s some weird behavior with FF (I don’t think I’ve seen this on FF mobile, though).

            Will keep testing and see if I can pin that down as the cause or rule it out.

            • Lucki@feddit.orgOP
              link
              fedilink
              English
              arrow-up
              2
              ·
              8 days ago

              I think I was able to see what you’re referring to.

              Here is a video demonstrating the jump/skip:

              Video

              • Admiral Patrick@dubvee.orgM
                link
                fedilink
                English
                arrow-up
                1
                ·
                edit-2
                7 days ago

                Thanks. I believe that’s what I saw, though I could only trigger it once.

                I think I know where the problem is, and I’ve made some changes in 1.4.30 that should address that if I’m right.

                Unfortunately, 1.4.30 is a little behind schedule because I wanted to take the opportunity to re-write and clean up the rendering pipeline for the different post media in addition to my other “to do” items and bugfixes. That said, I’m going to have to wait until those are finished before testing the fix properly.

                If you’d be willing to run a beta, I can give you a shout when I’m putting the final touches on the next release and you can let me know if that addresses the issue for you. Probably be about a week from now, give or take a few days.

                In the mean time, if it gets to be too annoying, the only workaround I can think of would be to disable infinite scroll, set the posts per fetch to 30, close the tab, and relaunch (there’s a known quirk when togging infinite scroll).

                • Lucki@feddit.orgOP
                  link
                  fedilink
                  English
                  arrow-up
                  2
                  ·
                  7 days ago

                  All good, take your time :) While it is annoying, the posts don’t get marked as already seen which means they just reappear somewhere in the future.

                  If you’d be willing to run a beta, I can give you a shout when I’m putting the final touches on the next release and you can let me know if that addresses the issue for you.

                  If I can pull the beta in via a podman tag, I’ll happily give it a try. Not sure if this issue would be a blocker though, as it doesn’t seem to be super common for anyone else.

            • Lucki@feddit.orgOP
              link
              fedilink
              English
              arrow-up
              1
              ·
              8 days ago

              I’m hoping the issue is just with the embeds enabled in the feed.

              Sadly it’s not the issue. I disabled both embed media options and it still skips a bunch of posts sometimes.

              I think I was able to see what you’re referring to.

              I’ll try to catch a jump on video later.

  • Admiral Patrick@dubvee.orgM
    link
    fedilink
    English
    arrow-up
    1
    ·
    8 days ago

    @db0@lemmy.dbzer0.com Hey, have you ever noticed any behavior like this?

    I’ve seen some tiny “jumps” (like, maybe one post’s worth), but those were just some of the posts in the new batch rolling up into crossposts. Never skipping a whole batch. Just curious.