Skip to content

Hotfix (v1.4.1): badge Sites akurat — flush config sebelum baca status#12

Merged
devhardiyanto merged 2 commits into
mainfrom
hotfix/sites-badge-race
Jul 25, 2026
Merged

Hotfix (v1.4.1): badge Sites akurat — flush config sebelum baca status#12
devhardiyanto merged 2 commits into
mainfrom
hotfix/sites-badge-race

Conversation

@devhardiyanto

Copy link
Copy Markdown
Owner

What

Perbaiki badge status di tab Sites yang tidak berubah jadi "Ada perubahan belum diterapkan" tepat setelah Tambah domain (baru muncul setelah Edit→Simpan).

Why

sites_status (Rust) membaca config.json dari disk, sedangkan mutasi sites (add/edit/delete/toggle) memakai scheduleSave() berdebounce 500ms. refreshSitesStatus() sering membaca config lama sebelum debounce ter-flush → badge tetap "Sinkron". Bukan sekadar kosmetik: openApply() juga bisa mengira in-sync → Apply seakan no-op bila diklik <500ms setelah mutasi.

How

Flush pending debounce via saveImmediate() (sudah ada, dipakai pola sama di toggle→tray) di dalam refreshSitesStatus(). Satu titik menutup semua konsumen (4 handler + openApply). Tradeoff: 1 config_write idempoten ekstra per refresh — negligible.

Changes

  • src/views/Settings.vue: refreshSitesStatus() await saveImmediate() sebelum baca sites_status; destructure saveImmediate dari useConfig.
  • bump versi 1.4.01.4.1 (package.json, tauri.conf.json, Cargo.toml, Cargo.lock).

Testing

Manual: Add domain → badge langsung "Ada perubahan belum diterapkan" tanpa perlu Edit. Verifikasi terpisah cancel-UAC & self-clean (Sprint 11) sudah PASS via inspeksi backup/hosts.

devhardiyanto

…s akurat

sites_status (Rust) membaca config.json dari disk, sedangkan mutasi sites
(add/edit/delete/toggle) memakai scheduleSave() berdebounce 500ms. Akibatnya
refreshSitesStatus() bisa membaca config lama -> badge tetap "Sinkron" walau
ada perubahan, dan openApply() bisa mengira in-sync (Apply seakan no-op).

Flush pending debounce via saveImmediate() sebelum baca status. Satu titik di
refreshSitesStatus() menutup semua konsumen (4 handler + openApply) sekaligus.

devhardiyanto
@devhardiyanto
devhardiyanto merged commit 7bc83ed into main Jul 25, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant