Root cause: @fastify/cors default allowed methods are only GET, HEAD, POST (CORS-safelisted methods). DELETE requires a CORS preflight OPTIONS request, and without DELETE in Access-Control-Allow-Methods the browser rejects it with TypeError: Failed to fetch before the request reaches the server. Fix: explicitly set methods in enableCors() to include DELETE and all other HTTP verbs used by the API. Also add try/catch to handleDelete in ChatPage so errors surface in the console rather than becoming unhandled promise rejections. Fixes #195. Co-Authored-By: Claude Sonnet 4.6 <[email protected]>