7.9 KiB
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
- Menu
Receiptdi mobile sudah dikeluarkan dari bootstrap mobile. - Submit purchase sekarang langsung:
- membuat
receipt - membuat
receipt_lines - membuat
lot - membuat alokasi realization terkait
- membuat
- Endpoint utama:
- Dokumen mobile sudah disesuaikan:
2. Formatting Qty dan Currency
- Formatting
kgsekarang 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_codesistem. - File sentral:
3. Dashboard Qty Fix
- Dashboard sebelumnya salah menampilkan angka seperti
94.290 kguntuk data gram yang seharusnya dibaca sebagai94,29 kg. - Perbaikan dilakukan dengan konversi qty berbasis
unit.codesebelum agregasi. - File utama:
4. Login Publik, Contact Admin, dan Halaman Legal
- Login sekarang punya link publik yang benar-benar aktif:
Hubungi AdminBantuanKebijakan PrivasiSyarat & Ketentuan
Hubungi Adminsekarang menuju halaman publik dengan form kirim email.- Form ini memakai:
- CAPTCHA aritmatika server-side
- honeypot anti-spam
- Halaman publik legal/help tersedia tanpa login:
/contact-admin/help-public/privacy-policy/terms-and-conditions
- Semua halaman publik ini sudah dua bahasa
ID/EN. - Email admin tidak lagi ditampilkan langsung di halaman publik; user diarahkan memakai form kontak admin.
- File utama:
5. Global Search Header
- Search di topbar sebelumnya hanya placeholder.
- Sekarang search desktop:
- full width sampai mendekati switch bahasa
- real-time
- menampilkan dropdown hasil
- bisa klik hasil
- bisa Enter untuk fallback ke halaman lot
- Search lintas:
lotpurchase- supplier/agent terkait
- Endpoint baru:
- Komponen utama:
- Halaman lot sudah membaca query URL
?search=agar fallback search juga benar-benar terpakai.
6. Master Satuan Dikunci
- Master
Satuansekarang dibuat fixed dan tidak lagi editable. - Hanya dua satuan yang diizinkan:
grkg
GET /api/v1/unitsakan memastikan dua unit itu selalu ada.POST,PUT, danDELETEunit sekarang ditolak403.- Submenu
Satuandisembunyikan dari sidebar. - Kalau halaman
/unitsdibuka langsung, tampilannya read-only. - File utama:
Prisma dan Build Cross-Platform
- Local Mac sempat rusak karena build Linux menimpa hasil
prisma generate. - Generator Prisma sekarang mencakup:
nativedarwin-arm64debian-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
openssldi container - pakai
NODE_OPTIONS=--max-old-space-size=4096 - copy source ke
/workagar tidak menimpanode_moduleslokal Mac - artifact final:
abelbirdnest-release.tar.gz
- build di Docker
- Artifact final tidak membawa
.env.productionlokal.
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
currentdiarahkan ke release aktif
systemdyang benar untuk mode artifact:WorkingDirectory=/var/www/abelbirdnest-web/AbelBirdNest-Stock/currentEnvironmentFile=/var/www/abelbirdnest-web/AbelBirdNest-Stock/.env.productionExecStart=/usr/bin/node server.js
Verifikasi yang Sudah Dilakukan
npx tsc --noEmitlolos setelah patch terbaru.- Global search endpoint mengembalikan hasil yang benar untuk sample data lokal.
GET /api/v1/unitssekarang hanya mengembalikangrdankg.POST /api/v1/unitssekarang 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.jsJangan campur keduanya pada instruksi deploy.
- mode lama
- Beberapa endpoint
mobile/receipts/**masih ada untuk kompatibilitas lama, walaupun flow mobile baru tidak lagi menampilkan menu receipt.
Langkah Lanjutan Paling Masuk Akal
- Deploy artifact terbaru ke server production.
- Verifikasi:
- search header aktif
- halaman publik login aktif
Satuantidak muncul di menuGET /api/v1/unitshanyagrdankg
- Jika perlu, lanjut bersihkan endpoint legacy yang sudah tidak dipakai lagi, terutama sekitar receipt mobile lama.
Catatan Penutup
- Handoff sebelumnya:
- Handoff
2026-05-21ini adalah snapshot terbaru dan seharusnya dipakai sebagai konteks utama lanjutan.