Lanjut ke konten
Samkarsa Logbook

Jualan v1.5.0-060: Session Management with Radix UI AlertDialog, Isolated Layout Scroll, and Smart Copilot Personalization

Peningkatan antarmuka Sajen Intelligence: menu opsi sesi titik 3 vertikal dengan Radix UI AlertDialog, isolasi scrollbar mandiri, integrasi i18n dwibahasa, resolusi nama toko faktual, dan aturan sapaan cerdas (Smart Greeting).

Engineering Log2mnt baca

Pada rilis v1.5.0-060, fokus utama diarahkan pada optimalisasi pengalaman pengguna (UX) pada modul Sajen Intelligence, stabilisasi rendering layout multi-device, serta peningkatan kecerdasan personalisasi percakapan AI (Smart Greeting).


Sebelumnya, tombol hapus sesi chat muncul sebagai ikon tempat sampah langsung pada baris riwayat obrolan. Hal ini diperbarui menjadi pola desain modern yang lebih aman dan rapi:

  1. Tombol Opsi Titik Tiga Vertikal (MoreVertical):
    • Ditempatkan di setiap item sesi riwayat chat pada sidebar kiri.
    • Mengisolasi event bubbling (e.stopPropagation()) agar klik pada menu tidak memicu pemilihan sesi chat secara tidak sengaja.
  2. Menu Dropdown Kontekstual:
    • Membuka popup menu elegan dengan opsi Hapus Obrolan (Delete Chat).
    • Menutup otomatis saat pengguna mengklik area luar layar (click-outside listener).
  3. Konfirmasi Penghapusan dengan Radix UI AlertDialog:
    • Menggunakan komponen bawaan @radix-ui/react-alert-dialog untuk memberikan peringatan sebelum sesi dan pesan terkait dihapus secara permanen dari server.
  4. Dukungan Multi-Bahasa (i18n):
    • Seluruh teks header, tombol obrolan baru, opsi menu, dan dialog konfirmasi terhubung penuh ke kamus i18n (id dan en).

Masalah layar bergetar atau membesar/mengecil saat mengetik di area input chat diselesaikan dengan mengisolasi scroll area:

  1. Kondisional Layout Dashboard:
    • Pada DashboardLayout.tsx, ditambahkan pendeteksian rute isChatPage.
    • Khusus halaman chat, elemen <main> menerapkan h-[calc(100vh-4rem)] overflow-hidden untuk mengunci viewport halaman dan menghilangkan scrollbar ganda di tepi kanan browser.
  2. Scroll Mandiri Terisolasi:
    • Scrollbar vertikal kini hanya aktif di dalam container daftar pesan chat (messagesContainerRef) dan list riwayat sidebar.
  3. Auto-Repair JSON Grafik:
    • Komponen InteractiveVisualChart dilengkapi fungsi pemulihan JSON string otomatis agar grafik perbandingan (chart:bar) tetap ter-render secara visual meskipun data payload terpotong tanpa kurung kurawal pembuka/penutup.

  1. Sapaan Cerdas (Smart Greeting):
    • Menghilangkan sapaan formal berulang di setiap balasan pesan.
    • Sapaan hangat hanya dimunculkan di pesan pembuka percakapan baru (history.length === 0). Pada percakapan lanjutan, asisten langsung menyajikan analisa data secara lugas dan to-the-point.
  2. Nama Toko Faktual:
    • Resolusi konteks toko pada mcp-server dan sajen-api memprioritaskan data nama toko riil dari tabel app_settings (store_name = Toko Sembako Kusuma), tidak lagi jatuh ke nilai fallback default lama.
  3. Format Grafik Default Horizontal:
    • Visualisasi perbandingan produk, supplier, dan nominal ditetapkan dalam format batang horizontal (chart:bar) sebagai standar default.

  • Frontend: blonjo-ui (v1.4.3) -> Active (https://blonjo.samkarsa.com)
  • Backend API: sajen-api & sajen-worker -> Active (http://localhost:8005)
  • MCP Co-Pilot: mcp-backend-prod -> Active (http://76.13.19.28:3000)