Fix panel array guards
The `Bar` uses a `Repeater` when building out the models. This has the effect of marshalling the configuration, and causing JSON arrays to become sequence wrappers. A couple of the plugins had been checking for the existence of array values with `Array.isArray`, which fails for the sequence wrappers, causing the values to be ignored. This breaks associated functionality (the "hide" and "pin" actions in the systray had stopped working, as had exit node selection in Tailscale). Switching the guards to use `instanceof Array` works correctly for sequence values (as well as arrays).
This commit is contained in:
@@ -44,7 +44,7 @@ Panel {
|
||||
readonly property string fontFamily: bar ? bar.fontFamily : Style.font.family
|
||||
readonly property bool showConnections: tailscale.accounts.length > 1 || tailscale.accountsAccessDenied
|
||||
readonly property bool showPeers: tailscale.running && tailscale.peers.length > 0
|
||||
readonly property var recentMullvadRegions: Array.isArray(settings.recentMullvadRegions) ? settings.recentMullvadRegions : (Array.isArray(settings.recentMullvadCountries) ? settings.recentMullvadCountries : [])
|
||||
readonly property var recentMullvadRegions: settings.recentMullvadRegions instanceof Array ? settings.recentMullvadRegions : (settings.recentMullvadCountries instanceof Array ? settings.recentMullvadCountries : [])
|
||||
readonly property var recentMullvadExitNodes: recentMullvadNodes()
|
||||
readonly property var exitNodes: displayExitNodes()
|
||||
readonly property bool showExitNodes: tailscale.running && (exitNodes.length > 0 || tailscale.mullvadRegions.length > 0)
|
||||
|
||||
Reference in New Issue
Block a user