mirror of
https://github.com/diegosouzapw/OmniRoute.git
synced 2026-09-14 19:02:17 +03:00
Landed with the design call resolved per the owner's pick — **option 1**: the synced store is now endpoint-agnostic (persistDiscoveredModels and managedModelImport no longer drop non-chat models at write time), and chat selectability moved to read time (auto-pool expansion in autoStrategy applies filterChatSelectableModels; the models-route projection already had its chatOnly filter). Your discovery test now passes end-to-end (3/3): /api/show capabilities persist per connection and image/embedding requests route through the advertising host. Reconciliation notes: conflicted areas merged onto the current tip (adobe discovery import, requestedModel preflight signature, resolvedProvider fast-path coexists with the synced-route override — explicit resolution wins); carried base-red drains (#10055 memoization, #11071 test variants) dropped as already-landed; the managed-model-import exclusion test was propagated to the new contract (image/video models persist; the read filter still hides them from chat pickers — pinned by a new assertion). Full battery: 205/206 focused (the one red is a confirmed periodic-timer timing flake on the loaded devbox — 20/20 isolated), autoCombo vitest 30/30, combo suites 46/46, gates + typecheck clean. Thank you @yourspraveen — the capability probe + routing design was right; it just needed the store contract opened up. Fixes #11087.
87 lines
2.0 KiB
HTML
87 lines
2.0 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8" />
|
|
<meta
|
|
http-equiv="Content-Security-Policy"
|
|
content="default-src 'none'; style-src 'unsafe-inline'; script-src 'self'"
|
|
/>
|
|
<title>Connect to Remote Server</title>
|
|
<style>
|
|
body {
|
|
margin: 0;
|
|
padding: 20px;
|
|
font-family:
|
|
-apple-system,
|
|
BlinkMacSystemFont,
|
|
"Segoe UI",
|
|
sans-serif;
|
|
background: #1a1a1a;
|
|
color: #e5e5e5;
|
|
user-select: none;
|
|
}
|
|
p {
|
|
margin: 0 0 12px;
|
|
font-size: 13px;
|
|
color: #a3a3a3;
|
|
}
|
|
input {
|
|
width: 100%;
|
|
box-sizing: border-box;
|
|
padding: 8px 10px;
|
|
font-size: 13px;
|
|
border-radius: 6px;
|
|
border: 1px solid #3f3f3f;
|
|
background: #262626;
|
|
color: #e5e5e5;
|
|
}
|
|
.error {
|
|
color: #f87171;
|
|
font-size: 12px;
|
|
min-height: 16px;
|
|
margin-top: 6px;
|
|
}
|
|
.actions {
|
|
margin-top: 16px;
|
|
display: flex;
|
|
justify-content: flex-end;
|
|
gap: 8px;
|
|
}
|
|
button {
|
|
padding: 7px 14px;
|
|
font-size: 13px;
|
|
border-radius: 6px;
|
|
border: 1px solid #3f3f3f;
|
|
background: #262626;
|
|
color: #e5e5e5;
|
|
cursor: pointer;
|
|
}
|
|
button.primary {
|
|
background: #ff586b;
|
|
border-color: #ff586b;
|
|
color: #fff;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<p>
|
|
Point this desktop app at an already-running OmniRoute server (e.g. a Docker/OrbStack
|
|
container) instead of spawning a local one. Leave blank and Save to disconnect.
|
|
</p>
|
|
<input
|
|
id="url-input"
|
|
type="text"
|
|
placeholder="http://localhost:20128"
|
|
autocomplete="off"
|
|
spellcheck="false"
|
|
/>
|
|
<div class="error" id="error"></div>
|
|
<div class="actions">
|
|
<button id="cancel-btn">Cancel</button>
|
|
<button id="save-btn" class="primary">Save</button>
|
|
</div>
|
|
|
|
<script src="../remoteServerPromptRenderer.js"></script>
|
|
</body>
|
|
</html>
|