- Keterangan tombol saat hover: baris hint di footer window dan di dalam dialog
(bukan popup: overlay Fyne menelan klik pertama, tombol jadi perlu 2x klik)
- Dialog proses sekarang pakai progress bar berjalan (bukan spinner diam)
- Tombol edit per shortcut: ganti binary/URL, ikon (file/online), nama, kategori,
dan lokasi; berkas .desktop + salinan Desktop ditulis ulang, berkas lama dibuang,
jenis aplikasi dideteksi ulang, binary lama dihapus kalau nama berubah
- Export/Import daftar shortcut ke berkas SQLite .lazy (driver murni Go modernc),
skema + meta format versi, impor tidak menimpa shortcut yang sudah ada
- Tes: detect kind, edit (rename/ganti binary/ikon/target), db roundtrip, merge impor,
tooltip (hint muncul/hilang + klik tetap sampai ke tombol), semua paket hijau
- README: bagian backup + hint tombol
- appImagePath(): pakai $APPIMAGE kalau ada, kalau tidak periksa berkas
executable sendiri apakah AppImage (dulu cek update dilewati begitu saja)
- cek ulang tiap 4 jam selama aplikasi terbuka, bukan hanya saat start
- versi di footer berubah jadi 'v1.1.0 -> v1.1.1' saat ada update, jadi tetap
terlihat walau dialognya ditutup dengan Nanti
- tes: appImagePath (env, fallback, bukan AppImage), indikator footer
- Catatan rilis ditaruh di tengah Border (VScroll di Fyne punya MinSize kecil,
jadi sebagai 'top' isinya cuma dapat 32px dan terpotong)
- Tombol Back sebelumnya memakai kunci terjemahan yang belum ada di tabel;
ditambah tes yang memastikan semua kunci T() ada dan tidak ada kunci nganggur
- README: bagian Updates + cara publish rilis
- Paket internal/update: ambil rilis terbaru (API GitHub), bandingkan versi
semver sederhana, unduh AppImage ke berkas sementara lalu tukar atomik
(verifikasi magic ELF+AI; kalau gagal, AppImage lama tetap utuh)
- UI: cek otomatis 2 detik setelah aplikasi tampil (hanya kalau jalan sebagai
AppImage), dialog notifikasi versi baru + catatan rilis, tombol Update now /
Halaman rilis / Nanti
- Pemasangan: lewat AppImageUpdate kalau terpasang, kalau tidak unduh sendiri;
setelah selesai ditawarkan Restart (jalankan AppImage baru lalu tutup yang lama)
- Tombol footer Cek Update memakai alur yang sama dan selalu memberi jawaban
- LAZYRUN_UPDATE_API untuk mengarahkan cek update ke server lain (tes/fork)
- Tes: perbandingan versi, parsing rilis, penukaran AppImage, penolakan berkas
bukan AppImage