Frontend Build & Rendering Errors
Hydration mismatches, bundler resolution, layout shift and font loading.
Understanding Frontend errors
Modern frontend errors are dominated by the boundary between server rendering and client hydration. A hydration mismatch means the HTML the server produced does not match what the client would have rendered, usually because of a date, a random value, a browser-only API, or user-specific content rendered during SSR. The second large family is bundler resolution, where the error names a module but the real cause is configuration.
How to debug Frontend errors
- For hydration errors, read the diff the framework prints: React, Nuxt and Astro all show the mismatched node. Look for
Date,Math.random,window,localStorageand locale formatting in that subtree. - Deliberately defer browser-only rendering with a mount effect or the framework's client-only directive rather than suppressing the warning.
- For resolution errors, run the bundler with verbose logging and check whether the package ships ESM, CJS or both, and whether your
conditions/mainFieldsconfiguration selects the right one. - Diagnose layout shift with Lighthouse or the Performance panel's Layout Shift regions. Nearly all CLS comes from images without dimensions, injected banners, and web fonts without
font-display: swap. - Reproduce production build failures locally with
NODE_ENV=production; dev servers are far more forgiving than production builds.
Tools worth reaching for
LighthouseChrome Performance panelvite build --debugwebpack-bundle-analyzerReact DevTools
All 23 Frontend errors
- Angular: NG0100: ExpressionChangedAfterItHasBeenCheckedError NewA binding produced one value during change detection and a different one when Angular verified the pass in development…
- Astro: client hydration mismatchAn interactive island rendered different markup on the client than the server, or a client directive was missing, so…
- Blocked aria-hidden on an element because its descendant retained focus NewChrome refuses to hide a subtree from assistive technology while the focused element is inside it. It appears when a…
- CORS: web font blocked by Access-Control-Allow-OriginFonts are fetched with CORS. A cross-origin font without the right ACAO header is blocked, leaving text in a fallback…
- CSS: @import rules must precede all other rules NewThe CSS specification only allows @import at the top of a stylesheet, after @charset and @layer. Bundlers concatenate…
- Cumulative Layout Shift (CLS) too highVisible elements move during load because images/ads/embeds have no reserved space, or fonts swap, hurting Core Web…
- DOMException: play() failed because the user didn't interact with the document NewBrowsers block audible autoplay until the page has received a user gesture. play() returns a promise that rejects…
- esbuild: Could not resolve "X"esbuild could not find a module: it is not installed, the path/extension is wrong, or it is a Node built-in being…
- Failed to load module script: expected a JavaScript module but got text/html NewThe browser requested a .js module and the server returned an HTML page. That is almost always a 404 handled by an SPA…
- FOUC: flash of unstyled contentThe browser renders HTML before CSS or a web font is applied, producing a brief flash of unstyled or…
- Next.js: Event handlers cannot be passed to Client Component props NewA Server Component tried to pass a function (onClick, onChange) across the server/client boundary. Functions cannot be…
- Next.js: Invalid src prop, hostname is not configured under images Newnext/image optimises remote images on your server, so every external host has to be allowed explicitly. Without the…
- Nuxt: Hydration node mismatchVue's server-rendered DOM did not match the client render, often from browser-only APIs during setup or invalid HTML…
- React 19: useFormState is deprecated, use useActionState NewReact 19 moved the form-action state hook out of react-dom and renamed it. Code importing useFormState from react-dom…
- Remix/React Router: loader threw an unexpected ResponseA loader or action threw a Response (e.g., redirect or 404) that was not handled, or returned a non-serialisable value.
- ResizeObserver loop completed with undelivered notifications NewA ResizeObserver callback changed layout in a way that triggered another resize, and the browser gave up after one…
- Rollup: "X" is not exported by "Y" NewA named import was taken from a CommonJS module. Rollup and Vite analyse ES module syntax statically, and a CJS file…
- Tailwind CSS v4: unknown at-rule @tailwind NewTailwind v4 replaced the three @tailwind directives with a single @import, and moved PostCSS support into a separate…
- Vite: Failed to resolve import NewVite could not find a module referenced from source. Either the package is not installed, the path alias is not…
- Vite: Outdated Optimize Dep, the page keeps reloading in dev NewVite pre-bundles dependencies on first run and reloads when it discovers one it had not bundled. A loop means new…
- Vite: the CJS build of Vite's Node API is deprecated NewSomething loaded Vite through require() instead of an ES import, usually a vite.config.js in a package without "type"…
- Vue: [Vue warn]: Failed to resolve component NewVue looked up a tag used in a template and found nothing registered under that name. With script setup an import is…
- webpack 5: BREAKING CHANGE - polyfill for Node core module removedwebpack 5 no longer auto-polyfills Node core modules (crypto, stream, buffer). Browser builds importing them now fail…
Other categories
- AI 35Rate limits, context windows, GPU memory and model-serving failures.
- Ansible 10Unreachable hosts, become passwords, undefined variables and Jinja2 failures.
- API 14Auth headers, payload limits, versioning, idempotency and webhook signatures.
- Apple 10Command line tools, dyld, Homebrew permissions, notarisation and Keychain.
- Auth 11OIDC, SAML, Auth0, Okta, Keycloak, passkeys and MFA failures.
- BigData 11Spark, Kafka, Airflow, Snowflake, Flink and Databricks failures.
- C# 12NuGet restore, null references, EF Core migrations, async deadlocks and Blazor…
- C++ 11Segfaults, linker errors, memory corruption and template deduction failures.
- Caching 10Cache stampedes, stale content, Varnish and CloudFront failures.
- CI/CD 18GitHub Actions, GitLab CI, Jenkins, CircleCI: permissions, runners and…
- Client 21CORS, mixed content, module resolution, memory limits and framework runtime…
- Cloud 25IAM permissions, quotas, service limits and credential failures.
- Dart 10Null safety, pub version solving and build toolchain problems.
- Database 41Connections, deadlocks, constraints, replication and memory limits.
- DNS 10NXDOMAIN, SERVFAIL, timeouts, propagation and delegation problems.
- Docker 27Daemon connectivity, disk space, image pulls, ports and architecture mismatches.
- Elixir 9GenServer timeouts, supervision failures and Mix compilation problems.
- Email 8Delivery failures, relay denial, authentication, SPF, DKIM and DMARC.
- Git 20Merge conflicts, rejected pushes, detached HEAD, LFS and repository corruption.
- Go 19Nil map assignment, concurrent map access, context cancellation and deadlocks.
- GraphQL 13Validation, depth limits, N+1 queries and fragment problems.
- gRPC 10Status codes, deadlines, message limits, TLS and HTTP/2 transport failures.
- HTTP 494xx client errors, 5xx server errors, redirects, headers and protocol problems.
- ICMP 23Destination unreachable, time exceeded, fragmentation needed and redirects.
- Ingress 8404 default backend, missing TLS secrets, IngressClass and path matching.
- Java 19Class loading, dependency resolution, connection pools and JVM version…
- JavaScript 42npm resolution, async pitfalls, hydration, memory limits and runtime type…
- Kubernetes 34CrashLoopBackOff, ImagePullBackOff, OOMKilled, RBAC, scheduling and storage.
- Logging 9Log4j, Logback, Fluentd, Logstash and CloudWatch ingestion problems.
- MessageQueue 14Kafka, RabbitMQ, SQS, NATS and Celery: lag, rebalancing and poison messages.
- Mobile 17Gradle, CocoaPods, Xcode signing, Metro bundler and toolchain mismatches.
- Monitoring 12Prometheus scrapes, Grafana data sources, OpenTelemetry exporters and agent…
- Network 35Refused connections, timeouts, resets, MTU problems and port exhaustion.
- Performance 6GC pauses, thread pool starvation and event loop blocking.
- PHP 11Memory limits, execution timeouts, autoloading, Composer and PDO connections.
- Proxy 17nginx, Envoy, HAProxy, Traefik, Caddy and Cloudflare upstream failures.
- Python 35Imports, virtual environments, encoding, concurrency and dependency conflicts.
- Regex 8Catastrophic backtracking, back references, escaping and engine differences.
- Ruby 11Bundler, migrations, native extensions, encoding and asset compilation.
- Rust 19Borrow checker, ownership moves, trait bounds and lifetime mismatches.
- Scala 6Dependency resolution, binary compatibility and type inference failures.
- Security 25JWT validation, CSRF, OAuth grants, SELinux, SSH host keys and CSP.
- Serverless 11Lambda timeouts, package size limits, VPC networking and cold starts.
- Shell 13Command not found, permissions, quoting, expansion and Makefile syntax.
- Storage 13S3 permissions, NFS mounts, quotas, signed URLs and volume attachment.
- Svelte 10Store subscriptions, load functions and server/client boundaries.
- System 26Disk space, systemd units, file descriptors, OOM killer and scheduled jobs.
- Terraform 18State locks, provider auth, drift, dependency cycles and plan-time unknowns.
- Testing 18Jest, pytest, JUnit, Cypress and Playwright: fixtures, snapshots and timeouts.
- TLS 24Untrusted authorities, expiry, hostname mismatch, chains and cipher negotiation.
- TypeScript 19Assignability, missing declarations, strict null checks and generic constraints.
- Virtualization 8VirtualBox, VMware, Hyper-V, WSL, KVM and hypervisor conflicts.
- Web3 7Gas estimation, nonce management and reverted transactions.
- WebAssembly 7Compile errors, memory bounds and host binding mismatches.
- WebServer 10nginx, Apache, IIS and Caddy: binding, permissions, rewrites and TLS.
- Windows 10Installer failures, missing runtimes, update errors and permission problems.