AMAhmed Mahmoudinengahmed.hashnode.dev·21h ago · 10 min readWeb Push in the Next.js App Router: Field Notes on Service Workers, VAPID, and the iOS Rule That Silently Blocks Everything ba51d8Headline: Web Push is a browser API that delivers a server-sent notification to a device while your site is closed, and in a Next.js App Router project it needs exactly three parts: a service worker s00
AMAhmed Mahmoudinengahmed.hashnode.dev·1d ago · 10 min readContent Security Policy in the Next.js App Router: Field Notes on Nonces, strict-dynamic, and the Middleware That Made Every Page Dynamic 50ccd5Headline: A Content Security Policy (CSP) is an HTTP response header that tells the browser which script, style, and connection sources a document is allowed to use, and in the Next.js App Router the 00
AMAhmed Mahmoudinengahmed.hashnode.dev·2d ago · 11 min readPasskeys in Production: Field Notes on WebAuthn, Conditional UI, and the RP ID That Broke My Login 094b4dHeadline: A passkey is a WebAuthn public-key credential held by the device's authenticator and permanently bound to one Relying Party ID (RP ID), and it replaces the password and the second factor in 00
AMAhmed Mahmoudinengahmed.hashnode.dev·3d ago · 9 min readModern CSS Deleted My Layout JavaScript: Field Notes on Container Queries, :has(), and Subgrid 93ff72Headline: Four CSS features — container queries, :has(), subgrid, and cascade layers — let me delete most of the JavaScript I used to write for layout and conditional styling. Container queries size a00
AMAhmed Mahmoudinengahmed.hashnode.dev·4d ago · 9 min readModern CSS Deleted My Layout JavaScript: Field Notes on Container Queries, :has(), and Subgrid c32379Headline: Four CSS features — container queries, :has(), subgrid, and cascade layers — let me delete most of the JavaScript I used to write for layout and conditional styling. Container queries size a00