Scrolling jellypotatoe
-
Entered here:
-
@boomzilla said in Scrolling jellypotatoe:
Entered here
But due to jellypotatoe you may never leave ?
-
@Luhmann said in Scrolling jellypotatoe:
you may never leave
Obligatory:
https://www.youtube.com/watch?v=lrfhf1Gv4Tw
-
@Luhmann said in Scrolling jellypotatoe:
Obligatory:
Yeah, I was trying to come up with a witty mangled lyric response but now you've ruined it for everyone.
-
@boomzilla
God B*****m it, @Luhmann
-
-
Seems to be fixed on the community link you posted
-
@boomzilla said in Scrolling jellypotatoe:
Entered here:
I saw that earlier. It was highly annoying, as it would love to skip back and forth across quite a long section of posts. I switched temporarily to paged view and that let me read, but that's also annoying to me (though behaving as designed).
-
@Jaloopa said in Scrolling jellypotatoe:
Seems to be fixed on the community link you posted
Yeah, it was only doing it sometimes. Weird.
-
This is like Discoursian levels of unusable on mobile now. I've had a couple threads that I was entering at the end and couldn't read until I was more than 100 posts further back.
@ben_lubar can we roll back the update? Can we escalate the GitHub issue that was opened?
-
@izzion I've had threads where I was bounced back and forth in an infinite loop making it impossible to read the thread. I was on mobile at the time, but it's happening on desktop too - just slower.
-
I don't think I've had it go back and forth on its own, but I did have it buffer my scrolling so it didn't immediately load anything, but after a few seconds it jelly'd me back and forth, matching the scrolling that I had done before to try to fix it.
-
Recent reproduction: the in other news today thread gets stuck jumping back and forth between 3544 and 3553 when entering at the bottom. I was unable to break the loop and regain control with either the double down arrow for go to end or the icon in the header to return to the topic list. Had to reload the main page from the address bar / my bookmark.
Browser: iOS current / Safari
Platform: iPhone 6SCc @ben_lubar
-
@izzion That's why I had to turn on pagination. Any topic past 1 page on my iPad got stuck in a stupid loop of jumping back and forth over a "page boundary" and completely losing where I had read when I managed to get it to stop. I never even tried on my phone.
-
@izzion
Anecdata: it seems that the infinipotatoe is significantly more likely to occur if you send a scroll event to the page before it's absotively, posilutely finished loading. Which is easy to do with an inadvertent fingertip on mobile, which might explain why I have so much trouble with mobile, since I tend to leave my finger hovering around the screen anyway and will typically start scrolling once the content around my entry post is available, regardless of whether or not the header section has receded back or whether or not the Safari "progress bar" is still part way.
-
@ben_lubar @administrators
Per https://what.thedailywtf.com/post/1153886 and https://what.thedailywtf.com/post/1153887 can we test temporarily disabling iFramely to see if that resolves infinipotatoe?
-
@izzion
Recent replication: Entered the feminism thread here: https://what.thedailywtf.com/post/1152945 - worked fine until I scrolled down to the nextone-boximage that wasn't on the initially loaded page, here: https://what.thedailywtf.com/post/1152990At that point, I couldn't scroll upwards past the second post (917 in the thread) without it sending me past the original post (906), and couldn't scroll down past 906 without it sending me past 917.
Desktop: Windows 10 / Chrome Version 58.0.3029.96 (64-bit)
Edit: while checking my Chrome Version, I had an update to install, updated to Version 58.0.3029.110 (64-bit) and the problem still replicates.
Edit 2: Correction to my previous, the second post isn't a one-box, it's an uploaded image.
-
I guess I was lucky yesterday to not hit the issue much, if at all, but I'm getting it almost chronic today.
-
@RaceProUK
Ugh, yeah. And I'm even being a good boy and keeping my finger away from the screen until safari's work bar is gone, and still having problems, even on threds with very few embeds, such as the Status thred.
-
@izzion I had it on the Mafia Scum threads yesterday, on desktop with a good connection. Every time it got to the end of a page it jumped down 10 posts
-
@izzion It seems to be a particular problem with images loaded from slow connections (e.g., anything uploaded here) as those take ages to become fully present and I (at least) get too bored to wait for that before scrolling. Even if that's not the whole story, it's definitely an important part of it.
It's quite frustrating. I'm currently keeping a tab open on the User Settings page so I can flip to Paged mode if things get too bad.
-
@izzion It does it to me reliably in the vote balance topic:
https://what.thedailywtf.com/topic/22552/the-official-vote-balance-topic/79
As far as I can tell, there's no images or one-boxes at all in that topic, so I doubt it has anything to do with those things loading slowly. And I'm just using the PageUp key, and not even that fast, so I doubt it has anything to do with scrolling while loading.
-
I used this thread on community.nodebb.org, and the scrolling worked fine there: almost zero jellypotato, and the little that was was down to delay-loaded images. Admittedly it's only 99 posts, but that's enough to trigger the infiniscroll loading/purging a number of times.
I think this is like the missing Replies indicator: unique to our set-up.
-
@RaceProUK It definitely did it to me on community.nodebb.org yesterday morning, but I can't get it to happen over there anymore.
-
@NedFodder Yeah, I tested it there before I entered the bug on github.
-
I turned off iframely (you might have noticed). The problem still exists.
- I started at post 60,000 and hit page down 3 times.
- The post index after the third page down was 60009.
- After posts streamed in, the current post displayed was 60022. Also, 60022 is now the first >post displayed at all!
- I hit page down, then page up.
- Previous posts streamed in. But I was taken to post 60011!
https://what.thedailywtf.com/topic/12236/the-official-status-thread/60000
Waiting for @julianlam to come back into the issue and remove the
invalid
tag.
-
@boomzilla said in Scrolling jellypotatoe:
I turned off iframely (you might have noticed)
I noticed a brief outage: I guess that was why?
-
@RaceProUK Yes
-
I just managed to scroll a thread down by pushing the scroll wheel up.
-
Bleh, I don't have my GH account credentials accessible to me on my work machine.
I can confirm that the second replication case in this comment https://github.com/NodeBB/NodeBB/issues/5667#issuecomment-300647924 (the Feminism thread) is still 100% reproducing with Delay Image Loading ON or OFF, although the exact post-jellypotatoe behavior has changed slightly.
Edit: Though the trigger now seems to be more around the embedded YT video, rather than the cheesecake photo Polygeekery provided.
-
DAMMIT, @izzion!
Edit for the above: cc: @julianlam
-
@boomzilla said in Scrolling jellypotatoe:
I turned off iframely (you might have noticed). The problem still exists.
- I started at post 60,000 and hit page down 3 times.
- The post index after the third page down was 60009.
- After posts streamed in, the current post displayed was 60022. Also, 60022 is now the first >post displayed at all!
- I hit page down, then page up.
- Previous posts streamed in. But I was taken to post 60011!
https://what.thedailywtf.com/topic/12236/the-official-status-thread/60000
Waiting for @julianlam to come back into the issue and remove the
invalid
tag.Notice how the issue is still open? And we're not banned from the bugtracker? Score one for not-!
-
@ben_lubar said in Scrolling jellypotatoe:
Notice how the issue is still open? And we're not banned from the bugtracker? Score one for not-!
Well...
invalid
may just beAlso, I don't think the youtube plugin is the problem. There's no post-loading weirdness. It just has a div that's basically fixed height. I think. The CSS is...CSS. The links are converted on the server into divs and stuff. The actual youtube iframe doesn't get loaded until you click the play button.
-
But just for fun I disabled youtube. Yep. Still a problem.
-
Also deactivated our customizations. Still no joy. All 3 are back on again.
-
I tried to respond to my trolling threads on the phone. No luck. Couldn't even read them.
Then I tried on iPad. It was even worse. Wanted to write a whiny response. The composer was completely broken. So now I am typing this on a laptop.
This software is seriously ruining my will to participate in the forum. Can we go back to Discourse yet? At this point, I'd be ok even with phpbb. Anything but this garbage.
-
@boomzilla said in Scrolling jellypotatoe:
Also deactivated our customizations. Still no joy. All 3 are back on again.
There's some XSS and information disclosure exploits that are blocked by that plugin, so keep it active at all times.
-
@ben_lubar Ah, right...well, it was only off for a few moments.
-
@boomzilla said in Scrolling jellypotatoe:
@ben_lubar Ah, right...well, it was only off for a few moments.
We don't have a mafia game going right now, so it's fine.
-
@ben_lubar said in Scrolling jellypotatoe:
We don't have a mafia game going right now, so it's fine.
Yes, I did consider that. However, iFramely doesn't seem to have come back up. I re-enabled and reloaded. Does the iFramely container need a kick?
-
@ben_lubar Hmmm...in particular, tons of this in the logs:
11/5 19:10:56 [14619] - error: [4569/14619] [plugin/iframely] Could not parse embed: Failed to lookup view "partials/iframely-widget-card" in views directory "/usr/src/app/build/public/templates"
-
@boomzilla A "Restart" seemed to do the trick.
-
This thread is doing it particularly badly for me. Every 5 posts I get jelly'd several posts down (from 59 to 76 at the time I was watching the URL bar)
-
And now this bug report thread just did it too me on mobile. Entered at @hungrier's post (then the last post), got jumped up to post 40 and posts 41-43 were unloaded.
-
@boomzilla @ben_lubar
In the trolleybus garage threads that have been linked as consistent reproduction cases, the issues definitely seem to be related to an external content load, and are showing "DDOS" style behavior for those external loads.In the Feminism thread, the jellypotato happens at the same time as this embedded imgur tries to load: https://imgur.com/a/S781H/embed?pub=true&ref=https%3A%2F%2Fwhat.thedailywtf.com%2Ftopic%2F22233%2Fi-don-t-need-feminism-because%2F922&w=540 - the load goes nuts and tries at least 10 times. When I was scrolling down from the top, the referrer link within the load to that embed shows /topic/22233/slug/922, though it looks like the actual link is in post 931 (https://what.thedailywtf.com/post/1153748)
In the involuntary laughter thread (Can't we just keep this in the garage? -- topic 22899), I'm seeing several different points that wind up going out to get giphy embeds and blow things up pretty badly. The first one when scrolling down triggers when the referrer is /t/22899/p/82 and when scrolling up the potatoe triggers around /t/22899/p/104. The embedded link is (intentionally defanged: https://giphy.com/embed/dg7EVuAv0emkw) but I can't successfully find which post it's in. Again, as in the above link to imgur, hitting the jellypotato point results in 10+ external requests for the embedded image to fire.
Hooking up a MutationObserver to childList events in the document and its descendant elements in my Chrome console also sees a dramatically different process when those potatoe points are hit. Under normal scrolls, roughly 3-6 events are fired to add or remove nodes. On the jellypotatoe scroll, hundreds of events are being logged, and many of them appear to be duplicates of each other (often adding the same node over and over again, with the same baseURI of your currently "active" post number).
I haven't refined the MutationObserver console logging to really be that useful, so I didn't use it in the involuntary laughter thread... but in the feminism thread, the DOM event was repeatedly adding a node with the "outerHTML" property of: "<script src="https://s.imgur.com/min/embed.js"></script>", which seems to provide extra evidence that post 931 is the problematic post in that section of that thread.
-
@izzion
Although, for the feminism thread, if I intentionally enter at /p/931 and scroll down slowly, I can get to the end of the thread without incident, and then I can scroll back up to /p/931 without incident, and I can continue scrolling until I get close to /p/922, at which case things jump all around again, and /p/922 becomes my active post.Though I have no idea why /p/922 would be special, because View Raw shows that's a one word post with no links, emojis, or anything.
Although... as I've been typing this up and fiddling around a little more, things seem to be ok when /p/925 is just appearing on the screen (while going up), and then go nuts when /p/924 scrolls onto the screen. Loading in at /p/924 works pretty well and you can scroll back and forth a few posts, but if you get far enough away from it, things go nuts again.
Looking at /p/924... that has one of our custom animated emoji, the crazy emoji.
Edit: though it doesn't look like any of the posts in /t/22899 between 82 and 104 (inclusive) have any emoji in them, quoted or otherwise. On the other hand, there are a ton of quotes in those posts, and there are a number of quotes in boomzilla's post 924 in the feminism thread that's a hotspot...
-
Ok, I'm like 90% sure the problem is having too many "blockquote" elements in a chunk that is being infiniscrolled into the DOM. I can get some degree of replication here: https://what.thedailywtf.com/topic/22907/testing-jellypotato-theory-number-2, especially if I enter at the very top and scroll until the first batch of posts loads (which includes posts 21 through 40 of that thread -- I start with posts 1-20 loaded on my default settings of 20 posts per page).
I also get a whole bunch of other weird behavior if I set posts per page significantly lower (5 actually made it so I couldn't infiniscroll when I entered at the end which was post 58 at the time, because it didn't initially load enough posts to realize I wanted to scroll the viewport). I went back to the 20 that I started the night on so that my replication case was as clean as possible.
-
@ben_lubar @boomzilla
Can we please test disabling our custom CSS for blockquotes? https://github.com/boomzillawtf/tdwtf/search?utf8=✓&q=blockquote&type=I don't know if we have some customization elsewhere that was intended to allow more pyramid quoting, like we did in Discourse - I'm kind of sick of doing my test thread and would prefer not to try to play "guess the search term" in our customizations repo.
-
@izzion I get no repro in that topic.
-
- What is your "posts per page" setting? (Mine is 20)
- Can you open your dev tools and expand the following element tree:
body main id="panel" div id="content" div class="row" div class="topic col-lg-12 col-sm-12" ul component="topic" class="posts"
What post are you entering at, and which posts are loading in initially?
I'm getting 100% replication in two cases:
- Enter at post 1 (post 0, in that list, yay javascript arrays), then scroll down slowly until it tries to load more posts (roughly when I get to my 10 commandments post, post number 16) and then I get jumped down to post 28 being active and data-index 23 through the end loaded in my DOM.
- Enter at post 63 (the last post), the page will have posts 54-63 (data-index 53-62) loaded, scroll up slowly until it tries to load more posts (around when post 55 or 56 is mid-screen) and I get jumped back to somewhere in the post 42-44 range, and it unloads all of the starting posts and then has 40 posts before (inclusive) the one I just got jumped to in the DOM.
If I enter somewhere in the middle, the thread is fine in either direction.