harvester-ui-extension PR 1178 (abonillabeeche) at head 6e7d5b39, reviewed 2026-10-27.
It lists Rancher's auth-user-session-ttl-minutes / auth-user-session-idle-ttl-minutes under Settings → UI on
standalone Harvester (flag v1.10.0, with validation), and adds a Disconnected indicator when the harvester websocket is down for more than 10s.
[[Harvester]] token in the tooltip strings. That commit is correct. The rest is unchanged, and every finding still holds.The preview is PR head 6e7d5b39 with one test-only change (sessionTimeoutSettings moved to v1.3.0 so it turns on for v1.9). Backend: Harvester .118 through the mf tunnel, so it needs the SUSE VPN tunnels from the Mac. Log in as admin (HARVESTER_PASSWORD).
0 or a value above the other setting. Don't save a valid value: it changes login sessions on the shared cluster.s = document.querySelector('#app').__vue_app__.config.globalProperties.$store.state.harvester.socket; u = s.url; s.setUrl('wss://127.0.0.1:9/x'); s.socket.close(),
wait ~10s, then s.setUrl(u).advancedSettings.descriptions.auth-user-session-ttl-minutes and …idle-ttl-minutes. These are the keys Rancher already uses for its own two settings, which are core Rancher settings (rancher/rancher pkg/settings/setting.go, used by every UI login), not Harvester ones. Extension translations are merged over the shell's for the whole UI.<code> tags printed literally: Rancher renders the description as plain text. A real install merges the same way at startup. Nobody sees it today; it ships with the release that contains this PR. Standalone Harvester renders it fine.description key on the two HCI_SINGLE_CLUSTER_ALLOWED_SETTING entries, preferred by SettingList and the edit form), or drop the strings and let the shell's descriptions show.gaveUp text) needs Steve's disconnect_error, which fires only when the socket has a maxTries. subscribe sets it to null when websocket notifications are off, which is the default (and the reason for this PR). Same in shell 3.0.14.disconnected, so Reload is real there, but it repeats the shell's message.

auth-user-session-ttl-minutes to 480 says "Increase auth-user-session-ttl-minutes first", the field being edited. The settings clip ends on it.
unit-tests check is green), but the PR adds no specs.validateSessionTTL and the 10s grace timer are small enough to test with fake timers.sessionTimeoutSettings (v1.10.0) and standalone only. The indicator checks only isVirtualCluster + the harvester product.| Case | Result |
|---|---|
| Settings → UI lists both settings with descriptions | Yes (settings clip) |
| Edit opens the Harvester form, not Branding | Yes |
0 / idle 2000 > TTL 960 | Both rejected, no request sent |
| Normal reconnect (server up) | No indicator |
| Outage | Indicator after the 10s grace; tooltip on hover and focus; explanation inside the alert |
New commit: [[Harvester]] token in the tooltip | Prime cluster (.118) reads "SUSE Virtualization"; 1202's pre-2.16 fallback covers the new strings |
| Recovery | Cleared on the next retry |
| Reload by default | Never (finding 2) |
| Reload with websocket notifications on (emulated) | Shows after ~9s, next to Rancher's "Websocket Disconnected … reload the page" growl; socket stays down after the network returns |
| Rancher 2.16 Global Settings | Harvester text with literal tags (finding 1) |
| Re-checked on shell 3.0.14 (main now) | maxTries default, i18n merge, plain-text descriptions: unchanged |
| CI at 6e7d5b39 | lint, unit-tests, DCO green; no conflicts |
| Session expiring dialog (idle = 2) | Not re-tested: needs a real write of an auth setting on the shared Harvester; the author's screenshots cover it |