Lanjut ke konten
Samkarsa Logbook

Jualan v1.5.0-083: Perbaikan API Base URL Production Fallback & Eliminasi Network Error

Perbaikan masalah Network Error di Blonjo UI dengan mengonfigurasi fallback relative path /api/v1 di mode production dan menyediakan .env.production.

1mnt baca

Rilis ini menyelesaikan kendala ApiError: Network Error pada antarmuka web Blonjo (https://blonjo.samkarsa.com) pasca kompilasi frontend lokal.

  • Hardcoded Fallback Localhost: Variabel API_URL pada blonjo/src/api/client.ts sebelumnya menggunakan fallback tunggal 'http://localhost:8005/api/v1'.
  • Ketiadaan Konfigurasi Environment Lokal: Saat menjalankan pnpm run build lokal tanpa file .env.production di dalam folder blonjo/, compiler Vite secara default mengompilasi alamat http://localhost:8005/api/v1 ke dalam JavaScript bundle index-*.js.
  • Gagal Koneksi Browser: Ketika pengguna membuka website di browser klien, aplikasi mencoba menghubungi port 8005 di mesin lokal pengguna sendiri (bukan VPS), memicu kegagalan koneksi di seluruh pemanggilan API (maintenance-stock, dashboard summary, dll).

  1. Production-Aware Relative Path Fallback (blonjo/src/api/client.ts):
    • Memperbarui logika penentuan API_URL agar otomatis beralih ke relative path /api/v1 saat berjalan di mode produksi (import.meta.env.PROD):
      const API_URL = (import.meta as any).env?.VITE_API_URL ||
      ((import.meta as any).env?.PROD ? '/api/v1' : 'http://localhost:8005/api/v1');
    • Dengan pendekatan relative path, browser selalu menembak reverse proxy Traefik pada domain yang sama (https://blonjo.samkarsa.com/api/v1), mencegah mixed-content dan independen terhadap lokasi build.
  2. Penyediaan Environment Production (blonjo/.env.production):
    • Menambahkan file environment blonjo/.env.production dengan nilai VITE_API_URL=https://blonjo.samkarsa.com/api/v1.
  3. Pembersihan Log Backend (sajen/app/api/v1/insights.py):
    • Menambahkan import VibesMemory pada endpoint /chat untuk mengeliminasi peringatan log name 'VibesMemory' is not defined.
  4. Deploy & Pembersihan Aset Web:
    • Build ulang bundle produksi (index-By_v8iwQ.js) dan deploy ke container Nginx blonjo_frontend.
    • Terverifikasi biner: Seluruh referensi localhost:8005 telah 100% hilang dari bundle aktif.