feat: Sentry monitoring a kompletnější sledování stavů Bolt Food
- integrace Sentry na serveru (@sentry/node) i klientu (@sentry/react): chyby 5xx, pády a console logy se hlásí do self-hosted Sentry - nový veřejný endpoint GET /api/config — klient si z něj za běhu vyzvedne Sentry DSN (SENTRY_DSN / SENTRY_CLIENT_DSN v env) - ErrorBoundary na klientu a sourcemapy pro čitelné stack traces - oprava mapování stavu waiting_acceptance (zobrazoval se jako Příprava) - mapování stavů kurýra matched/accepted, logování přechodů stavů Bolt objednávek pro postupné zmapování nedokumentovaného API - simulátor Bolt ve vývoji nově prochází celou reálnou sekvenci stavů - vypnuté logování connect/disconnect websocket klientů
This commit is contained in:
@@ -0,0 +1,19 @@
|
||||
import * as Sentry from '@sentry/node';
|
||||
import dotenv from 'dotenv';
|
||||
import path from 'path';
|
||||
|
||||
// Sentry se musí inicializovat před načtením ostatních modulů (auto-instrumentace),
|
||||
// proto si tento soubor načítá .env sám — index.ts na to dojde až po importech.
|
||||
dotenv.config({ path: path.resolve(__dirname, `../.env.${process.env.NODE_ENV ?? 'production'}`) });
|
||||
|
||||
// Bez SENTRY_DSN (dev, Jest, E2E) zůstává Sentry úplně vypnuté.
|
||||
if (process.env.SENTRY_DSN) {
|
||||
Sentry.init({
|
||||
dsn: process.env.SENTRY_DSN,
|
||||
environment: process.env.NODE_ENV ?? 'production',
|
||||
enableLogs: true,
|
||||
// Přeposílá console.log/warn/error jako Sentry Logs — mj. přechody stavů Bolt trackingu
|
||||
integrations: [Sentry.consoleLoggingIntegration({ levels: ['log', 'warn', 'error'] })],
|
||||
});
|
||||
console.log('Sentry: inicializováno');
|
||||
}
|
||||
Reference in New Issue
Block a user