Andy Ingram

@andrewingram.bsky.social

CEO of naming things. React and GraphQL since before they were CV fodder. “an encyclopaedic knowledge of web development". Manifesting code at Watershed.

Good news for Vercel. But I’m midway through extricating myself from their ecosystem and service (yeah, I’m being pretty slow about this) as a form of boycott. It’s a shame, because DX-wise I do actually prefer Next over the alternatives, and would love to see it developed under different ownership

dan@danabra.mov · last mo.

... i have joined the @nextjs.org team at @vercel.com. for a start, i'll be working part-time, so please don’t flood me with bug reports yet. however, i’ll try to keep an eye on them as i want to understand what problems Next.js users are running into every day. i want App Router to get good!

A lot of UI state should be derived from the URL (path and query strings), but that derivation should happen at the root of your component tree so that the bulk of your components are agnostic to it -- otherwise you impair their reusability.

The limitations of anchor postioning likely make a lot of sense in terms of not making it possible to crash browsers, but are frustrating because I can’t find a way to do the cool stuff I want to do — like having a line connecting an span in the main content area to an area in a sticky sidebar.

Annoyingly you can't use anchor positioning in scroll-margin or scroll-padding, so if you want to account for a sticky header with internal links on a page you still seem to be stuck with magic numbers.

A missed opportunity that's potentially loosely related to the design of CSS anchor positioning is the ability to do "position: sticky" but without the annoying constraints about parent elements If you don't have full control over document structure it's super restrictive

Is there a way to batch React state updates across multiple event handlers that happen in the same tick? Use case: I have a side panel that uses an “on outside click” hook to close it, but it’s possible the thing you’ve clicked would actually reopen it.

I have a mild distaste for state management libraries that default to assuming any given bundle of state only exists once (i.e is effectively global), such that making it work in a scoped fashion is often quick finicky.

Why is there not a single good multipart response handling library for node? All the ones I've found suck in one way or another. Every GraphQL client that has native support for defer (e.g. Apollo and urql) implements their own handling of the multipart spec.

graphql-eslint seems to be the latest thing to make it hard to have urql and relay coexist in the same codebase. We have lint rules as guardrails from query mistakes with urql that aren’t needed for Relay (like always having to select an id field).

I’m fairly sure I’ve now done all the hardest platforming sections in Silksong and tbh I’m a little disappointed, hopefully there’s some crazy path of pain equivalents in future dlc.

People on the left can’t agree on *anything* (it’s the main reason left-leaning parties don’t sweep every election in the UK), so it’s *very* bizarre to see the right treat them as a homogenous hivemind.