Production Fixes
Incident-first troubleshooting pages you can share as single links.
How to Exit psql: \q, exit, quit and Ctrl+D
Exit psql with \q (any version), exit or quit (PostgreSQL 11+), or Ctrl+D. Plus how to escape a paused pager, a stuck quote, and Windows quirks.
Which version of PostgreSQL am I running? 3 ways to check
Three quick ways to check which PostgreSQL version you are running: psql, a SQL query, and pg_config. Know your version before compatibility issues bite.
n8n Error Workflow Not Triggering: 5 Real Causes
Your n8n Error Trigger workflow never fires when a real workflow fails. Five confirmed causes from n8n Community threads in 2026, and the fix for each.
Supabase Edge Function BOOT_ERROR: Fix "Failed to Bootstrap"
Supabase Edge Function returns {"code":"BOOT_ERROR"}? Here is how to tell apart the four real causes — bad imports, Deno syntax, CLI version, wrong entrypoint.
Fix barrel_optimize Build Warnings with MUI in Next.js
Why next build floods the terminal with __barrel_optimize__ warnings on @mui/material, when they are safe to ignore, and the three ways to stop them.
Fix Next.js 'Cannot Have a Negative Time Stamp' Error
Why Turbopack throws "cannot have a negative time stamp" on notFound() and redirect(), the upstream React bug behind it, and three workarounds that hold.
Next.js "Server Is Running Out of Memory" Fix (2026)
Next.js restarts with "server is running out of memory"? Find the real leak: the Turbopack dev fix, heap snapshots, and production memory levers.
Supabase "Database Error Saving New User" Trigger Fix
"Database error saving new user" is almost always a failing handle_new_user trigger. Find the real error in Postgres logs and fix the function.
Sign In to Supabase Without Email Verification (2026)
Disable Supabase email confirmation safely: dashboard toggle, admin API auto-confirm, and the RLS half-verified pattern — with the trade-offs.
Switch Databases in psql: The \connect Command (2026)
Switch databases in psql with \c — plus why USE database fails in Postgres, connection-string switching, and multi-database workflows.
n8n 'No testing function found for this credential' Fix
The n8n custom-node error "No testing function found for this credential" blocks the credential test UI. Here is the exact cause and the fix.
Next.js Scroll Resets When searchParams Change
Next.js App Router resets scroll position to top whenever searchParams update. Here is the root cause and the scroll-restoration fix that works.
Supabase OAuth access_token hash Stuck in URL
After Supabase OAuth sign-in, access_token and refresh_token hash fragments stay in the URL. Here is why and how to strip them with PKCE.
Stop the Supabase getSession() Security Warning
The Supabase "using getSession() is insecure" warning floods your logs. Here is why getUser() fixes it and where getSession() stays safe.
Next.js useSearchParams Suspense: Static Rendering Fix 2026
Build throws "useSearchParams() should be wrapped in a suspense boundary" at prerender. Wrap reads in <Suspense> and keep the static shell.
TypeScript in 2026: Install & Configure with Node.js 20+
Install the latest TypeScript on Node 20 LTS, align @types/node and @supabase/supabase-js, and fix the errors after a TS upgrade.
Fix "No Firebase App [DEFAULT] has been created" in Flutter
Fix the "No Firebase App [DEFAULT] has been created" error by correctly initializing the Firebase app before calling any Firebase services in Flutter.
Fix "Parsing error: Cannot find module next/babel"
Resolve ESLint's 'Cannot find module next/babel' error by updating .eslintrc.json and aligning with Next.js 13+ SWC/Babel config. Includes monorepo fixes.
Fix useEffect Running Twice in React 18 — Strict Mode
Why useEffect runs twice in development and how to fix it with cleanup, AbortController, or useRef — without disabling Strict Mode.
How to Set Up Idempotency Key in Next.js (Step by Step)
If Stripe charges run twice in your Next.js app, learn how to add an idempotency key to every request and stop duplicate payments.
cookies() Returns a Promise in Next.js 15/16: Fix
cookies() from next/headers returns a Promise since Next.js 15 — change const c = cookies() to const c = await cookies() and make the caller async.