Bug Hunt
The Zip Code That Lost Its Leading Zero
The field was parsed as a number on import, so the codes starting with zero lost a digit, and the shipping lookup failed for a whole region, and the failure…
Runtime errors, module systems, async pitfalls and the parts of the language that behave differently than they read.
Bug Hunt
The field was parsed as a number on import, so the codes starting with zero lost a digit, and the shipping lookup failed for a whole region, and the failure…
Code Review
The request had no timeout and no cancellation, so the abandoned navigation left the fetch running, and the response wrote to a component that no longer…
Performance
Each iteration measured an element and then changed a style, so every read invalidated the layout and forced a synchronous reflow, and the frame budget went…
Code Review
The total was computed in binary floating point, so the sum was a cent off on some carts, and the difference only appeared when the decimals did not fit the…
Bug Hunt
The identifier came back from the API as a number, and the number exceeded the safe integer range, so the parsed value rounded, and the lookup found a…
Performance
One import pulled the entire package into the client bundle, and the tree shaker could not help, because the import went through the barrel file, and the…
Performance
A context value rebuilt on every render made every consumer re render on every tick, and the consumers included the provider's own parent, so the cascade…
Performance
Swap fixed the invisible text and introduced the layout shift, and the shift landed on the checkout button at the moment of the click, so the user tapped…
Code Review
A catch that returns a fallback converts a failure into a value, and the caller downstream treats the fallback as data.
Shopify
INP replaced FID and it is much harder to pass. A variant selector that felt fine on a laptop was failing badly on the phones customers actually use.
Code Review
The listener, the timer and the subscription all outlive the component that created them, and the leak is invisible on the first mount and obvious on the tenth.
Bug Hunt
Fast typists submitted search queries missing their final character, and only fast typists, because the trailing edge timer was cancelled on unmount before…