<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
  <title>Ship It Checklist error fixes</title>
  <link>https://shipitchecklist.com</link>
  <description>Plain-English fixes for errors that show up when an AI-built app is deployed.</description>
  <language>en-gb</language>
  <item>
    <title>Supabase: new row violates row-level security policy</title>
    <link>https://shipitchecklist.com/errors/supabase/rls-insert</link>
    <guid>https://shipitchecklist.com/errors/supabase/rls-insert</guid>
    <pubDate>Wed, 14 Oct 2026 00:00:00 GMT</pubDate>
    <description>Postgres refused an insert because row level security is on and no policy allows that row.</description>
  </item>
  <item>
    <title>Supabase: permission denied for table</title>
    <link>https://shipitchecklist.com/errors/supabase/permission-denied</link>
    <guid>https://shipitchecklist.com/errors/supabase/permission-denied</guid>
    <pubDate>Wed, 14 Oct 2026 00:00:00 GMT</pubDate>
    <description>The database role behind the API key does not have a GRANT to use that table.</description>
  </item>
  <item>
    <title>Supabase: Invalid API key</title>
    <link>https://shipitchecklist.com/errors/supabase/invalid-api-key</link>
    <guid>https://shipitchecklist.com/errors/supabase/invalid-api-key</guid>
    <pubDate>Wed, 14 Oct 2026 00:00:00 GMT</pubDate>
    <description>The key sent to Supabase is missing, truncated, or from another project.</description>
  </item>
  <item>
    <title>Supabase: JWT expired</title>
    <link>https://shipitchecklist.com/errors/supabase/jwt-expired</link>
    <guid>https://shipitchecklist.com/errors/supabase/jwt-expired</guid>
    <pubDate>Wed, 14 Oct 2026 00:00:00 GMT</pubDate>
    <description>The access token the app sent is no longer valid.</description>
  </item>
  <item>
    <title>Supabase: supabaseUrl is required</title>
    <link>https://shipitchecklist.com/errors/supabase/supabase-url-required</link>
    <guid>https://shipitchecklist.com/errors/supabase/supabase-url-required</guid>
    <pubDate>Wed, 14 Oct 2026 00:00:00 GMT</pubDate>
    <description>The Supabase client was created without a project URL.</description>
  </item>
  <item>
    <title>Supabase sign-in returns with error_description in the URL</title>
    <link>https://shipitchecklist.com/errors/supabase/redirect-error</link>
    <guid>https://shipitchecklist.com/errors/supabase/redirect-error</guid>
    <pubDate>Wed, 14 Oct 2026 00:00:00 GMT</pubDate>
    <description>Auth sent the browser back to your site with an error in the URL fragment.</description>
  </item>
  <item>
    <title>Vercel build failed: module not found</title>
    <link>https://shipitchecklist.com/errors/vercel/module-not-found</link>
    <guid>https://shipitchecklist.com/errors/vercel/module-not-found</guid>
    <pubDate>Wed, 14 Oct 2026 00:00:00 GMT</pubDate>
    <description>The production build imported a package that is not installed, or a file that is not on disk.</description>
  </item>
  <item>
    <title>Vercel: FUNCTION_INVOCATION_TIMEOUT</title>
    <link>https://shipitchecklist.com/errors/vercel/function-timeout</link>
    <guid>https://shipitchecklist.com/errors/vercel/function-timeout</guid>
    <pubDate>Wed, 14 Oct 2026 00:00:00 GMT</pubDate>
    <description>A serverless function ran longer than the plan allows and Vercel stopped it.</description>
  </item>
  <item>
    <title>Next.js: hydration failed</title>
    <link>https://shipitchecklist.com/errors/nextjs/hydration-failed</link>
    <guid>https://shipitchecklist.com/errors/nextjs/hydration-failed</guid>
    <pubDate>Wed, 14 Oct 2026 00:00:00 GMT</pubDate>
    <description>The HTML from the server did not match the first render in the browser.</description>
  </item>
  <item>
    <title>Next.js: client hook inside a Server Component</title>
    <link>https://shipitchecklist.com/errors/nextjs/client-hook-in-server-component</link>
    <guid>https://shipitchecklist.com/errors/nextjs/client-hook-in-server-component</guid>
    <pubDate>Wed, 14 Oct 2026 00:00:00 GMT</pubDate>
    <description>A server file called useState, useEffect, or another client hook.</description>
  </item>
  <item>
    <title>Next.js: DynamicServerError while reading cookies or headers</title>
    <link>https://shipitchecklist.com/errors/nextjs/dynamic-server-error</link>
    <guid>https://shipitchecklist.com/errors/nextjs/dynamic-server-error</guid>
    <pubDate>Wed, 14 Oct 2026 00:00:00 GMT</pubDate>
    <description>cookies() or headers() ran outside the request's async context, or broke a static render.</description>
  </item>
  <item>
    <title>Stripe webhook signature verification failed</title>
    <link>https://shipitchecklist.com/errors/stripe/webhook-signature</link>
    <guid>https://shipitchecklist.com/errors/stripe/webhook-signature</guid>
    <pubDate>Wed, 14 Oct 2026 00:00:00 GMT</pubDate>
    <description>constructEvent could not match the body, the Stripe-Signature header, and the endpoint secret.</description>
  </item>
  <item>
    <title>Stripe: No such price</title>
    <link>https://shipitchecklist.com/errors/stripe/no-such-price</link>
    <guid>https://shipitchecklist.com/errors/stripe/no-such-price</guid>
    <pubDate>Wed, 14 Oct 2026 00:00:00 GMT</pubDate>
    <description>The price id is from the other mode, from another account, or was deleted.</description>
  </item>
  <item>
    <title>Cloudflare Error 1101: Worker threw an exception</title>
    <link>https://shipitchecklist.com/errors/cloudflare/error-1101</link>
    <guid>https://shipitchecklist.com/errors/cloudflare/error-1101</guid>
    <pubDate>Wed, 14 Oct 2026 00:00:00 GMT</pubDate>
    <description>The Worker script threw, and the visitor sees Cloudflare's error page.</description>
  </item>
  <item>
    <title>Cloudflare Error 1102: Worker exceeded CPU time</title>
    <link>https://shipitchecklist.com/errors/cloudflare/error-1102</link>
    <guid>https://shipitchecklist.com/errors/cloudflare/error-1102</guid>
    <pubDate>Wed, 14 Oct 2026 00:00:00 GMT</pubDate>
    <description>The Worker used more CPU time than the limit for this request.</description>
  </item>
  <item>
    <title>D1: no such table</title>
    <link>https://shipitchecklist.com/errors/cloudflare/d1-no-such-table</link>
    <guid>https://shipitchecklist.com/errors/cloudflare/d1-no-such-table</guid>
    <pubDate>Wed, 14 Oct 2026 00:00:00 GMT</pubDate>
    <description>The Worker queried a table that this D1 database does not have.</description>
  </item>
  <item>
    <title>Replit: Application failed to respond</title>
    <link>https://shipitchecklist.com/errors/replit/application-failed-to-respond</link>
    <guid>https://shipitchecklist.com/errors/replit/application-failed-to-respond</guid>
    <pubDate>Wed, 14 Oct 2026 00:00:00 GMT</pubDate>
    <description>The published app is not listening on the port Replit expects.</description>
  </item>
  <item>
    <title>Bolt: process is not defined</title>
    <link>https://shipitchecklist.com/errors/bolt/process-not-defined</link>
    <guid>https://shipitchecklist.com/errors/bolt/process-not-defined</guid>
    <pubDate>Wed, 14 Oct 2026 00:00:00 GMT</pubDate>
    <description>Browser code read process.env, which exists in Node and not in the page.</description>
  </item>
  <item>
    <title>Browser: request blocked by CORS</title>
    <link>https://shipitchecklist.com/errors/browser/cors-blocked</link>
    <guid>https://shipitchecklist.com/errors/browser/cors-blocked</guid>
    <pubDate>Wed, 14 Oct 2026 00:00:00 GMT</pubDate>
    <description>The browser refused a cross-origin response that did not allow your page's origin.</description>
  </item>
  <item>
    <title>Lovable: the Supabase query returns an empty list</title>
    <link>https://shipitchecklist.com/errors/lovable/empty-query</link>
    <guid>https://shipitchecklist.com/errors/lovable/empty-query</guid>
    <pubDate>Wed, 14 Oct 2026 00:00:00 GMT</pubDate>
    <description>The request succeeds with status 200 and an empty array because no SELECT policy matches.</description>
  </item>
</channel>
</rss>
