From 3c62499ad53d9317007d7c23b958cf113cccb478 Mon Sep 17 00:00:00 2001 From: nmemmert Date: Tue, 22 Sep 2026 08:14:57 -0400 Subject: [PATCH] Fix 500 on all requests: recordVisitor is sync, not a Promise; v2.0.43 server.js was calling recordVisitor(req, res).catch() but recordVisitor returns undefined (it's synchronous). .catch() on undefined throws TypeError on every request, causing Express to return 500 for every page. Swap to try/catch since the function is synchronous. Co-Authored-By: Claude Sonnet 4.6 --- package.json | 2 +- server.js | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 7a652f1..bd56ce0 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "siteforge", "private": true, - "version": "2.0.42", + "version": "2.0.43", "type": "module", "scripts": { "dev": "vite", diff --git a/server.js b/server.js index a9fc675..25e34c7 100644 --- a/server.js +++ b/server.js @@ -127,9 +127,11 @@ app.use((req, res, next) => { recordHit(req.path, botDetection.isBot, botDetection.reason) queueHitStatsWrite() if (hasVisitorConsent(req) && !botDetection.isBot && !isValidAdminSession(req)) { - recordVisitor(req, res).catch(err => { + try { + recordVisitor(req, res) + } catch (err) { console.error('[visitor-stats] failed to record visitor:', err) - }) + } } } next()