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).
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:
- 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.
- Menu Dropdown Kontekstual:
- Membuka popup menu elegan dengan opsi Hapus Obrolan (Delete Chat).
- Menutup otomatis saat pengguna mengklik area luar layar (click-outside listener).
- Konfirmasi Penghapusan dengan Radix UI
AlertDialog:- Menggunakan komponen bawaan
@radix-ui/react-alert-dialoguntuk memberikan peringatan sebelum sesi dan pesan terkait dihapus secara permanen dari server.
- Menggunakan komponen bawaan
- Dukungan Multi-Bahasa (i18n):
- Seluruh teks header, tombol obrolan baru, opsi menu, dan dialog konfirmasi terhubung penuh ke kamus i18n (
iddanen).
- Seluruh teks header, tombol obrolan baru, opsi menu, dan dialog konfirmasi terhubung penuh ke kamus i18n (
Masalah layar bergetar atau membesar/mengecil saat mengetik di area input chat diselesaikan dengan mengisolasi scroll area:
- Kondisional Layout Dashboard:
- Pada
DashboardLayout.tsx, ditambahkan pendeteksian ruteisChatPage. - Khusus halaman chat, elemen
<main>menerapkanh-[calc(100vh-4rem)] overflow-hiddenuntuk mengunci viewport halaman dan menghilangkan scrollbar ganda di tepi kanan browser.
- Pada
- Scroll Mandiri Terisolasi:
- Scrollbar vertikal kini hanya aktif di dalam container daftar pesan chat (
messagesContainerRef) dan list riwayat sidebar.
- Scrollbar vertikal kini hanya aktif di dalam container daftar pesan chat (
- Auto-Repair JSON Grafik:
- Komponen
InteractiveVisualChartdilengkapi fungsi pemulihan JSON string otomatis agar grafik perbandingan (chart:bar) tetap ter-render secara visual meskipun data payload terpotong tanpa kurung kurawal pembuka/penutup.
- Komponen
- 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.
- Nama Toko Faktual:
- Resolusi konteks toko pada
mcp-serverdansajen-apimemprioritaskan data nama toko riil dari tabelapp_settings(store_name = Toko Sembako Kusuma), tidak lagi jatuh ke nilai fallback default lama.
- Resolusi konteks toko pada
- Format Grafik Default Horizontal:
- Visualisasi perbandingan produk, supplier, dan nominal ditetapkan dalam format batang horizontal (
chart:bar) sebagai standar default.
- Visualisasi perbandingan produk, supplier, dan nominal ditetapkan dalam format batang horizontal (
- 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)