SIGN IN SIGN UP

fix: display hot-plug length re-apply, constraint and observer leaks

Absorbs the still-relevant pieces of three community PRs that overlapped this branch, with authorship credit:

- collapse length re-applies to the live separator when displays change, and isCollapsed compares > btnHiddenLength so the state survives the recompute; collapse sizing uses frame.width x2 capped at the documented 10,000pt NSStatusItem maximum (from #354)
- NSLayoutConstraint.deactivate before removeFromSuperview in removeAllSubViews, plugging the tutorial-view rebuild leak (from #335)
- PreferencesViewController balances its prefsChanged observer in deinit (from #335/#346)

Co-authored-by: Laveez <niko.muukkonen1@gmail.com>
Co-authored-by: huynguyenh <hoanghuy2908@gmail.com>
Co-authored-by: Rob Mulder <hallo@robmulder.com>
H
Han Ngo committed
cf66bfeadeb9b0de7bbcb3069243fdecbe4ea16f
Parent: ea6fcd6
Committed by Han Ngo <tieubao@users.noreply.github.com> on 6/11/2026, 8:34:05 PM