(enable)
| 10925 | let url = `${scheme}://127.0.0.1:${port}/mcp`; |
| 10926 | if (serverMode && window.location && window.location.origin) { |
| 10927 | url = String(window.location.origin).replace(/\/$/, '') + '/mcp'; |
| 10928 | } else if (!serverMode && info && info.url) { |
| 10929 | url = String(info.url).replace(/:\d+(\/mcp)?$/, ':' + port + '/mcp'); |
| 10930 | } |
| 10931 | const urlInput = document.getElementById('mcp-server-url'); |
| 10932 | if (urlInput) urlInput.value = url; |
| 10933 | const configEl = document.getElementById('mcp-server-config'); |
| 10934 | if (configEl) configEl.textContent = mcpClientConfigJson(url); |
| 10935 | |
| 10936 | const statusEl = document.getElementById('mcp-server-status'); |
| 10937 | if (statusEl) { |
| 10938 | if (serverMode) { |
| 10939 | statusEl.textContent = 'Status: MCP endpoint is available on this server.'; |
| 10940 | } else if (check?.checked && info && info.running) { |
| 10941 | statusEl.textContent = 'Status: Listening at ' + url; |
| 10942 | } else if (check?.checked) { |
| 10943 | statusEl.textContent = 'Status: Enabled. Click Save to start the listener.'; |
| 10944 | } else { |
| 10945 | statusEl.textContent = 'Status: Disabled. Enable and Save to start the listener while Printventory is running.'; |
| 10946 | } |
| 10947 | } |
| 10948 | const extra = document.getElementById('mcp-server-extra-urls'); |
| 10949 | if (extra) { |
| 10950 | const alts = ((info && info.urls) || []).filter((u) => u && u !== url); |
| 10951 | extra.textContent = alts.length ? ('Also reachable at: ' + alts.join(' · ')) : ''; |
| 10952 | } |
| 10953 | } |
| 10954 | |
| 10955 | async function populateMcpServerSettingsDialog() { |
| 10956 | const dialog = document.getElementById('mcp-server-settings-dialog'); |
| 10957 | if (!dialog) return; |
| 10958 | const serverMode = await window.electron.isServerMode().catch(() => false); |
| 10959 | const desktopControls = document.getElementById('mcp-server-desktop-controls'); |
| 10960 | const serverNote = document.getElementById('mcp-server-server-mode-note'); |
| 10961 | const saveBtn = document.getElementById('save-mcp-server-settings'); |
| 10962 | const cancelBtn = document.getElementById('cancel-mcp-server-settings'); |
| 10963 | if (desktopControls) desktopControls.hidden = !!serverMode; |
| 10964 | if (serverNote) serverNote.hidden = !serverMode; |
| 10965 | if (saveBtn) saveBtn.hidden = !!serverMode; |
| 10966 | if (cancelBtn) cancelBtn.textContent = serverMode ? 'Close' : 'Cancel'; |
| 10967 | |
| 10968 | const enabled = await window.electron.getSetting('enableMcpServer'); |
| 10969 | const port = await window.electron.getSetting('browserExtensionPort'); |
| 10970 | const check = document.getElementById('enable-mcp-server'); |
| 10971 | const portInput = document.getElementById('mcp-server-port'); |
| 10972 | if (check) check.checked = enabled === '1'; |
no test coverage detected