Very similar to other places where function coloring is annoying.
Posts by
Maybe you are right. Inner takes async signal if it has its own loading otherwise suspending would just bubble up anyway. It might only be annoying once you start writing generic, inversion of control, utility style components where you need to pass signals through to something else user defined.
Something like this solid2.netlify.app#solidjs-repl...
I think this would remove one of the coolest benefits of Solids async reactivity where suspending is fine grained. Any component taking sync props would force you to suspend right there while solid only suspend where the value is actually eventually used in a render effect.
We’re pretty close to having an initial Rust port of React Compiler. My approach was to iterate on the plan document (write it manually, have the agent expand, edit, repeat). Then try to run it, see what goes wrong, revert back to the plan, tweak the plan, repeat.
The <Suspense> is over.
Solid 2.0 Beta is now released (next tag on npm). 🎉
github.com/solidjs/soli...
To clarify. This demo that has two copies of the app entangle both too much and too little. It entangle between SubApps but not in the same SubApp.
codepen.io/GabbeV/pen/B...
That is great news! Are you also looking at the partial work representing intermediate state the comment is talking about? My demo both felt like it entangled too much and too little at the same time.
I agree with that comment that the current heuristics might need tweaking. If duplicate the App in my original demo you get entanglement if you click one button in each App, but not if you click both buttons in the same app. Seems backwards from what you would want to me.
codepen.io/GabbeV/pen/B...
Here is an example that is closer to what I'm actually trying to build. I expected a revalidation started while the increment was still pending to entangle, making them commit together. codepen.io/GabbeV/pen/Y...
Not quite sure what you mean. If I press both buttons the result doesn't go from 1 1 to 2 2 it also shows the intermediate 1 2 or 2 1.
Still curious about this if the CVE stuff has calmed down. Experimenting some more with this today and it feels very unintuitive. For a while I thought it was a load vs action thing but then I found scenarios where seemingly unrelated loads entangled while those in the linked codepen don't.
Gave up on day 4. Can't seem to get away from ts(2589) "Type instantiation is excessively deep and possibly infinite."
This is as far as i got:
www.typescriptlang.org/play/#code/C...
Day 3: www.typescriptlang.org/play/#code/C...
Day 2: www.typescriptlang.org/play/#code/C...
Here is the solution to day 1 bsky.app/profile/gabb...
Advent of Code 2025 day 1 solved using only the type system of TypeScript.
www.typescriptlang.org/play/#code/C...
Just do the regular AOC in the typescript type system. My record is getting to day 5 before giving up.
What is the actual batching/entanglement semantics of React transitions? The docs seems to suggest that they always get combined to a single global one but that does not seem to be true.
codepen.io/GabbeV/pen/p...
Is the @ricky.fm help desk open again?
I think the confusion comes partially from some things calling act invisibly under the hood making it seem rare that you need it. But also from trying to run tests with real async things happening that can't easily be wrapped like real timers.
Having to wrap it around each "step" is the right mental model to have. React batches things happening in the same callstack and defers other things until idle. act tells React that some action would happen in its own callstack and that you want the deferred work to complete before continuing.
It was supposed to be leet. However early programming languages limited keywords to 3 characters.
This fix for this is so slick: instead of reverting back to the old behavior where Suspense fallbacks have to wait for suspended siblings to render, the new feature commits fallbacks immediately, then schedules a render for the siblings after to "pre-warm" the lazy requests in the tree.