mirror of
https://github.com/netbirdio/netbird.git
synced 2026-09-29 01:59:07 +02:00
main brought #7449, which rewrote WindowManager around withWindow and closeWindow so no Wails call runs under mu and creation is serialised per slot. Both sides changed the same functions, so the resolution takes main's structure and re-expresses this branch on top of it: - Dialogs are created with armReady in their factories and shown from Go via showWhenReady in the withWindow op; the browser opens from an afterShow callback once the login popup is visible. windowByName knows every dialog. - Hidden windows carry the popup that hid them; restoreHiddenWindows takes that owner and the restore-generation guard from #7449 is kept per owner. restoreAndClose became restoringCloser(owner), used by CloseBrowserLogin, CloseRenewFlow and now CloseInstallProgress, whose WindowClosing hook only restores on a user close. - ready is split into painted and mounted; the fallback timer starts at creation and is rearmed from the WindowRuntimeReady hook. - Painted reports carry the generation stamped into the dialog start URL. useAutoSizeWindow, which is what the dialogs actually emit from, now echoes it; without that every dialog report would have been dropped as stale. The withWindow tests from main are kept as is, with the CloseRenewFlow test seeding an owner-tagged entry.