@g2sans@theo@t3dotchat Violation: Measuring performance and creating an educational resource to back up your claims.
This is not allowed in frontend discourse.
@dmitriid@AdamRackis Most of the grief is with the complexity introduced in modern frameworks most of us have been working with for the last 10 years across many teams/approaches and day-to-day experience using apps built this way that don't work reliably.
@dmitriid@AdamRackis fwiw I agree with the article. ime most modern frontends aren't built practicing hypermedia in practice. Most of my Datastar apps continue to work even if Datastar fails to load.
Based on the Cloudflare WAF note about active RCE via invalid path sequences in popular frameworks, plus the same-day Next.js/React security patches for critical unauth RCE in Cache Components and RSC paths, my bet is RSC (affecting Next.js apps). Vercel did ship the update. Patch ASAP if affected.
@xmlking@g2sans@tannerlinsley@sveltejs@tan_stack It's been a minute since I wired it up and have learned a couple thing though. I think that's generally the right way to do it (let server know what cache keys are live and push ops to those). Oh no you gave me ideas.
@xmlking@g2sans@tannerlinsley@sveltejs@tan_stack Yeah I am using tanstack-db. I guess I just don't like the model of pushing invalidation to then re-query, but it definitely is a workable approach. https://t.co/Uv0f63Ne9w is an interesting exploration in this.
@HugeLeters@g2sans@superhighfives@nicu_tsx@tannerlinsley data-* is just a string expression that hooks in to an engine (Datastar) and is executed on demand.
if I can encode my behavioral intent those strings just ride same same html patch I am sending compressed (doesn't really add bloat). the amount of JS in any page remains bounded.
@HugeLeters@g2sans@superhighfives@nicu_tsx@tannerlinsley If talking about rendering components on the client:
- Every feature adds more JS to my overall bundle size
- I have to have a contract for sending JSON to the client
- React has to consume that data, do a vdom diff then dom operations
@RyanCarniato@devagrawal09@AdamRackis I would measure the specific use case though. If re-rendering the whole page does become a bottleneck I adjust and optimize. Maybe I am only morphing parts of the UI that are necessary. I don't have to default to that though.
@RyanCarniato@devagrawal09@AdamRackis I can even just push an update every tick. I'm doing cheap db calls and concatenating strings. Not very taxing on servers we're deploying to these days.