Profile avatar
rich-harris.dev
my life is derp and i do derp shit
942 posts 19,114 followers 616 following
Getting Started
Active Commenter
comment in response to post
those cinemagraphs 😍
comment in response to post
careful, he might sic his 30 followers on you
comment in response to post
you're not going to like the answer
comment in response to post
i bet reddit has something, i have had many a chuckle over at www.reddit.com/r/FacebookAI...
comment in response to post
sounds like you need to be lickin' spoon
comment in response to post
this is brad lander erasure, this was definitely solid purple the last time i looked
comment in response to post
bsky etiquette tip: if quotes are disabled, don't screenshot them and @ the poster unless you are a sociopath
comment in response to post
pick a lane dipshit
comment in response to post
uh thanks for your opinion now kindly fuck off? you don't know me. you don't know my situation. people like you are why bsky is a shitty experience the moment a post reaches the discover feed do better
comment in response to post
We're happy @rich-harris.dev will come to talk about low-fat data - whether he'll discuss carbs as well is unknown at press time. perfnow.nl/speakers.html
comment in response to post
his net worth is over $100 billion so this is basically pocket change for him. wild
comment in response to post
"uhhhh, here's fine, thank you!"
comment in response to post
indeed! have had the same thought many times
comment in response to post
pre-emptively taking solace in the fact that if the rapey sleazebag wins he will be absolutely miserable for four years then we'll never hear from him again. the NYC mayoralty is where political careers go to die
comment in response to post
yeah come! it'll be a good time
comment in response to post
woooooo!
comment in response to post
yeah, extremely obvious in retrospect
comment in response to post
omg THANK YOU
comment in response to post
added a note to the PR github.com/sveltejs/sve...
comment in response to post
ooh, and it would be disposed each time it was updated. that's a cool idea!
comment in response to post
i have been wanting to build this exact thing for the longest time
comment in response to post
it's an illusion. svelte is compiling away with top-level `using`, and calling `Symbol.dispose` itself... but `Symbol.dispose` is `undefined` in those browsers. so it's really just calling `clock.undefined()` on teardown. this 'works' by accident but it's brittle and you shouldn't rely on it
comment in response to post
the clickhole heartbreaking guy getting around a lot these days
comment in response to post
mine too. my plants are all guys. but if someone says they're not a guy they're not a guy
comment in response to post
Yeah probably a follow-up, just to make everything manageable
comment in response to post
oops sorry! that was careless of me, apologies
comment in response to post
yep. the trade-off we're making is that you may occasionally have to fix a waterfall yourself, but in return you get a _truly_ unified component model and much cheaper revalidation (for me number 6 on that list would be 'we don't want to fetch a whole bunch of JSON for unchanged things'!)
comment in response to post
since those queries would be hitting the server in the same request, we could also have a variant of `query` that uses the github.com/graphql/data... pattern to combine them into a single db request
comment in response to post
re batching: the thinking is that any queries occurring in the same microtask (i.e. the same render) will be a single request, that streams responses as they're available (i.e. faster queries aren't blocked on slower ones). also, queries are cached until they're refreshed, which means free deduping
comment in response to post
and in future sveltekit's built-in preloading will kick in, which mitigates the issue, not to mention you might have stuff cached. so in summary, waterfalls generally shouldn't be a big problem, but when they are we'll help you find them and fix them
comment in response to post
but! we can certainly _detect_ that a waterfall is occurring, and point you towards documentation that says 'you might want to create a remote function that combines these two queries' note that if the initial page is server-rendered then you're spared the round trip until you navigate,
comment in response to post
there are of course some cases where waterfalls can't be avoided with compiler trickery: let artist = $derived(await search(query)); let tracks = $derived(await get_tracks(artist)); the only system that truly solves that case is RSC, but that has its own... characteristics
comment in response to post
we also plan to render as much component content as possible ahead of time, so if you have e.g. this... <script> let { slug } = $props(); const post = $derived(await get_post(slug)); </script> {@html post.content} <Comments {slug} /> ...<Comments> isn't blocked by `get_post(slug)`
comment in response to post
it seems likely that load functions won't be all that necessary in future, though even if that proves true they'll continue to work for a long time some waterfall protection is built in, because awaits happen in parallel: <p>{await foo()}</p> <p>{await bar()}</p> and not implemented yet, but:
comment in response to post
svelte team: *publishes RFC that draws on prior art from telefunc, tRPC, solid start and other things that predate react server functions, but is significantly different from all of them, and explicitly calls out react as a design we avoided* guy on the internet: 'this shows why react is relevant'
comment in response to post
ah that's a shame! it's a great story
comment in response to post
when i think about rolldown.rs and how it advertises a 'Rollup-compatible API' i think about the space shuttle and roman horses' butts astrodigital.org/space/stshor.... happy i got to build the chariot all those years ago
comment in response to post
it is also very incomplete, of course, as origin stories often are — i worked on the project for a couple of years a decade ago before smarter and more accomplished developers took the lead (in particular @lukas.taegert-atkinson.net)
comment in response to post
heh — i guess! additional things you get with remote functions: - type safety - intelligent caching - optimistic updates - batching - granular prerendering - progressive enhancement plus future additions (streaming, version skew protection, etc)
comment in response to post
what the fuck are you talking about?
comment in response to post
does it still need champions? it's stage 4