@admin·23 min read·Web Development The implicit flow is unsafe for SPAs and mobile apps; PKCE is now standard. This article explains PKCE (`code_verifier`/`code_challenge`), why it replaces the implicit flow, access and refresh token lifecycles, token rotation and revocation, and a production-grade OAuth client implementation.
#React #DevOps♥ 1610 comments
@admin·16 min read·Web Development Images are often a page's largest resource, so optimizing them is key to LCP. This guide covers modern formats (WebP/AVIF vs. JPEG/PNG), responsive images (srcset/sizes), Next.js Image, lazy loading, placeholders, and dynamic CDN processing in a production-ready strategy.
#Next.js #React♥ 1640 comments
@admin·18 min read·Web Development Unit tests validate individual units and integration tests validate combinations, but only E2E can answer whether users can actually use the product. This article covers Playwright's core capabilities, Page Objects, CI integration, and what E2E should and should not test.
#React #TypeScript♥ 1650 comments
@admin·16 min read·Web Development A modal rendered deep in a component tree can be clipped by parent z-index, overflow, or transform rules. Portal renders it in document.body to escape those constraints. Learn Portal fundamentals, a complete modal implementation, accessibility, and why Radix Dialog handles the hard parts.
#React #TypeScript♥ 1680 comments
@admin·16 min read·Web Development Custom fonts improve design but can slow LCP and cause CLS when loaded poorly. This guide covers the full optimization path: font-display strategies (swap, fallback, and optional), preloading critical fonts, WOFF2 subsetting, FOUT vs. FOIT, variable fonts, fallback metrics, and a practical setup that looks good and stays fast.
#Next.js #React♥ 1740 comments
@admin·23 min read·Web Development Media Queries respond to viewport width; Container Queries respond to the parent container's width, so a component adapts (different layouts in a narrow sidebar vs. a wide main area). This article covers the principles, the @container syntax, container-type settings, browser support, and how they reshape responsive design.
#React #TypeScript♥ 1750 comments
@admin·5 min read·Web Development A list of links at the end of an answer does not let users verify conclusions. This article designs a traceable React citation experience through evidence data contracts, streaming placeholders, accessible interactions, and source security.
#RAG #Next.js #React♥ 00 comments
@admin·16 min read·Web Development Hooks are more than useState/useEffect: custom Hooks are React's "unit of reuse." This article explains when to extract custom Hooks, how Hooks compose, dependency arrays and stale closures, testing with renderHook + act, and why not to over-abstract Hooks.
#React #TypeScript♥ 1770 comments
@admin·5 min read·Web Development Multi-turn AI conversations need more than a single messages array. This article separates transient browser state, server-side conversation facts, generation runs, and idempotent protocols to prevent conversation mix-ups, duplicate messages, and data loss on refresh.
#Next.js #React #TypeScript♥ 00 comments
@admin·5 min read·Web Development Splitting Context is only a prerequisite. This article focuses on cached snapshots, atomic notifications, initial server snapshots, and race consistency in useSyncExternalStore, with Profiler fixtures that cap component fanout per commit.
#AI #React #TypeScript♥ 1770 comments
@admin·5 min read·Web Development AI messages include code, citations, and delayed content, so ordinary fixed-height virtual lists jump when history is backfilled. This article uses stable message keys, height correction, explicit anchors, and real-browser fixtures to constrain DOM growth and scroll drift.
#AI #React #TypeScript♥ 1780 comments
@admin·17 min read·Web Development Functional tests do not catch broken layouts, changed colors, or incorrect font sizes; only visual regression testing can. This article explains VRT principles, screenshot and pixel diffs, Playwright, Chromatic, Percy, threshold tuning, CI integration, and how to prevent VRT from becoming a noise generator.
#React #TypeScript♥ 1810 comments