<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Benjamin Fazli</title><description>A curious software engineer based in Skopje, North Macedonia, solving engineering problems, building products people use, and sharing what I learn along the way.</description><link>https://bfzli.com</link><language>en</language><item><title>Astro Hydration Mismatch Appears When Server and Client Render Different Text Content</title><link>https://bfzli.com/astro-hydration-mismatch-appears-when-server-and-client-render-different-text-content</link><guid isPermaLink="true">https://bfzli.com/astro-hydration-mismatch-appears-when-server-and-client-render-different-text-content</guid><description>Astro throws a hydration mismatch when a component renders different text on the server and in the browser.</description><pubDate>Mon, 02 Nov 2026 00:00:00 GMT</pubDate><category>astro</category><category>hydration</category><category>ssr</category><category>client-side</category><category>rendering</category></item><item><title>Vite Throws `Module &quot;fs&quot; has been externalized for browser compatibility` When Browser Code Imports Node Built-ins</title><link>https://bfzli.com/vite-throws-module-fs-has-been-externalized-for-browser-compatibility-when-browser-code-imports-node-built-ins</link><guid isPermaLink="true">https://bfzli.com/vite-throws-module-fs-has-been-externalized-for-browser-compatibility-when-browser-code-imports-node-built-ins</guid><description>Explain why Vite externalizes Node built-ins in browser bundles and how to keep server-only modules out of client code.</description><pubDate>Sun, 01 Nov 2026 00:00:00 GMT</pubDate><category>vite</category><category>browser-bundle</category><category>node-builtins</category><category>ssr</category><category>rollup</category></item><item><title>Cloudflare Workers Read `undefined` Environment Bindings Because `wrangler.toml` Does Not Declare Them</title><link>https://bfzli.com/cloudflare-workers-read-undefined-environment-bindings-because-wrangler-toml-does-not-declare-them</link><guid isPermaLink="true">https://bfzli.com/cloudflare-workers-read-undefined-environment-bindings-because-wrangler-toml-does-not-declare-them</guid><description>Show why a Worker sees missing secrets or vars at runtime and how to define bindings in `wrangler.toml` correctly.</description><pubDate>Sat, 31 Oct 2026 00:00:00 GMT</pubDate><category>cloudflare-workers</category><category>wrangler</category><category>env</category><category>bindings</category><category>deployment</category></item><item><title>Nginx Sends the Wrong Host Header to an Upstream App Behind a Reverse Proxy</title><link>https://bfzli.com/nginx-sends-the-wrong-host-header-to-an-upstream-app-behind-a-reverse-proxy</link><guid isPermaLink="true">https://bfzli.com/nginx-sends-the-wrong-host-header-to-an-upstream-app-behind-a-reverse-proxy</guid><description>Show how Nginx rewrites Host and `X-Forwarded-*` headers and how to preserve the original domain upstream.</description><pubDate>Fri, 30 Oct 2026 00:00:00 GMT</pubDate><category>nginx</category><category>reverse-proxy</category><category>headers</category><category>host</category><category>forwarded</category></item><item><title>Remix Loses Session Cookies on a Cross-Site Callback Because `SameSite` Blocks the Cookie</title><link>https://bfzli.com/remix-loses-session-cookies-on-a-cross-site-callback-because-samesite-blocks-the-cookie</link><guid isPermaLink="true">https://bfzli.com/remix-loses-session-cookies-on-a-cross-site-callback-because-samesite-blocks-the-cookie</guid><description>Explain why a Remix session cookie disappears on a third-party redirect and how to set cookie attributes correctly.</description><pubDate>Thu, 29 Oct 2026 00:00:00 GMT</pubDate><category>remix</category><category>cookies</category><category>sessions</category><category>same-site</category><category>auth</category></item><item><title>Deno Fails to Resolve an npm Package Imported Without the `npm:` Prefix</title><link>https://bfzli.com/deno-fails-to-resolve-an-npm-package-imported-without-the-npm-prefix</link><guid isPermaLink="true">https://bfzli.com/deno-fails-to-resolve-an-npm-package-imported-without-the-npm-prefix</guid><description>Show why Deno treats bare npm specifiers differently and how to import packages with the right resolver rules.</description><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate><category>deno</category><category>npm</category><category>module-resolution</category><category>import-maps</category></item><item><title>Cloudflare Workers Reject a Second Read with `TypeError: body used already` After `request.text()`</title><link>https://bfzli.com/cloudflare-workers-reject-a-second-read-with-typeerror-body-used-already-after-request-text</link><guid isPermaLink="true">https://bfzli.com/cloudflare-workers-reject-a-second-read-with-typeerror-body-used-already-after-request-text</guid><description>Fix Workers handlers that consume a request body twice and learn when to clone or cache the parsed data.</description><pubDate>Tue, 27 Oct 2026 00:00:00 GMT</pubDate><category>cloudflare-workers</category><category>fetch</category><category>request-body</category><category>javascript</category><category>edge</category></item><item><title>ESLint Fails with `Parsing error: Cannot read file tsconfig.json` After Switching to Flat Config</title><link>https://bfzli.com/eslint-fails-with-parsing-error-cannot-read-file-tsconfig-json-after-switching-to-flat-config</link><guid isPermaLink="true">https://bfzli.com/eslint-fails-with-parsing-error-cannot-read-file-tsconfig-json-after-switching-to-flat-config</guid><description>Explain why ESLint can no longer find the TypeScript project file and how to point the parser at the right path.</description><pubDate>Mon, 26 Oct 2026 00:00:00 GMT</pubDate><category>eslint</category><category>typescript</category><category>flat-config</category><category>parser</category><category>lint</category></item><item><title>Vercel Builds a Next.js App with `process.env` Undefined in Client Code</title><link>https://bfzli.com/vercel-builds-a-next-js-app-with-process-env-undefined-in-client-code</link><guid isPermaLink="true">https://bfzli.com/vercel-builds-a-next-js-app-with-process-env-undefined-in-client-code</guid><description>Show why browser bundles cannot read server-only env vars and how to separate build-time, server, and client values.</description><pubDate>Sun, 25 Oct 2026 00:00:00 GMT</pubDate><category>vercel</category><category>nextjs</category><category>environment-variables</category><category>build</category><category>client</category></item><item><title>Turborepo Keeps Rebuilding the Same Package Because a Task Writes Into Its Own Input Directory</title><link>https://bfzli.com/turborepo-keeps-rebuilding-the-same-package-because-a-task-writes-into-its-own-input-directory</link><guid isPermaLink="true">https://bfzli.com/turborepo-keeps-rebuilding-the-same-package-because-a-task-writes-into-its-own-input-directory</guid><description>Stop a watch loop caused by generated files landing inside a task&apos;s watched inputs and triggering endless rebuilds.</description><pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate><category>turborepo</category><category>monorepo</category><category>watch</category><category>build</category><category>filesystem</category></item><item><title>Electron Fails with `ipcRenderer is undefined` When the Preload Bridge Is Not Exposed Through `contextBridge`</title><link>https://bfzli.com/electron-fails-with-ipcrenderer-is-undefined-when-the-preload-bridge-is-not-exposed-through-contextbridge</link><guid isPermaLink="true">https://bfzli.com/electron-fails-with-ipcrenderer-is-undefined-when-the-preload-bridge-is-not-exposed-through-contextbridge</guid><description>Explain why a renderer cannot see `ipcRenderer` under context isolation and how to expose only the API you need.</description><pubDate>Fri, 23 Oct 2026 00:00:00 GMT</pubDate><category>electron</category><category>ipc</category><category>preload</category><category>contextbridge</category><category>security</category></item><item><title>Remix Sends a Form Submission to the Wrong Route Because the `action` Path Is Relative</title><link>https://bfzli.com/remix-sends-a-form-submission-to-the-wrong-route-because-the-action-path-is-relative</link><guid isPermaLink="true">https://bfzli.com/remix-sends-a-form-submission-to-the-wrong-route-because-the-action-path-is-relative</guid><description>Fix Remix forms that post to an unexpected sibling route when a relative action path resolves against the current URL.</description><pubDate>Thu, 22 Oct 2026 00:00:00 GMT</pubDate><category>remix</category><category>forms</category><category>routing</category><category>action</category><category>javascript</category></item><item><title>Express Leaves `/api/users` Unreachable When the Router Mounts After the Catch-All</title><link>https://bfzli.com/express-leaves-api-users-unreachable-when-the-router-mounts-after-the-catch-all</link><guid isPermaLink="true">https://bfzli.com/express-leaves-api-users-unreachable-when-the-router-mounts-after-the-catch-all</guid><description>Show why a later catch-all route shadows mounted Express routers and how to order middleware so nested routes resolve correctly.</description><pubDate>Wed, 21 Oct 2026 00:00:00 GMT</pubDate><category>express</category><category>routing</category><category>middleware</category><category>nodejs</category><category>http</category></item><item><title>React Native Metro Rejects an Image Import with &quot;Requiring unknown module&quot; for a File Outside the Project Root</title><link>https://bfzli.com/react-native-metro-rejects-an-image-import-with-requiring-unknown-module-for-a-file-outside-the-project-root</link><guid isPermaLink="true">https://bfzli.com/react-native-metro-rejects-an-image-import-with-requiring-unknown-module-for-a-file-outside-the-project-root</guid><description>Explain why Metro fails on image imports that resolve outside the bundle root and how to restructure or alias the asset path.</description><pubDate>Tue, 20 Oct 2026 00:00:00 GMT</pubDate><category>react-native</category><category>metro</category><category>bundler</category><category>assets</category><category>javascript</category></item><item><title>Next.js Hydration Mismatch: CSS Module Class Names Render Differently on Server and Client</title><link>https://bfzli.com/next-js-hydration-mismatch-css-module-class-names-render-differently-on-server-and-client</link><guid isPermaLink="true">https://bfzli.com/next-js-hydration-mismatch-css-module-class-names-render-differently-on-server-and-client</guid><description>Fix hydration errors caused by mismatched CSS Module class names between server-rendered HTML and client hydration.</description><pubDate>Mon, 19 Oct 2026 00:00:00 GMT</pubDate><category>nextjs</category><category>react</category><category>hydration</category><category>css-modules</category><category>ssr</category></item><item><title>Astro Serves Broken Images After Deployment Because the Asset Path Points at the Wrong Origin</title><link>https://bfzli.com/astro-serves-broken-images-after-deployment-because-the-asset-path-points-at-the-wrong-origin</link><guid isPermaLink="true">https://bfzli.com/astro-serves-broken-images-after-deployment-because-the-asset-path-points-at-the-wrong-origin</guid><description>Fix deployed Astro pages that load HTML but 404 their CSS, JS, or image assets from an incorrect public path.</description><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate><category>astro</category><category>assets</category><category>deployment</category><category>static-site</category></item><item><title>Remix Reads `process.env` in a Route Loader but the Variable Is Undefined in Production</title><link>https://bfzli.com/remix-reads-process-env-in-a-route-loader-but-the-variable-is-undefined-in-production</link><guid isPermaLink="true">https://bfzli.com/remix-reads-process-env-in-a-route-loader-but-the-variable-is-undefined-in-production</guid><description>Fix route loaders and actions that work locally but lose environment values after deployment or adapter changes.</description><pubDate>Wed, 14 Oct 2026 00:00:00 GMT</pubDate><category>remix</category><category>env</category><category>loader</category><category>deployment</category></item><item><title>Nginx Closes a WebSocket Connection After the Upgrade Because the Timeout Is Too Low</title><link>https://bfzli.com/nginx-closes-a-websocket-connection-after-the-upgrade-because-the-timeout-is-too-low</link><guid isPermaLink="true">https://bfzli.com/nginx-closes-a-websocket-connection-after-the-upgrade-because-the-timeout-is-too-low</guid><description>Fix an Nginx reverse proxy that accepts a WebSocket upgrade but drops the socket during idle periods.</description><pubDate>Tue, 13 Oct 2026 00:00:00 GMT</pubDate><category>nginx</category><category>websocket</category><category>proxy</category><category>timeout</category><category>reverse-proxy</category></item><item><title>FastAPI Rejects a JSON Request with 422 Because the Pydantic Model Does Not Match the Payload</title><link>https://bfzli.com/fastapi-rejects-a-json-request-with-422-because-the-pydantic-model-does-not-match-the-payload</link><guid isPermaLink="true">https://bfzli.com/fastapi-rejects-a-json-request-with-422-because-the-pydantic-model-does-not-match-the-payload</guid><description>Fix a FastAPI validation error caused by field names, types, or nesting that do not match the incoming JSON body.</description><pubDate>Mon, 12 Oct 2026 00:00:00 GMT</pubDate><category>fastapi</category><category>pydantic</category><category>python</category><category>validation</category><category>json</category></item><item><title>Cargo Builds a Rust CLI but the Installed Command Never Appears in PATH</title><link>https://bfzli.com/cargo-builds-a-rust-cli-but-the-installed-command-never-appears-in-path</link><guid isPermaLink="true">https://bfzli.com/cargo-builds-a-rust-cli-but-the-installed-command-never-appears-in-path</guid><description>Fix a Rust package that compiles but does not install a runnable binary because the crate metadata is incomplete.</description><pubDate>Sun, 11 Oct 2026 00:00:00 GMT</pubDate><category>rust</category><category>cargo</category><category>cli</category><category>publishing</category><category>binary</category></item><item><title>Go Fails to Accept Local Requests Because net/http Listens on the Wrong Interface</title><link>https://bfzli.com/go-fails-to-accept-local-requests-because-net-http-listens-on-the-wrong-interface</link><guid isPermaLink="true">https://bfzli.com/go-fails-to-accept-local-requests-because-net-http-listens-on-the-wrong-interface</guid><description>Fix a Go server that starts cleanly but refuses local connections because it bound to the wrong host or port.</description><pubDate>Sat, 10 Oct 2026 00:00:00 GMT</pubDate><category>go</category><category>net-http</category><category>localhost</category><category>networking</category><category>server</category></item><item><title>Next.js Server Components Return Stale Data After a Mutation Because the Cache Was Not Invalidated</title><link>https://bfzli.com/next-js-server-components-return-stale-data-after-a-mutation-because-the-cache-was-not-invalidated</link><guid isPermaLink="true">https://bfzli.com/next-js-server-components-return-stale-data-after-a-mutation-because-the-cache-was-not-invalidated</guid><description>Fix stale server-rendered data in Next.js after a write operation by revalidating the affected path or tag.</description><pubDate>Fri, 09 Oct 2026 00:00:00 GMT</pubDate><category>nextjs</category><category>react-server-components</category><category>cache</category><category>revalidate</category><category>app-router</category></item><item><title>Cloudflare Workers Fails to Serve a Custom Domain After the Route Is Missing in wrangler.toml</title><link>https://bfzli.com/cloudflare-workers-fails-to-serve-a-custom-domain-after-the-route-is-missing-in-wrangler-toml</link><guid isPermaLink="true">https://bfzli.com/cloudflare-workers-fails-to-serve-a-custom-domain-after-the-route-is-missing-in-wrangler-toml</guid><description>Fix a Worker that deploys but never answers traffic on its custom domain because the route binding is absent.</description><pubDate>Thu, 08 Oct 2026 00:00:00 GMT</pubDate><category>cloudflare-workers</category><category>wrangler</category><category>domains</category><category>routes</category><category>deployment</category></item><item><title>Bun Locks a SQLite Database During a Migration and Other Requests Stall</title><link>https://bfzli.com/bun-locks-a-sqlite-database-during-a-migration-and-other-requests-stall</link><guid isPermaLink="true">https://bfzli.com/bun-locks-a-sqlite-database-during-a-migration-and-other-requests-stall</guid><description>Explain why Bun migrations can block SQLite access and how to avoid long exclusive locks.</description><pubDate>Wed, 07 Oct 2026 00:00:00 GMT</pubDate><category>bun</category><category>sqlite</category><category>migrations</category><category>database</category><category>concurrency</category></item><item><title>Astro Proxies a Cross-Origin API Request but Drops Cookies and Authorization Headers</title><link>https://bfzli.com/astro-proxies-a-cross-origin-api-request-but-drops-cookies-and-authorization-headers</link><guid isPermaLink="true">https://bfzli.com/astro-proxies-a-cross-origin-api-request-but-drops-cookies-and-authorization-headers</guid><description>Fix an Astro endpoint that forwards cross-origin requests without preserving credentials or auth headers.</description><pubDate>Tue, 06 Oct 2026 00:00:00 GMT</pubDate><category>astro</category><category>api</category><category>cors</category><category>cookies</category><category>fetch</category></item><item><title>Bun Starts a Package Binary but the Command Is Not Found in `node_modules/.bin`</title><link>https://bfzli.com/bun-starts-a-package-binary-but-the-command-is-not-found-in-node-modules-bin</link><guid isPermaLink="true">https://bfzli.com/bun-starts-a-package-binary-but-the-command-is-not-found-in-node-modules-bin</guid><description>Why a Bun-installed CLI fails to launch from a package binary and how to expose the executable correctly.</description><pubDate>Mon, 05 Oct 2026 00:00:00 GMT</pubDate><category>bun</category><category>cli</category><category>package-json</category><category>bin</category><category>packaging</category></item><item><title>Docker Compose Cannot Resolve a Service Name Because the Container Is on the Wrong Network</title><link>https://bfzli.com/docker-compose-cannot-resolve-a-service-name-because-the-container-is-on-the-wrong-network</link><guid isPermaLink="true">https://bfzli.com/docker-compose-cannot-resolve-a-service-name-because-the-container-is-on-the-wrong-network</guid><description>Why one Compose service cannot reach another by name and how network membership controls DNS resolution.</description><pubDate>Sun, 04 Oct 2026 00:00:00 GMT</pubDate><category>docker</category><category>docker-compose</category><category>networking</category><category>dns</category><category>containers</category></item><item><title>React Native Android Fails with &quot;Duplicate class&quot; During Gradle Compilation</title><link>https://bfzli.com/react-native-android-fails-with-duplicate-class-during-gradle-compilation</link><guid isPermaLink="true">https://bfzli.com/react-native-android-fails-with-duplicate-class-during-gradle-compilation</guid><description>Why Android builds stop on duplicate classes in React Native and how to identify the conflicting dependency.</description><pubDate>Sat, 03 Oct 2026 00:00:00 GMT</pubDate><category>react-native</category><category>android</category><category>gradle</category><category>dependencies</category><category>build</category></item><item><title>Nuxt Breaks in the Browser When a Client Component Imports a Server-Only Composable</title><link>https://bfzli.com/nuxt-breaks-in-the-browser-when-a-client-component-imports-a-server-only-composable</link><guid isPermaLink="true">https://bfzli.com/nuxt-breaks-in-the-browser-when-a-client-component-imports-a-server-only-composable</guid><description>Why a browser component crashes after importing a composable that touches server-only APIs in Nuxt.</description><pubDate>Fri, 02 Oct 2026 00:00:00 GMT</pubDate><category>nuxt</category><category>vue</category><category>ssr</category><category>composables</category><category>runtime</category></item><item><title>Next.js Loads a Self-Hosted Font with FOIT After `next/font` Is Skipped</title><link>https://bfzli.com/next-js-loads-a-self-hosted-font-with-foit-after-next-font-is-skipped</link><guid isPermaLink="true">https://bfzli.com/next-js-loads-a-self-hosted-font-with-foit-after-next-font-is-skipped</guid><description>How a self-hosted font flashes or swaps late in Next.js when it bypasses `next/font` optimization.</description><pubDate>Thu, 01 Oct 2026 00:00:00 GMT</pubDate><category>nextjs</category><category>fonts</category><category>performance</category><category>css</category><category>layout</category></item><item><title>Next.js Route Handlers Throw TypeError: Body has already been read After Parsing `request.json()` Twice</title><link>https://bfzli.com/next-js-route-handlers-throw-typeerror-body-has-already-been-read-after-parsing-request-json-twice</link><guid isPermaLink="true">https://bfzli.com/next-js-route-handlers-throw-typeerror-body-has-already-been-read-after-parsing-request-json-twice</guid><description>Why a Next.js route handler fails after the request body is consumed more than once, and how to preserve the stream.</description><pubDate>Wed, 30 Sep 2026 00:00:00 GMT</pubDate><category>nextjs</category><category>route-handlers</category><category>request-body</category><category>fetch</category><category>streaming</category></item><item><title>Vite Builds Succeed but the Server Serves the Wrong `dist` Folder</title><link>https://bfzli.com/vite-builds-succeed-but-the-server-serves-the-wrong-dist-folder</link><guid isPermaLink="true">https://bfzli.com/vite-builds-succeed-but-the-server-serves-the-wrong-dist-folder</guid><description>Why a deployment can show an old or empty app after a successful Vite build, and how to point the server at the right output.</description><pubDate>Tue, 29 Sep 2026 00:00:00 GMT</pubDate><category>vite</category><category>deployment</category><category>dist</category><category>hosting</category><category>build</category></item><item><title>Bun Publishes a CLI That Runs Without `node_modules/.bin` When the Binary Field Is Wrong</title><link>https://bfzli.com/bun-publishes-a-cli-that-runs-without-node-modules-bin-when-the-binary-field-is-wrong</link><guid isPermaLink="true">https://bfzli.com/bun-publishes-a-cli-that-runs-without-node-modules-bin-when-the-binary-field-is-wrong</guid><description>How a Bun package can ship successfully but expose no working command because the bin entry points at the wrong file.</description><pubDate>Mon, 28 Sep 2026 00:00:00 GMT</pubDate><category>bun</category><category>cli</category><category>publishing</category><category>package-json</category><category>npm</category></item><item><title>Cloudflare Workers Scheduled Triggers Never Run Because the Cron Pattern Is Missing from `wrangler.toml`</title><link>https://bfzli.com/cloudflare-workers-scheduled-triggers-never-run-because-the-cron-pattern-is-missing-from-wrangler-toml</link><guid isPermaLink="true">https://bfzli.com/cloudflare-workers-scheduled-triggers-never-run-because-the-cron-pattern-is-missing-from-wrangler-toml</guid><description>Why a Worker deploys successfully but its scheduled job never fires, and how to register the cron trigger correctly.</description><pubDate>Sun, 27 Sep 2026 00:00:00 GMT</pubDate><category>cloudflare-workers</category><category>cron</category><category>wrangler</category><category>scheduled-triggers</category><category>edge</category></item><item><title>Hono Sends an Empty Response When a Handler Forgets to Return `c.text()`</title><link>https://bfzli.com/hono-sends-an-empty-response-when-a-handler-forgets-to-return-c-text</link><guid isPermaLink="true">https://bfzli.com/hono-sends-an-empty-response-when-a-handler-forgets-to-return-c-text</guid><description>How a Hono route can finish without a body when the handler does not return the response object.</description><pubDate>Sat, 26 Sep 2026 00:00:00 GMT</pubDate><category>hono</category><category>http</category><category>routing</category><category>response</category><category>middleware</category></item><item><title>Node CLI Fails with ERR_REQUIRE_ESM When `require()` Loads an ESM Dependency</title><link>https://bfzli.com/node-cli-fails-with-err-require-esm-when-require-loads-an-esm-dependency</link><guid isPermaLink="true">https://bfzli.com/node-cli-fails-with-err-require-esm-when-require-loads-an-esm-dependency</guid><description>Why a published Node CLI crashes on startup when CommonJS reaches an ESM-only package, and how to fix the import boundary.</description><pubDate>Fri, 25 Sep 2026 00:00:00 GMT</pubDate><category>node</category><category>cli</category><category>esm</category><category>commonjs</category><category>package-json</category></item><item><title>SvelteKit Tests Throw ReferenceError: window is not defined in JSDOM</title><link>https://bfzli.com/sveltekit-tests-throw-referenceerror-window-is-not-defined-in-jsdom</link><guid isPermaLink="true">https://bfzli.com/sveltekit-tests-throw-referenceerror-window-is-not-defined-in-jsdom</guid><description>Why browser globals are missing in SvelteKit tests and how to run server-only code under a DOM-aware test environment.</description><pubDate>Thu, 24 Sep 2026 00:00:00 GMT</pubDate><category>sveltekit</category><category>testing</category><category>jsdom</category><category>vitest</category><category>node</category></item><item><title>Dockerfile Builds a Next.js App, Then Node Crashes with &quot;ERR_OSSL_EVP_UNSUPPORTED&quot;</title><link>https://bfzli.com/dockerfile-builds-a-next-js-app-then-node-crashes-with-err-ossl-evp-unsupported</link><guid isPermaLink="true">https://bfzli.com/dockerfile-builds-a-next-js-app-then-node-crashes-with-err-ossl-evp-unsupported</guid><description>A Docker image with the wrong Node or OpenSSL version can break Next.js builds; align the base image and runtime.</description><pubDate>Wed, 23 Sep 2026 00:00:00 GMT</pubDate><category>docker</category><category>nextjs</category><category>node</category><category>openssl</category></item><item><title>Postgres Generates Duplicate IDs After a Manual Import Leaves the Sequence Behind</title><link>https://bfzli.com/postgres-generates-duplicate-ids-after-a-manual-import-leaves-the-sequence-behind</link><guid isPermaLink="true">https://bfzli.com/postgres-generates-duplicate-ids-after-a-manual-import-leaves-the-sequence-behind</guid><description>Postgres inserts collide when an imported table’s sequence is lower than existing rows; reset the sequence to match the data.</description><pubDate>Tue, 22 Sep 2026 00:00:00 GMT</pubDate><category>postgres</category><category>sql</category><category>sequence</category><category>migrations</category></item><item><title>Deno Fails a Fetch Call with &quot;Requires net access&quot; in a Worker</title><link>https://bfzli.com/deno-fails-a-fetch-call-with-requires-net-access-in-a-worker</link><guid isPermaLink="true">https://bfzli.com/deno-fails-a-fetch-call-with-requires-net-access-in-a-worker</guid><description>Deno blocks outbound requests without the right permission flags or allowlist; grant network access for the target host.</description><pubDate>Mon, 21 Sep 2026 00:00:00 GMT</pubDate><category>deno</category><category>permissions</category><category>fetch</category><category>workers</category></item><item><title>Vite Dev Server Fails to Start with &quot;Port 5173 is already in use&quot;</title><link>https://bfzli.com/vite-dev-server-fails-to-start-with-port-5173-is-already-in-use</link><guid isPermaLink="true">https://bfzli.com/vite-dev-server-fails-to-start-with-port-5173-is-already-in-use</guid><description>Vite stops before serving when another process already binds the default port; free the port or choose a new one safely.</description><pubDate>Sun, 20 Sep 2026 00:00:00 GMT</pubDate><category>vite</category><category>dev-server</category><category>port</category><category>localhost</category></item><item><title>Next.js Route Handler Buffers Server-Sent Events and the Client Never Receives Updates</title><link>https://bfzli.com/next-js-route-handler-buffers-server-sent-events-and-the-client-never-receives-updates</link><guid isPermaLink="true">https://bfzli.com/next-js-route-handler-buffers-server-sent-events-and-the-client-never-receives-updates</guid><description>Next.js can buffer SSE responses unless the handler returns a streaming response with the right headers and runtime.</description><pubDate>Sat, 19 Sep 2026 00:00:00 GMT</pubDate><category>nextjs</category><category>sse</category><category>streaming</category><category>route-handlers</category></item><item><title>Nuxt Scheduled Task Never Runs Because Nitro Cron Is Not Registered</title><link>https://bfzli.com/nuxt-scheduled-task-never-runs-because-nitro-cron-is-not-registered</link><guid isPermaLink="true">https://bfzli.com/nuxt-scheduled-task-never-runs-because-nitro-cron-is-not-registered</guid><description>Nuxt cron jobs stay silent when Nitro never registers the scheduled route or preset; fix the task registration and deployment target.</description><pubDate>Fri, 18 Sep 2026 00:00:00 GMT</pubDate><category>nuxt</category><category>nitro</category><category>cron</category><category>scheduled-tasks</category></item><item><title>Cloudflare Pages Build Fails with &quot;require is not defined&quot; After a CommonJS Import</title><link>https://bfzli.com/cloudflare-pages-build-fails-with-require-is-not-defined-after-a-commonjs-import</link><guid isPermaLink="true">https://bfzli.com/cloudflare-pages-build-fails-with-require-is-not-defined-after-a-commonjs-import</guid><description>Cloudflare Pages breaks when a build step loads CommonJS code in an ESM-only runtime; fix the module format mismatch.</description><pubDate>Thu, 17 Sep 2026 00:00:00 GMT</pubDate><category>cloudflare-pages</category><category>esm</category><category>commonjs</category><category>build</category></item><item><title>Vite Refuses a CSS Import from `node_modules` with &quot;does not exist under root&quot; During Build</title><link>https://bfzli.com/vite-refuses-a-css-import-from-node-modules-with-does-not-exist-under-root-during-build</link><guid isPermaLink="true">https://bfzli.com/vite-refuses-a-css-import-from-node-modules-with-does-not-exist-under-root-during-build</guid><description>A production build can fail when a stylesheet import points outside Vite’s project root or references an unsupported path.</description><pubDate>Wed, 16 Sep 2026 00:00:00 GMT</pubDate><category>vite</category><category>css</category><category>build</category><category>assets</category><category>node-modules</category></item><item><title>Docker Cannot Reach Postgres on localhost Because the App Container Resolves Its Own Loopback Interface</title><link>https://bfzli.com/docker-cannot-reach-postgres-on-localhost-because-the-app-container-resolves-its-own-loopback-interface</link><guid isPermaLink="true">https://bfzli.com/docker-cannot-reach-postgres-on-localhost-because-the-app-container-resolves-its-own-loopback-interface</guid><description>A containerized app fails to connect to `localhost` because `127.0.0.1` points at the container, not the database host.</description><pubDate>Tue, 15 Sep 2026 00:00:00 GMT</pubDate><category>docker</category><category>postgres</category><category>networking</category><category>container</category><category>localhost</category></item><item><title>Nuxt Ignores a Client-Only Widget During Static Generation Because the Page Was Rendered at Build Time</title><link>https://bfzli.com/nuxt-ignores-a-client-only-widget-during-static-generation-because-the-page-was-rendered-at-build-time</link><guid isPermaLink="true">https://bfzli.com/nuxt-ignores-a-client-only-widget-during-static-generation-because-the-page-was-rendered-at-build-time</guid><description>A widget that depends on browser APIs disappears or fails when Nuxt prerenders the page as static HTML.</description><pubDate>Mon, 14 Sep 2026 00:00:00 GMT</pubDate><category>nuxt</category><category>ssg</category><category>prerender</category><category>client-only</category><category>nitro</category></item><item><title>Hono Loses Session Cookies on Cross-Origin Requests Because `fetch` Never Sends Credentials</title><link>https://bfzli.com/hono-loses-session-cookies-on-cross-origin-requests-because-fetch-never-sends-credentials</link><guid isPermaLink="true">https://bfzli.com/hono-loses-session-cookies-on-cross-origin-requests-because-fetch-never-sends-credentials</guid><description>Cookie-based auth fails when browser requests omit credentials or the response omits the correct CORS cookie headers.</description><pubDate>Sun, 13 Sep 2026 00:00:00 GMT</pubDate><category>hono</category><category>cookies</category><category>cors</category><category>session</category><category>fetch</category></item><item><title>Express Rejects Stripe Webhooks with a Signature Mismatch When JSON Middleware Consumes the Raw Body</title><link>https://bfzli.com/express-rejects-stripe-webhooks-with-a-signature-mismatch-when-json-middleware-consumes-the-raw-body</link><guid isPermaLink="true">https://bfzli.com/express-rejects-stripe-webhooks-with-a-signature-mismatch-when-json-middleware-consumes-the-raw-body</guid><description>Stripe signature verification fails when Express parses the request body before you compute the webhook HMAC.</description><pubDate>Sat, 12 Sep 2026 00:00:00 GMT</pubDate><category>express</category><category>stripe</category><category>webhook</category><category>raw-body</category><category>middleware</category></item><item><title>React Native Android Fails with &quot;Unable to resolve module&quot; After a Native Package Is Added to the Bundle</title><link>https://bfzli.com/react-native-android-fails-with-unable-to-resolve-module-after-a-native-package-is-added-to-the-bundle</link><guid isPermaLink="true">https://bfzli.com/react-native-android-fails-with-unable-to-resolve-module-after-a-native-package-is-added-to-the-bundle</guid><description>A release build can fail when Metro cannot bundle a dependency that imports Node or unlinked native code.</description><pubDate>Fri, 11 Sep 2026 00:00:00 GMT</pubDate><category>react-native</category><category>android</category><category>metro</category><category>bundle</category><category>native-modules</category></item><item><title>SvelteKit Breaks Prerender with &quot;window is not defined&quot; When a Server File Imports Browser Code</title><link>https://bfzli.com/sveltekit-breaks-prerender-with-window-is-not-defined-when-a-server-file-imports-browser-code</link><guid isPermaLink="true">https://bfzli.com/sveltekit-breaks-prerender-with-window-is-not-defined-when-a-server-file-imports-browser-code</guid><description>Prerendered SvelteKit pages crash when server-side code pulls in a browser-only module that touches `window` during build.</description><pubDate>Thu, 10 Sep 2026 00:00:00 GMT</pubDate><category>sveltekit</category><category>prerender</category><category>ssr</category><category>window</category><category>build</category></item><item><title>Nginx Proxies a WebSocket Endpoint but the Client Fails the Upgrade with `400 Bad Request`</title><link>https://bfzli.com/nginx-proxies-a-websocket-endpoint-but-the-client-fails-the-upgrade-with-400-bad-request</link><guid isPermaLink="true">https://bfzli.com/nginx-proxies-a-websocket-endpoint-but-the-client-fails-the-upgrade-with-400-bad-request</guid><description>Fix WebSocket proxying by forwarding the upgrade headers and using the right HTTP version.</description><pubDate>Wed, 09 Sep 2026 00:00:00 GMT</pubDate><category>nginx</category><category>websocket</category><category>proxy</category><category>headers</category></item><item><title>Docker Compose Starts an API Before Postgres Is Ready and the App Logs `ECONNREFUSED`</title><link>https://bfzli.com/docker-compose-starts-an-api-before-postgres-is-ready-and-the-app-logs-econnrefused</link><guid isPermaLink="true">https://bfzli.com/docker-compose-starts-an-api-before-postgres-is-ready-and-the-app-logs-econnrefused</guid><description>Use health checks and dependency conditions so Compose waits for Postgres instead of starting the app too early.</description><pubDate>Tue, 08 Sep 2026 00:00:00 GMT</pubDate><category>docker</category><category>compose</category><category>postgres</category><category>healthcheck</category></item><item><title>Node Imports a Local ESM File as `[ERR_MODULE_NOT_FOUND]` Because the Path Is Not a File URL</title><link>https://bfzli.com/node-imports-a-local-esm-file-as-err-module-not-found-because-the-path-is-not-a-file-url</link><guid isPermaLink="true">https://bfzli.com/node-imports-a-local-esm-file-as-err-module-not-found-because-the-path-is-not-a-file-url</guid><description>Fix local ESM imports in Node when relative paths or missing extensions stop module resolution.</description><pubDate>Mon, 07 Sep 2026 00:00:00 GMT</pubDate><category>node</category><category>esm</category><category>imports</category><category>filesystem</category></item><item><title>Remix Streams `defer()` Data but the Page Stalls Because No `&lt;Await&gt;` Boundary Wraps It</title><link>https://bfzli.com/remix-streams-defer-data-but-the-page-stalls-because-no-await-boundary-wraps-it</link><guid isPermaLink="true">https://bfzli.com/remix-streams-defer-data-but-the-page-stalls-because-no-await-boundary-wraps-it</guid><description>Make Remix deferred data render correctly by wiring the loader, suspense boundary, and fallback together.</description><pubDate>Sun, 06 Sep 2026 00:00:00 GMT</pubDate><category>remix</category><category>streaming</category><category>suspense</category><category>defer</category></item><item><title>Express Mounts a Router at the Wrong Path and Every Nested Route Returns `Cannot GET /api/...`</title><link>https://bfzli.com/express-mounts-a-router-at-the-wrong-path-and-every-nested-route-returns-cannot-get-api</link><guid isPermaLink="true">https://bfzli.com/express-mounts-a-router-at-the-wrong-path-and-every-nested-route-returns-cannot-get-api</guid><description>Fix router mounting mistakes that make Express serve 404s for routes that exist in the child router.</description><pubDate>Sat, 05 Sep 2026 00:00:00 GMT</pubDate><category>express</category><category>routing</category><category>router</category><category>http</category></item><item><title>Deno Fails to Run an npm Package Because `npm:` Imports Need an Explicit Permission or Lockfile Entry</title><link>https://bfzli.com/deno-fails-to-run-an-npm-package-because-npm-imports-need-an-explicit-permission-or-lockfile-entry</link><guid isPermaLink="true">https://bfzli.com/deno-fails-to-run-an-npm-package-because-npm-imports-need-an-explicit-permission-or-lockfile-entry</guid><description>Fix Deno package loading when an npm dependency is blocked, unresolved, or missing from the module graph.</description><pubDate>Fri, 04 Sep 2026 00:00:00 GMT</pubDate><category>deno</category><category>npm</category><category>imports</category><category>module-resolution</category></item><item><title>React Native Android Fails with `Plugin [id: &apos;com.facebook.react&apos;] was not found`</title><link>https://bfzli.com/react-native-android-fails-with-plugin-id-com-facebook-react-was-not-found</link><guid isPermaLink="true">https://bfzli.com/react-native-android-fails-with-plugin-id-com-facebook-react-was-not-found</guid><description>Resolve the Gradle plugin lookup failure that blocks Android builds after a React Native upgrade or template change.</description><pubDate>Thu, 03 Sep 2026 00:00:00 GMT</pubDate><category>react-native</category><category>android</category><category>gradle</category><category>kotlin</category></item><item><title>Hono Returns a CORS Failure When `Access-Control-Allow-Headers` Omits `Content-Type`</title><link>https://bfzli.com/hono-returns-a-cors-failure-when-access-control-allow-headers-omits-content-type</link><guid isPermaLink="true">https://bfzli.com/hono-returns-a-cors-failure-when-access-control-allow-headers-omits-content-type</guid><description>Fix Hono responses that fail browser preflight because the server does not allow the request headers the client sends.</description><pubDate>Wed, 02 Sep 2026 00:00:00 GMT</pubDate><category>hono</category><category>cors</category><category>preflight</category><category>headers</category></item><item><title>Cloudflare Workers Reject a WebSocket Upgrade Because the Response Is Not a 101 Switching Protocols Handshake</title><link>https://bfzli.com/cloudflare-workers-reject-a-websocket-upgrade-because-the-response-is-not-a-101-switching-protocols-handshake</link><guid isPermaLink="true">https://bfzli.com/cloudflare-workers-reject-a-websocket-upgrade-because-the-response-is-not-a-101-switching-protocols-handshake</guid><description>A WebSocket route fails when the Worker returns the wrong upgrade response shape.</description><pubDate>Tue, 01 Sep 2026 00:00:00 GMT</pubDate><category>cloudflare-workers</category><category>websocket</category><category>upgrade</category><category>http</category><category>edge</category></item><item><title>Node Resolves the Wrong File from `package.json` `exports` When the Default Condition Is Missing</title><link>https://bfzli.com/node-resolves-the-wrong-file-from-package-json-exports-when-the-default-condition-is-missing</link><guid isPermaLink="true">https://bfzli.com/node-resolves-the-wrong-file-from-package-json-exports-when-the-default-condition-is-missing</guid><description>A package can load the wrong build target if `exports` does not declare the condition Node is using.</description><pubDate>Mon, 31 Aug 2026 00:00:00 GMT</pubDate><category>node</category><category>package-json</category><category>exports</category><category>esm</category><category>commonjs</category></item><item><title>Electron Exposes `ipcRenderer` as `undefined` When Context Isolation Blocks the Preload Bridge</title><link>https://bfzli.com/electron-exposes-ipcrenderer-as-undefined-when-context-isolation-blocks-the-preload-bridge</link><guid isPermaLink="true">https://bfzli.com/electron-exposes-ipcrenderer-as-undefined-when-context-isolation-blocks-the-preload-bridge</guid><description>A renderer cannot access Electron APIs directly when context isolation removes the preload bridge.</description><pubDate>Sun, 30 Aug 2026 00:00:00 GMT</pubDate><category>electron</category><category>preload</category><category>context-isolation</category><category>ipc</category><category>security</category></item><item><title>Remix Sends Errors to the Wrong Boundary When a Loader Throws Outside Its Route</title><link>https://bfzli.com/remix-sends-errors-to-the-wrong-boundary-when-a-loader-throws-outside-its-route</link><guid isPermaLink="true">https://bfzli.com/remix-sends-errors-to-the-wrong-boundary-when-a-loader-throws-outside-its-route</guid><description>A thrown loader error can skip the expected boundary when the route hierarchy does not match the failing segment.</description><pubDate>Sat, 29 Aug 2026 00:00:00 GMT</pubDate><category>remix</category><category>loaders</category><category>error-boundary</category><category>routing</category><category>server-rendering</category></item><item><title>Next.js Client Navigation Stays Stuck on a Stale Page After `router.refresh()`</title><link>https://bfzli.com/next-js-client-navigation-stays-stuck-on-a-stale-page-after-router-refresh</link><guid isPermaLink="true">https://bfzli.com/next-js-client-navigation-stays-stuck-on-a-stale-page-after-router-refresh</guid><description>`router.refresh()` does not update a page when client state or caching keeps the old UI alive.</description><pubDate>Fri, 28 Aug 2026 00:00:00 GMT</pubDate><category>nextjs</category><category>app-router</category><category>navigation</category><category>cache</category><category>react</category></item><item><title>Bun Locks SQLite During Overlapping Writes with `SQLITE_BUSY`</title><link>https://bfzli.com/bun-locks-sqlite-during-overlapping-writes-with-sqlite-busy</link><guid isPermaLink="true">https://bfzli.com/bun-locks-sqlite-during-overlapping-writes-with-sqlite-busy</guid><description>Concurrent writes in Bun can stall or fail when SQLite holds a transaction lock too long.</description><pubDate>Thu, 27 Aug 2026 00:00:00 GMT</pubDate><category>bun</category><category>sqlite</category><category>transactions</category><category>locking</category><category>database</category></item><item><title>Astro Returns 404 When a Route Endpoint Lives in the Wrong Folder</title><link>https://bfzli.com/astro-returns-404-when-a-route-endpoint-lives-in-the-wrong-folder</link><guid isPermaLink="true">https://bfzli.com/astro-returns-404-when-a-route-endpoint-lives-in-the-wrong-folder</guid><description>Astro 404s on an endpoint when the file is placed outside the route convention or named incorrectly.</description><pubDate>Wed, 26 Aug 2026 00:00:00 GMT</pubDate><category>astro</category><category>routing</category><category>endpoints</category><category>404</category><category>filesystem</category></item><item><title>Cloudflare Workers Reject `crypto.createHash()` with `ReferenceError: crypto is not defined`</title><link>https://bfzli.com/cloudflare-workers-reject-crypto-createhash-with-referenceerror-crypto-is-not-defined</link><guid isPermaLink="true">https://bfzli.com/cloudflare-workers-reject-crypto-createhash-with-referenceerror-crypto-is-not-defined</guid><description>A Node crypto API crashes in Workers because the runtime exposes Web Crypto, not `node:crypto` globals.</description><pubDate>Tue, 25 Aug 2026 00:00:00 GMT</pubDate><category>cloudflare-workers</category><category>crypto</category><category>edge-runtime</category><category>web-crypto</category><category>nodejs</category></item><item><title>Node.js Fails to Start a Published CLI with Error: Cannot find module &apos;/package.json&apos;</title><link>https://bfzli.com/node-js-fails-to-start-a-published-cli-with-error-cannot-find-module-package-json</link><guid isPermaLink="true">https://bfzli.com/node-js-fails-to-start-a-published-cli-with-error-cannot-find-module-package-json</guid><description>A packaged CLI crashes because the entrypoint resolves package metadata from the wrong location.</description><pubDate>Mon, 24 Aug 2026 00:00:00 GMT</pubDate><category>node</category><category>cli</category><category>npm</category><category>packaging</category><category>esm</category></item><item><title>Hono Cannot Match `c.req.param()` When a Static Route Shadows a Dynamic One</title><link>https://bfzli.com/hono-cannot-match-c-req-param-when-a-static-route-shadows-a-dynamic-one</link><guid isPermaLink="true">https://bfzli.com/hono-cannot-match-c-req-param-when-a-static-route-shadows-a-dynamic-one</guid><description>Route order in Hono can hide dynamic params and make `c.req.param()` return empty values.</description><pubDate>Sun, 23 Aug 2026 00:00:00 GMT</pubDate><category>hono</category><category>routing</category><category>params</category><category>path-matching</category><category>server</category></item><item><title>Astro Throws ReferenceError: window is not defined When a Browser-Only Import Runs on the Server</title><link>https://bfzli.com/astro-throws-referenceerror-window-is-not-defined-when-a-browser-only-import-runs-on-the-server</link><guid isPermaLink="true">https://bfzli.com/astro-throws-referenceerror-window-is-not-defined-when-a-browser-only-import-runs-on-the-server</guid><description>Astro SSR crashes when a module touches `window` during server rendering.</description><pubDate>Sat, 22 Aug 2026 00:00:00 GMT</pubDate><category>astro</category><category>ssr</category><category>window</category><category>browser-only</category><category>islands</category></item><item><title>Vite Serves 404s for Assets After a Production Build Because the Base Path Is Wrong</title><link>https://bfzli.com/vite-serves-404s-for-assets-after-a-production-build-because-the-base-path-is-wrong</link><guid isPermaLink="true">https://bfzli.com/vite-serves-404s-for-assets-after-a-production-build-because-the-base-path-is-wrong</guid><description>Built assets 404 in production when Vite emits URLs for the wrong base path.</description><pubDate>Fri, 21 Aug 2026 00:00:00 GMT</pubDate><category>vite</category><category>assets</category><category>build</category><category>deployment</category><category>base-path</category></item><item><title>Vite Resolves the Wrong Package in a pnpm Workspace Because tsconfig Paths Leak Into Build Imports</title><link>https://bfzli.com/vite-resolves-the-wrong-package-in-a-pnpm-workspace-because-tsconfig-paths-leak-into-build-imports</link><guid isPermaLink="true">https://bfzli.com/vite-resolves-the-wrong-package-in-a-pnpm-workspace-because-tsconfig-paths-leak-into-build-imports</guid><description>A pnpm monorepo can resolve a local source file instead of the published package entry point and break the build.</description><pubDate>Thu, 20 Aug 2026 00:00:00 GMT</pubDate><category>vite</category><category>pnpm</category><category>monorepo</category><category>tsconfig</category><category>module-resolution</category></item><item><title>Next.js App Router Serves Stale Data Because a Server Component Fetch Is Cached</title><link>https://bfzli.com/next-js-app-router-serves-stale-data-because-a-server-component-fetch-is-cached</link><guid isPermaLink="true">https://bfzli.com/next-js-app-router-serves-stale-data-because-a-server-component-fetch-is-cached</guid><description>Next.js can reuse a server component fetch result unless you set the right cache mode or revalidation behavior.</description><pubDate>Wed, 19 Aug 2026 00:00:00 GMT</pubDate><category>nextjs</category><category>app-router</category><category>fetch</category><category>cache</category><category>server-components</category></item><item><title>React Native Fails to Bundle When a Shared Module Imports Node Built-ins</title><link>https://bfzli.com/react-native-fails-to-bundle-when-a-shared-module-imports-node-built-ins</link><guid isPermaLink="true">https://bfzli.com/react-native-fails-to-bundle-when-a-shared-module-imports-node-built-ins</guid><description>Metro stops bundling when shared code pulls in fs, path, or crypto that the React Native runtime cannot provide.</description><pubDate>Tue, 18 Aug 2026 00:00:00 GMT</pubDate><category>react-native</category><category>metro</category><category>bundling</category><category>node-core-modules</category><category>javascript</category></item><item><title>Point a Custom Domain at Cloudflare Pages Without Leaving the Site on the Default Subdomain</title><link>https://bfzli.com/point-a-custom-domain-at-cloudflare-pages-without-leaving-the-site-on-the-default-subdomain</link><guid isPermaLink="true">https://bfzli.com/point-a-custom-domain-at-cloudflare-pages-without-leaving-the-site-on-the-default-subdomain</guid><description>Cloudflare Pages stays on the generated pages.dev hostname until DNS and the Pages custom domain are configured together.</description><pubDate>Mon, 17 Aug 2026 00:00:00 GMT</pubDate><category>cloudflare-pages</category><category>dns</category><category>custom-domain</category><category>ssl</category><category>deployment</category></item><item><title>SvelteKit Throws ReferenceError: document is not defined During Server-Side Rendering</title><link>https://bfzli.com/sveltekit-throws-referenceerror-document-is-not-defined-during-server-side-rendering</link><guid isPermaLink="true">https://bfzli.com/sveltekit-throws-referenceerror-document-is-not-defined-during-server-side-rendering</guid><description>SvelteKit SSR crashes when a component touches document before the browser runs it; isolate browser-only code and gate it behind client checks.</description><pubDate>Sun, 16 Aug 2026 00:00:00 GMT</pubDate><category>sveltekit</category><category>ssr</category><category>document</category><category>browser-api</category><category>javascript</category></item><item><title>Cloudflare Pages Functions Read undefined Environment Variables at Runtime</title><link>https://bfzli.com/cloudflare-pages-functions-read-undefined-environment-variables-at-runtime</link><guid isPermaLink="true">https://bfzli.com/cloudflare-pages-functions-read-undefined-environment-variables-at-runtime</guid><description>Make Cloudflare Pages Functions see bound secrets and vars instead of undefined values.</description><pubDate>Thu, 13 Aug 2026 00:00:00 GMT</pubDate><category>cloudflare-pages</category><category>functions</category><category>environment-variables</category><category>wrangler</category><category>edge</category></item><item><title>Next.js Cannot Optimize Images from an Unconfigured Remote Host</title><link>https://bfzli.com/next-js-cannot-optimize-images-from-an-unconfigured-remote-host</link><guid isPermaLink="true">https://bfzli.com/next-js-cannot-optimize-images-from-an-unconfigured-remote-host</guid><description>Configure next/image so remote images stop failing with host validation and optimization errors.</description><pubDate>Wed, 12 Aug 2026 00:00:00 GMT</pubDate><category>nextjs</category><category>images</category><category>webpack</category><category>remote-patterns</category><category>react</category></item><item><title>Hono Cannot Read c.req.param() After a Middleware Forgets next()</title><link>https://bfzli.com/hono-cannot-read-c-req-param-after-a-middleware-forgets-next</link><guid isPermaLink="true">https://bfzli.com/hono-cannot-read-c-req-param-after-a-middleware-forgets-next</guid><description>Fix missing route params in Hono by preserving middleware flow and route context.</description><pubDate>Tue, 11 Aug 2026 00:00:00 GMT</pubDate><category>hono</category><category>middleware</category><category>routing</category><category>typescript</category><category>web-framework</category></item><item><title>Cloudflare Workers Fail with TypeError: Body has already been used for Request</title><link>https://bfzli.com/cloudflare-workers-fail-with-typeerror-body-has-already-been-used-for-request</link><guid isPermaLink="true">https://bfzli.com/cloudflare-workers-fail-with-typeerror-body-has-already-been-used-for-request</guid><description>Understand why a consumed Request body cannot be read twice in Workers and how to clone or buffer it safely.</description><pubDate>Mon, 10 Aug 2026 00:00:00 GMT</pubDate><category>cloudflare-workers</category><category>fetch</category><category>request-body</category><category>streams</category><category>javascript</category></item><item><title>Express Returns req.body Undefined When JSON Middleware Runs Too Late</title><link>https://bfzli.com/express-returns-req-body-undefined-when-json-middleware-runs-too-late</link><guid isPermaLink="true">https://bfzli.com/express-returns-req-body-undefined-when-json-middleware-runs-too-late</guid><description>Fix req.body staying undefined in Express by placing JSON parsing middleware before your route handlers.</description><pubDate>Sun, 09 Aug 2026 00:00:00 GMT</pubDate><category>express</category><category>body-parser</category><category>middleware</category><category>json</category><category>http</category></item><item><title>Deploying a Static Site to GitHub Pages Breaks Asset URLs Under a Repository Path</title><link>https://bfzli.com/deploying-a-static-site-to-github-pages-breaks-asset-urls-under-a-repository-path</link><guid isPermaLink="true">https://bfzli.com/deploying-a-static-site-to-github-pages-breaks-asset-urls-under-a-repository-path</guid><description>Why a site works locally but 404s on GitHub Pages when assets resolve from the domain root instead of the repo path.</description><pubDate>Sat, 08 Aug 2026 00:00:00 GMT</pubDate><category>github-pages</category><category>static-site</category><category>deploy</category><category>asset-paths</category><category>base-path</category></item><item><title>Design a TypeScript SDK with Multiple Entry Points Without Breaking Imports</title><link>https://bfzli.com/design-a-typescript-sdk-with-multiple-entry-points-without-breaking-imports</link><guid isPermaLink="true">https://bfzli.com/design-a-typescript-sdk-with-multiple-entry-points-without-breaking-imports</guid><description>How to publish a typed SDK with subpath exports, preserved types, and stable import paths for ESM and CommonJS.</description><pubDate>Fri, 07 Aug 2026 00:00:00 GMT</pubDate><category>typescript</category><category>sdk</category><category>package-exports</category><category>esm</category><category>commonjs</category></item><item><title>Remix Returns 405 Method Not Allowed When a Form Submits to the Wrong Route</title><link>https://bfzli.com/remix-returns-405-method-not-allowed-when-a-form-submits-to-the-wrong-route</link><guid isPermaLink="true">https://bfzli.com/remix-returns-405-method-not-allowed-when-a-form-submits-to-the-wrong-route</guid><description>Why a Remix form posts to a route without an action and how route matching determines which loader or action runs.</description><pubDate>Fri, 07 Aug 2026 00:00:00 GMT</pubDate><category>remix</category><category>forms</category><category>actions</category><category>routes</category><category>http-405</category></item><item><title>Node Fails to Connect to localhost with ECONNREFUSED ::1 on a Local Server</title><link>https://bfzli.com/node-fails-to-connect-to-localhost-with-econnrefused-1-on-a-local-server</link><guid isPermaLink="true">https://bfzli.com/node-fails-to-connect-to-localhost-with-econnrefused-1-on-a-local-server</guid><description>Why Node tries IPv6 loopback first for localhost and how to match your server bind address to the resolved address.</description><pubDate>Thu, 06 Aug 2026 00:00:00 GMT</pubDate><category>node</category><category>networking</category><category>localhost</category><category>ipv6</category><category>econnrefused</category></item><item><title>React Native on Android Throws ReferenceError: window is not defined During Module Initialization</title><link>https://bfzli.com/react-native-on-android-throws-referenceerror-window-is-not-defined-during-module-initialization</link><guid isPermaLink="true">https://bfzli.com/react-native-on-android-throws-referenceerror-window-is-not-defined-during-module-initialization</guid><description>Why browser globals break during React Native startup on Android and how to move that code behind a native-safe boundary.</description><pubDate>Wed, 05 Aug 2026 00:00:00 GMT</pubDate><category>react-native</category><category>android</category><category>referenceerror</category><category>javascript</category><category>native-modules</category></item><item><title>Bun Throws ERR_REQUIRE_ESM When a CommonJS File Loads an ESM Package</title><link>https://bfzli.com/bun-throws-err-require-esm-when-a-commonjs-file-loads-an-esm-package</link><guid isPermaLink="true">https://bfzli.com/bun-throws-err-require-esm-when-a-commonjs-file-loads-an-esm-package</guid><description>Why Bun hits ERR_REQUIRE_ESM on mixed module boundaries and how to make the import path match the package format.</description><pubDate>Tue, 04 Aug 2026 00:00:00 GMT</pubDate><category>bun</category><category>esm</category><category>commonjs</category><category>modules</category><category>runtime</category></item><item><title>Next.js Environment Variables Return Undefined in the Browser After Build</title><link>https://bfzli.com/next-js-environment-variables-return-undefined-in-the-browser-after-build</link><guid isPermaLink="true">https://bfzli.com/next-js-environment-variables-return-undefined-in-the-browser-after-build</guid><description>Why process.env values disappear in client code after a Next.js production build, and how to expose the right variables safely.</description><pubDate>Mon, 03 Aug 2026 00:00:00 GMT</pubDate><category>nextjs</category><category>environment-variables</category><category>build-time</category><category>client-side</category><category>runtime-config</category></item><item><title>Cloudflare Workers Reject POST Requests with a CORS Preflight Failure</title><link>https://bfzli.com/cloudflare-workers-reject-post-requests-with-a-cors-preflight-failure</link><guid isPermaLink="true">https://bfzli.com/cloudflare-workers-reject-post-requests-with-a-cors-preflight-failure</guid><description>Return the right CORS headers from a Worker so browser preflight requests stop failing.</description><pubDate>Sat, 01 Aug 2026 00:00:00 GMT</pubDate><category>cloudflare-workers</category><category>cors</category><category>fetch</category><category>browser</category></item><item><title>Deno Cron Tasks See DENO_ENV Undefined in Scheduled Runs</title><link>https://bfzli.com/deno-cron-tasks-see-deno-env-undefined-in-scheduled-runs</link><guid isPermaLink="true">https://bfzli.com/deno-cron-tasks-see-deno-env-undefined-in-scheduled-runs</guid><description>Make scheduled Deno jobs read environment variables reliably instead of getting undefined at runtime.</description><pubDate>Sat, 01 Aug 2026 00:00:00 GMT</pubDate><category>deno</category><category>cron</category><category>environment-variables</category><category>runtime</category></item><item><title>Electron Throws Refused to Execute Inline Script When a Sandboxed Preload Loads Local HTML</title><link>https://bfzli.com/electron-throws-refused-to-execute-inline-script-when-a-sandboxed-preload-loads-local-html</link><guid isPermaLink="true">https://bfzli.com/electron-throws-refused-to-execute-inline-script-when-a-sandboxed-preload-loads-local-html</guid><description>Fix CSP failures when Electron loads local HTML with a sandboxed preload and inline script blocked.</description><pubDate>Sat, 01 Aug 2026 00:00:00 GMT</pubDate><category>electron</category><category>csp</category><category>preload</category><category>security</category></item><item><title>Next.js Hydration Mismatch: Random UUIDs Render Different HTML on Server and Client</title><link>https://bfzli.com/next-js-hydration-mismatch-random-uuids-render-different-html-on-server-and-client</link><guid isPermaLink="true">https://bfzli.com/next-js-hydration-mismatch-random-uuids-render-different-html-on-server-and-client</guid><description>Fix hydration errors caused by non-deterministic UUIDs in server-rendered Next.js components.</description><pubDate>Sat, 01 Aug 2026 00:00:00 GMT</pubDate><category>nextjs</category><category>hydration</category><category>ssr</category><category>react</category></item><item><title>Node.js Fails with bin Not Found After Publishing a Package to npm</title><link>https://bfzli.com/node-js-fails-with-bin-not-found-after-publishing-a-package-to-npm</link><guid isPermaLink="true">https://bfzli.com/node-js-fails-with-bin-not-found-after-publishing-a-package-to-npm</guid><description>Fix npm packages that install but do not expose the expected CLI command.</description><pubDate>Sat, 01 Aug 2026 00:00:00 GMT</pubDate><category>nodejs</category><category>npm</category><category>cli</category><category>publishing</category></item><item><title>Nuxt Generates 404s for Nested Routes During Static Site Deployment</title><link>https://bfzli.com/nuxt-generates-404s-for-nested-routes-during-static-site-deployment</link><guid isPermaLink="true">https://bfzli.com/nuxt-generates-404s-for-nested-routes-during-static-site-deployment</guid><description>Fix missing pages when Nuxt static generation doesn&apos;t emit the routes your host expects.</description><pubDate>Sat, 01 Aug 2026 00:00:00 GMT</pubDate><category>nuxt</category><category>static-site</category><category>prerender</category><category>routing</category></item><item><title>SQLite Returns SQLITE_BUSY During Concurrent Writes in Drizzle ORM</title><link>https://bfzli.com/sqlite-returns-sqlite-busy-during-concurrent-writes-in-drizzle-orm</link><guid isPermaLink="true">https://bfzli.com/sqlite-returns-sqlite-busy-during-concurrent-writes-in-drizzle-orm</guid><description>Reduce SQLite write contention when multiple requests try to write through Drizzle at once.</description><pubDate>Sat, 01 Aug 2026 00:00:00 GMT</pubDate><category>sqlite</category><category>drizzle-orm</category><category>database</category><category>concurrency</category></item><item><title>Programmatically Access Lummi AI Images with Lummi SDK</title><link>https://bfzli.com/programmatically-access-lummi-ai-images-with-lummi-sdk</link><guid isPermaLink="true">https://bfzli.com/programmatically-access-lummi-ai-images-with-lummi-sdk</guid><description>A walkthrough on how to use the Lummi SDK to access images programmatically.</description><pubDate>Tue, 29 Apr 2025 00:00:00 GMT</pubDate><category>lummi-ai</category><category>sdk</category><category>unofficial-sdk</category><category>lummi ai sdk</category><category>lummi api</category></item><item><title>Extract Geolocation Data From an IP Programmatically and Instantly</title><link>https://bfzli.com/extract-geo-location-data-from-an-ip-programmatically-instantly</link><guid isPermaLink="true">https://bfzli.com/extract-geo-location-data-from-an-ip-programmatically-instantly</guid><description>Easily extract geolocation data from an IP address using a simple npm package.</description><pubDate>Tue, 15 Apr 2025 00:00:00 GMT</pubDate><category>geo-location</category><category>ip</category><category>ip-address</category><category>geo-location-data</category></item><item><title>MongoError: bad auth Authentication failed through URI string</title><link>https://bfzli.com/mongo-error-bad-auth-authentication-failed</link><guid isPermaLink="true">https://bfzli.com/mongo-error-bad-auth-authentication-failed</guid><description>How to fix the MongoError: bad auth Authentication failed through URI string error, when it happens and some common reasons why it might be happening.</description><pubDate>Tue, 06 Aug 2024 00:00:00 GMT</pubDate><category>mongodb</category><category>mongoose</category><category>database</category><category>mongo-atlas</category><category>mongo-error</category><category>authentication</category></item><item><title>How I Accidentally Stepped on a Phishing Site and Then Helped Shut It Down</title><link>https://bfzli.com/how-i-accidentally-stepped-on-a-phishing-site-and-then-helped-shut-it-down</link><guid isPermaLink="true">https://bfzli.com/how-i-accidentally-stepped-on-a-phishing-site-and-then-helped-shut-it-down</guid><description>From receiving a phishing email to the site being taken down within 24 hours, this is a story we can all learn from.</description><pubDate>Tue, 25 Jun 2024 00:00:00 GMT</pubDate><category>scam</category><category>phishing</category><category>security</category><category>story</category></item></channel></rss>