Blonjo v1.5.0-009: Instant Initial Bottom View & Dynamic Follow-Scroll Streaming
Penyempurnaan UX chat: tampilan instan di pesan terakhir saat awal buka tanpa animasi geser, dan auto-follow scroll dinamis mengikuti kalimat yang sedang diketik.
1mnt baca
Pembaruan ini menyempurnakan ergonomi pembacaan dan interaksi navigasi scroll pada modul Vibes Chat:
-
Instant Initial Bottom View (Zero-Scroll Animation Jump):
- Masalah: Saat halaman chat pertama kali dibuka atau berpindah sesi riwayat, tampilan sebelumnya memicu animasi gulir yang terlihat meluncur dari atas ke bawah, atau diam di atas.
- Solusi: Mengimplementasikan
scrollToInstantBottom()yang dipicu tepat saat statusinitialLoadingselesai dan saat sesi dimuat (loadSession). Posisi scroll langsung dipatok kescrollTop = scrollHeightsecara instan (behavior: 'instant'), menampilkan pesan terakhir secara langsung tanpa terlihat bergeser.
-
Dynamic Follow-Scroll saat Response Streaming:
- Masalah: Sebelumnya viewport terkunci kaku di awal gelembung pesan asisten (
block: 'start'), sehingga ketika jawaban memanjang, kalimat-kalimat yang baru diketik meluncur ke bawah lipatan layar (below the fold) dan tidak terlihat. - Solusi: Menghubungkan pembaruan
streamingTextdengan pembaruan scroll container secara real-time. Layar secara dinamis dan mulus mengikuti kalimat serta kursor kedip▋yang sedang ditulis ke arah bawah.
- Masalah: Sebelumnya viewport terkunci kaku di awal gelembung pesan asisten (
-
Smart User Pause Interaction:
- Dilengkapi
handleContainerScrollyang mendeteksi jarak scroll pengguna (isUserScrolledUpRef). - Jika pengguna sengaja menggulir ke atas (>80px dari dasar) untuk membaca teks atau chart di atas saat streaming masih berjalan, auto-scroll dinonaktifkan sementara agar tidak mengganggu pembacaan pengguna.
- Ketika pengguna menggulir kembali ke dekat bagian bawah, auto-follow scroll otomatis aktif kembali.
- Dilengkapi