Troubleshooting Runbooks
Runbook solusi teknis tervalidasi untuk error runtime, auth, model AI, dan build.
src/lib/firebaseAdmin.ts, next.config.tsTests: tests/unit/authPolicy.test.tsTroubleshooting Runbooks#
Dokumentasi ini memuat panduan investigasi dan solusi tervalidasi untuk masalah operasional yang pernah ditemui pada ekosistem OrthoBreath.
1. Error: ERR_REQUIRE_ESM pada Firebase Admin / jwks-rsa#
Gejala (Symptoms)#
Endpoint /api/auth/me atau /api/auth/session mengembalikan status 500 Internal Server Error saat di-deploy ke Vercel Serverless Function:
1Error: require() of ES Module .../node_modules/jose/dist/webapi/index.js2from .../node_modules/jwks-rsa/src/utils.js not supported.3code: 'ERR_REQUIRE_ESM'
Penyebab (Root Cause)#
firebase-admin menggunakan dependensi [email protected] yang memanggil require('jose'). Pada versi [email protected], pustaka tersebut murni ESM sehingga melempar error saat di-require dari CommonJS runtime.
Solusi (Fix)#
Tambahkan dependency override pada package.json dan daftarkan ke serverExternalPackages pada next.config.ts:
1// package.json2"overrides": {3 "jwks-rsa": {4 "jose": "^4.15.9"5 }6}
2. Error: Features Count Mismatch pada Model SVM#
Gejala (Symptoms)#
API /api/ai/analyze mengembalikan error:
1ValueError: X has 12800 features, but StandardScaler is expecting 26244 features as input.
Penyebab#
Resolusi gambar atau parameter ekstraksi HOG pada saat inferensi berbeda dengan parameter pelatihan model.
Solusi#
Pastikan citra dental di-resize tepat ke resolusi 128 x 128 piksel dengan parameter HOG:
pixels_per_cell = (8, 8)cells_per_block = (2, 2)orientations = 9
Sehingga menghasilkan total $15 \times 15 \times 4 \times 9 = 26.244$ fitur.
3. Error: MQTT TLS Reconnection Drop#
Gejala#
Sensor ESP32 terputus setelah 30 detik streaming data tekanan.
Solusi#
Pastikan konfigurasi keep-alive pada broker HiveMQ Cloud diatur pada interval 60 detik dengan clean: true dan port TLS 8883.