The "improve updater registration" refactor introduced two regressions in
the service mixin that disable auto-update for every service:
- initAutoUpdate() returned early when `interval > 0` and only called
register() when the interval was 0, i.e. the guard was inverted: a valid
interval skipped registration, and a disabled one registered with 0.
- getUpdateInterval() now resolves the interval into a local `interval`
variable (supporting `updateIntervalMs` and the deprecated keys), but the
service-specific branch still parsed `this.item.updateInterval`. Setting
`updateIntervalMs` left that key undefined, so it returned 0 (disabled).
Register when `interval > 0`, and parse the resolved `interval` value.
* fix: prevent smart card reuse between pages by adding stable keys in ServiceGroup
Previously ServiceGroup keyed components only by index, causing Vue to reuse the wrong smart-card instance when navigating between pages. Keys now include groupIndex and item identity to ensure components re-mount correctly.
* Fix duplicate Service cards by ensuring unique Vue keys
The search feature was causing some Service cards to duplicate when multiple items in a group shared the same `name` value. Vue reused DOM nodes because the generated `key` for <Service> was not always unique:
This caused instability during filtering and resulted in one of the cards being duplicated repeatedly until a full page reload.
Addresses issue #769 where background image url is referencing <ip_address>/resources/assets/themes/walkxcode (404) rather than <ip_address>/assets/themes/walkxcode where the images are stored
Adds --highlight-variant-inverted color definitions to both light and dark variants of the neon theme to improve text contrast against the bright neon green background.