Skip to content

Commit 39831da

Browse files
committed
feat: show live tunnel links in the intelligence web UI
Expose the live tunnel list on /healthz and render one clickable chip per tunnel (provider label linking to the tunnel origin) in the Project Observatory livebar, refreshed with the existing auto-refresh tick; show a connecting placeholder while providers are still joining.
1 parent 025f405 commit 39831da

4 files changed

Lines changed: 14 additions & 5 deletions

File tree

src/integrations/mcp.rs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -901,6 +901,14 @@ async fn health(State(state): State<Arc<AppState>>) -> Json<Value> {
901901
"public_url_error": connection.public_url_error,
902902
"tunnel_running": connection.tunnel_running,
903903
"tunnel_error": connection.tunnel_error,
904+
"tunnels": state
905+
.monitor
906+
.tunnel_links()
907+
.into_iter()
908+
.map(|(provider, url)| {
909+
json!({"provider": provider, "url": url, "mcp_url": format!("{url}/mcp")})
910+
})
911+
.collect::<Vec<_>>(),
904912
"active_tasks": connection.active_tasks,
905913
"queued_tasks": connection.queued_tasks,
906914
"peak_active_tasks": connection.peak_active_tasks,

src/ui/intelligence_web/app.css

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/ui/intelligence_web/app.js

Lines changed: 4 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/ui/intelligence_web/page.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ <h1 data-i18n="Project Observatory">Project Observatory</h1>
2929

3030
<section class="livebar" aria-live="polite">
3131
<div class="live-left"><span id="syncDot" class="sync-dot"></span><strong id="syncState" data-i18n="Connecting">Connecting</strong><span id="projectIdentity" class="live-project"></span></div>
32-
<div class="live-right"><span id="precisionBadge" class="precision-badge"></span><span id="lastUpdated" class="muted"></span></div>
32+
<div class="live-right"><span id="tunnels" class="tunnel-links"></span><span id="precisionBadge" class="precision-badge"></span><span id="lastUpdated" class="muted"></span></div>
3333
</section>
3434

3535
<section id="accessPanel" class="panel access-panel hidden">

0 commit comments

Comments
 (0)