|
15 | 15 | m.top.findNode("manualLoginButton").text = translate(translationKeys.ButtonManualLogin) |
16 | 16 | m.buttons = m.top.findNode("buttons") |
17 | 17 |
|
18 | | - ' Quick Connect requires server >= 10.8.0 AND must be enabled in server config. |
19 | | - ' Remove the button entirely (rather than hiding it) when unsupported - |
20 | | - ' JRButtonGroup focus/navigation honors isEnabled but not visible, so an |
21 | | - ' invisible button at index 0 would silently steal default focus. |
| 18 | + ' Quick Connect is supported on every Jellyfin version JellyRock targets |
| 19 | + ' (>= 10.7.0). Endpoint and request-shape differences are handled inside |
| 20 | + ' sdk.quickConnect.* via versionChecker / apiVersion dispatch. The button is |
| 21 | + ' removed only when the server explicitly reports the feature disabled. |
22 | 22 | m.quickConnectButton = m.top.findNode("quickConnect") |
23 | | - if not versionChecker(m.global.server.version, "10.8.0") |
24 | | - removeQuickConnectButton("server version below 10.8.0, version:" + m.global.server.version) |
| 23 | + m.quickConnectButton.text = translate(translationKeys.ButtonQuickConnect) |
| 24 | + ' Apply prior probe result immediately if already known disabled this session. |
| 25 | + ' Default of true (fail-open) means the button stays unless we have evidence. |
| 26 | + if m.global.server.isQuickConnectEnabled = false |
| 27 | + removeQuickConnectButton("server reports Quick Connect disabled (cached)") |
25 | 28 | else |
26 | | - m.quickConnectButton.text = translate(translationKeys.ButtonQuickConnect) |
27 | | - ' Apply prior probe result immediately if already known disabled this session. |
28 | | - ' Default of true (fail-open) means the button stays unless we have evidence. |
29 | | - if m.global.server.isQuickConnectEnabled = false |
30 | | - removeQuickConnectButton("server reports Quick Connect disabled (cached)") |
31 | | - else |
32 | | - ' Probe is started in OnScreenShown (matches BrandingConfigTask timing). |
33 | | - m.quickConnectEnabledTask = createObject("roSGNode", "QuickConnectEnabledTask") |
34 | | - m.log.debug("Created QuickConnectEnabledTask") |
35 | | - end if |
| 29 | + ' Probe is started in OnScreenShown (matches BrandingConfigTask timing). |
| 30 | + ' On 10.7 the /QuickConnect/Enabled endpoint is missing, so the probe |
| 31 | + ' fails open (button stays visible) - the dialog fallback handles the |
| 32 | + ' rare admin-disabled case there. |
| 33 | + m.quickConnectEnabledTask = createObject("roSGNode", "QuickConnectEnabledTask") |
| 34 | + m.log.debug("Created QuickConnectEnabledTask") |
36 | 35 | end if |
37 | 36 |
|
38 | 37 | m.buttons.callFunc("center") |
|
0 commit comments