- 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
- Semua SVG diraster ke PNG lebih dulu (install, sync, thumbnail). SVG dari
internet sebagian memakai fitur yang tidak didukung renderer sehingga ikon
tidak muncul atau proses menggambar berhenti.
- fill="currentColor" diganti warna brand (penyebab tersering ikon Material/
Remix gagal diraster), rasterisasi dibungkus recover
- Thumbnail pencarian: placeholder + cache unduhan + batas 3 unduhan bersamaan
- Kandidat ikon yang gagal dilewati, install tetap lanjut ke ikon default
- Race pada data ikon pilihan diperbaiki (mutex); tes -race hijau
- Baris status modal pencarian dipindah ke barisnya sendiri (tidak bertabrakan
dengan tombol Back/Search di layar berskala besar)
- Cari ikon online (Iconify) dari dialog install, plus tombol sync ikon per shortcut
- Auto ikon: file terdekat -> favicon situs (termasuk ikon manifest PWA) -> ikon brand
yang namanya cocok -> ikon default; sumber ikon disimpan di metadata
- Query dibersihkan (web.whatsapp.com -> whatsapp) dan kata <4 huruf tidak dipakai
supaya aplikasi tanpa ikon resmi tidak dapat ikon acak
- Unduhan thumbnail dibatasi 4 bersamaan + retry sekali (rate limit Iconify)
- Cursor: XCURSOR_THEME/XCURSOR_SIZE diambil dari config KDE/GTK/~/.icons default,
dan AppImage tidak lagi membundel libX*/libwayland*/libxkbcommon (dipakai dari host)
- README: bagian ikon + integrasi desktop
- Garis aksen gradien berdenyut terus (indigo <-> cyan)
- Kartu shortcut: transisi warna halus saat disorot mouse (hoverCard)
- Kartu baru berkedip warna brand saat daftar dimuat / setelah install
- Logo LazyRun + brand mark di dialog, footer 'LazyRun vX · oxpoe'
- Thumbnail shortcut bersudut membulat
- Versi logo fade-in dibuang: canvas.Image.Translucency tidak ter-render di Fyne 2.8
- Footer: Check for Updates, GitHub (github.com/oxpoe/lazyrun), Donate (donasi.oxpoe.qzz.io)
- Baris shortcut: tombol play untuk menjalankan (pakai exec_args hasil install)
- metadata shortcut menyimpan exec_args; ada fallback ke binary/URL untuk data lama
- Chip jumlah shortcut di header daftar + garis gradien brand di bawah header
- README: link repo & donasi absolut
- Tema custom (indigo/cyan dari ikon, sudut membulat) mengikuti varian sistem
- Header compact: logo + wordmark, tombol aksi di kanan
- Kartu per shortcut: ikon, nama, meta singkat, chip lokasi, tombol ikon
- Teks satu baris pakai canvas.Text (widget.Label Fyne 2.8 memesan tinggi ~2x)
- Dialog: judul bagian, ikon folder pada Browse, tombol Install primary