Posts
All the articles I've posted.
Measure twice, render once: why Align.Width didn't shrink a Spectre.Console panel
Spectre.Console lays out widgets in two passes, measure and render. Align respected an explicit Width when rendering but not when measuring, so a Panel around it always stretched to the full console. Notes on my first spectre.console PR, #2101: the layout model, the fix, and two review comments that made it correct.
"If you didn't request this, you can ignore it": the default Identity emails go to strangers too
Anyone can type any address into a register or forgot-password form, so ASP.NET Core Identity's default emails regularly reach people who never asked for them. Notes on PR #66747: where that text actually ships, a wording problem caught in review, and a test that turned out to be parsing the email.
Typed, documented, ignored: forwarding getReferencedVirtualElement in Tiptap's React drag handle
The React DragHandle component in Tiptap accepted a getReferencedVirtualElement prop, the docs described it, and it did nothing, because the component never passed it to the plugin. Notes on PR #7832: a three-line fix, why TypeScript couldn't catch it, and the useEffect dependency that comes with it.
ES256 doesn't mean P-256 (unless you check): fixing passkey key validation in ASP.NET Core
A passkey public key carries an algorithm and a curve, and WebAuthn says they have to agree. ASP.NET Core Identity didn't check that. Notes on PR #68834: where the gap comes from, what a mismatched key actually does in .NET, and the fix.