Files
AbelBirdNest-Stock/docs/codex-handoff-2026-05-21.md

7.9 KiB

Codex Handoff - 2026-05-21

Dokumen ini menyimpan konteks kerja terbaru setelah rangkaian patch mobile, login publik, global search, locking satuan, dan workflow deploy artifact Linux.

Status Umum

  • App aktif dikembangkan di Next.js + Prisma + PostgreSQL.
  • Branch aktif: main
  • Repo remote utama: https://git.iptek.co/wirabasalamah/AbelBirdNest-Stock.git
  • Server target production saat ini: /var/www/abelbirdnest-web/AbelBirdNest-Stock

Ringkasan Perubahan Terbaru

1. Flow Mobile Purchase

2. Formatting Qty dan Currency

  • Formatting kg sekarang locale-aware.
  • Angka hasil konversi gram ke kilogram tampil dengan format Indonesia yang benar, misalnya 10,5 kg.
  • Currency di beberapa modul tidak lagi hardcoded dan mengikuti currency_code sistem.
  • File sentral:

3. Dashboard Qty Fix

  • Dashboard sebelumnya salah menampilkan angka seperti 94.290 kg untuk data gram yang seharusnya dibaca sebagai 94,29 kg.
  • Perbaikan dilakukan dengan konversi qty berbasis unit.code sebelum agregasi.
  • File utama:

5. Global Search Header

6. Master Satuan Dikunci

Prisma dan Build Cross-Platform

  • Local Mac sempat rusak karena build Linux menimpa hasil prisma generate.
  • Generator Prisma sekarang mencakup:
    • native
    • darwin-arm64
    • debian-openssl-3.0.x
  • File:

Workflow Deploy Artifact Linux

  • Build di server sempat berat dan tidak stabil.
  • Sekarang ada workflow artifact standalone Linux.
  • Script:
  • Karakteristik workflow ini:
    • build di Docker linux/amd64
    • install openssl di container
    • pakai NODE_OPTIONS=--max-old-space-size=4096
    • copy source ke /work agar tidak menimpa node_modules lokal Mac
    • artifact final: abelbirdnest-release.tar.gz
  • Artifact final tidak membawa .env.production lokal.

Catatan Deploy Server Saat Ini

  • Path app di server: /var/www/abelbirdnest-web/AbelBirdNest-Stock
  • Struktur release yang dipakai sekarang diasumsikan:
    • upload artifact ke root repo server
    • extract ke releases/<timestamp>
    • symlink current diarahkan ke release aktif
  • systemd yang benar untuk mode artifact:
    • WorkingDirectory=/var/www/abelbirdnest-web/AbelBirdNest-Stock/current
    • EnvironmentFile=/var/www/abelbirdnest-web/AbelBirdNest-Stock/.env.production
    • ExecStart=/usr/bin/node server.js

Verifikasi yang Sudah Dilakukan

  • npx tsc --noEmit lolos setelah patch terbaru.
  • Global search endpoint mengembalikan hasil yang benar untuk sample data lokal.
  • GET /api/v1/units sekarang hanya mengembalikan gr dan kg.
  • POST /api/v1/units sekarang ditolak dengan pesan lock master.

Risiko / Catatan yang Masih Relevan

  • Build standalone lokal tetap menampilkan warning Prisma saat static generation jika DB lokal tidak aktif; warning ini tidak menggagalkan artifact.
  • Production deploy sekarang punya dua mode historis:
    • mode lama repo root + npm run start
    • mode baru artifact standalone + node server.js Jangan campur keduanya pada instruksi deploy.
  • Beberapa endpoint mobile/receipts/** masih ada untuk kompatibilitas lama, walaupun flow mobile baru tidak lagi menampilkan menu receipt.

Langkah Lanjutan Paling Masuk Akal

  1. Deploy artifact terbaru ke server production.
  2. Verifikasi:
    • search header aktif
    • halaman publik login aktif
    • Satuan tidak muncul di menu
    • GET /api/v1/units hanya gr dan kg
  3. Jika perlu, lanjut bersihkan endpoint legacy yang sudah tidak dipakai lagi, terutama sekitar receipt mobile lama.

Catatan Penutup