Auto update: cek rilis GitHub, notifikasi, dan pemasangan AppImage

- 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
This commit is contained in:
oxpoe committed 2026-10-13 08:00:12 +07:00
1 parent 59145910b5
commit e8fa35d70d
5 files changed
+591 -14

No files matched your search

+1
View File
@@ -39,6 +39,7 @@ func Run(a fyne.App, version string) {
ui, loadErr := build(a, version)
ui.win.Show()
ui.flashCards()
ui.scheduleUpdateCheck()
if loadErr != nil {
dialog.ShowError(loadErr, ui.win)
}