rosie
@rosie@segfault.us.to
we got virtual scrolling in misskey before gta 6
it's doing the same culling thing outpost-fe is doing so it's not """"true"""" virtual scrolling in terms of keeping the DOM component count small but it should hopefully unmount the notes themselves which will avoid most of the JS lag
@kopper what is virtual scrolling?
@hipsterelectron when you're scrolling on a very large list (say, your mastodon feed) you really do not want to keep every single post you've scrolled through on the document, especially if you're misskey where each post widget may have a lot of lines of questionably performant javascript backing all sorts of features you may not realize exists (like user profile pictures staying within your viewport as you scroll by, all the bookkeeping around rendering blurhashes to a canvas to show a colorful preview while an image actually gets downloaded, etc.)
@hipsterelectron so, things outside the viewport get unmounted and replaced with a placeholder that tries to maintain their height (to make scrolling not jump around too badly)
@kopper ok so (1) making sure to disappear the stuff that's not in view but (2) with lots of arcane magick to keep scroll moving smoothly?
@hipsterelectron pretty much, yeah.
@kopper i like how you described the interaction with third-party plugins as well!
@kopper idk if i've ever shown you this nonsense which almost got me sent into a life path of frontend work at twitter inc https://github.com/cosmicexplorer/imposters using MutationObserver
and tons of other tricks to replace tech buzzwords with satire. it also supports swaps (there's a protocol for replacements.json) and was a clear antecedent to my current work on parsing and regex
@kopper super dumbass question time: is this pattern (unloading items when they scroll out of view) related to (1) shadow dom (2) react virtual dom? like is this at all a problem that they solve (or could solve more easily)? or is this kind of unloading process orthogonal to the DOM management performed by (1)/(2)? plz ignore if this makes no sense i'm jc on your take
@hipsterelectron i don't think shadow dom has any relevance here (though i don't know too much about it). virtual dom implementations likely also end up benefitting as there are less dom nodes to deal with a really "extreme" case of virtual scrolling is
@kopper thanks!
@kopper i am wondering if this is a general performance problem that could be modularized and solved outside of outpost-fe is all. if it's orthogonal to shadow dom etc then would consider whether it's possible to publish this as a raw js library etc? jw. idk much about this space atm
@hipsterelectron it is, and there are existing libraries that do it, and i'm pretty sure nearly all social media sites with an infinite feed use one implementation or another.
@rosie @hipsterelectron another thing the old one did better (by not having infinite scroll in the first place)
@rosie imo the only people who actively use jxl are the gnome designers
the first rule of unicode is to have fun and enjoy yourself
too much website talk. have you heard of Super Mario 64
there are levels in that game
@esm I heard it has mechanics like moving and jumping
@esm@wetdry.world i liked the part where luigi burned and screamed
@sneexy who's luigi
@esm I just tried playing it, but this type of game is very hard for me
@aei yeah. they started out as "moderation" tooling so you could label someone a terf or whatever but then people went and said "hey if we made bots that let people label themselves we could make people show off their pronouns and fursona species and whatever"
ok yeah this is probably why all the apps are for mastodon
mastodon api: "to get info about the instance simply make a GET request to /api/v2/instance
!"
misskey api: "you have to send a POST request to /api/meta
. it must come with data but that data has to be nothing. we might reject you if your user agent isn't from a browser btw"
@eblu yeah misskey api is hot garbage, there are reasons why mutliple forks have attempted to implement a masto api layer
@esm the more I look into this, the more I realize that mastodon is the only activitypub server that isn't huffing paint. and iceshrimp.net maybe
@eblu@wetdry.world @esm@wetdry.world akkoma is good except for the database which sucks because that's the most important part so like you know
you can scare any sourcehut user with a rounded corner, more than 4px padding, and a gray that's slightly tinted blue
why is Steam specifically focusing on kernel-level anti-cheat here. so if an anticheat ran as the Windows SYSTEM user, which has full access to any process aside from PPL processes, that somehow doesn't count for disclosure to the end user? is the K-word really so important?
this feels like appealing to reddit knee-jerkers and it sucks. "modifying kernel level files" what. Nothing does this. Safedisc was decades ago
also PunkBuster is kernel-level on Valve's favourite CPU architecture, Legacy Intel i386, so idk why they didn't put a big scary red warning about that
@ipg im all for this but id like to see them add something about whether it runs on proton or not, could just pull from protondb
the deck verified status isnt enough imo
imagine if gifs died and we just used webms with looping enabled
peep the horror, a 5MB GIF
vs
AV1 webm, 32.7 KB
I am AV1's biggest fan Bring that shit to the web
Please
@privateger only if you buy me a hardware encoder ::
@privateger ok nvm i just tested ffmpeg's svt-av1 on the source screen recording behind latest video i posted (1080p and about 1 min so blehg) and it converted in like 13 seconds. av1 may actually be workable now
@kopper@brain.d.on-t.work SVT is very fast nowadays
@privateger rav1e the so-called fastest one (idk i used the defaults on ffmpeg) can't even reach 1x speed on the same video file i just never tried looking into svt (and of course aom is a joke in terms of performance)
@privateger imagine if everyone other than safari also let you put videos onto imgs which then acted just like gifs