fix: show all probe attempts including successful ones
Remove 500-character truncation on probe output so users can see all attempts including the final successful one. Add probe status indicator (passed/failed/pending) that's always visible when probe data exists.
This commit is contained in:
@@ -1206,7 +1206,7 @@ async def check_instance_tunnel_health(
|
|||||||
response["probe_status"] = "pending"
|
response["probe_status"] = "pending"
|
||||||
elif instance.probe_result:
|
elif instance.probe_result:
|
||||||
response["probe_status"] = "success" if instance.probe_result.get("success") else "failed"
|
response["probe_status"] = "success" if instance.probe_result.get("success") else "failed"
|
||||||
response["last_probe_output"] = "\n".join(instance.probe_result.get("logs", []))[:500]
|
response["last_probe_output"] = "\n".join(instance.probe_result.get("logs", []))
|
||||||
|
|
||||||
# Check tunnel health if instance has a URL and is web-enabled
|
# Check tunnel health if instance has a URL and is web-enabled
|
||||||
if instance.url and instance.status in ("running", "unhealthy"):
|
if instance.url and instance.status in ("running", "unhealthy"):
|
||||||
|
|||||||
@@ -407,17 +407,18 @@ export const SessionsPage = () => {
|
|||||||
{tunnelHealth[session.id] && tunnelHealth[session.id].tunnel_status === "error_response" && (
|
{tunnelHealth[session.id] && tunnelHealth[session.id].tunnel_status === "error_response" && (
|
||||||
<span className="status-badge warning">app error ({tunnelHealth[session.id].tunnel_status_code})</span>
|
<span className="status-badge warning">app error ({tunnelHealth[session.id].tunnel_status_code})</span>
|
||||||
)}
|
)}
|
||||||
{tunnelHealth[session.id]?.last_probe_output && (
|
{tunnelHealth[session.id]?.probe_status && tunnelHealth[session.id]?.probe_status !== "not_applicable" && (
|
||||||
<div className="probe-output-section">
|
<div className="probe-output-section">
|
||||||
<button
|
<button
|
||||||
className="probe-toggle"
|
className={`probe-toggle probe-${tunnelHealth[session.id].probe_status}`}
|
||||||
onClick={() => setExpandedProbeId(expandedProbeId === session.id ? null : session.id)}
|
onClick={() => setExpandedProbeId(expandedProbeId === session.id ? null : session.id)}
|
||||||
type="button"
|
type="button"
|
||||||
>
|
>
|
||||||
<Icon name="info" size="sm" />
|
<Icon name="info" size="sm" />
|
||||||
{expandedProbeId === session.id ? "Hide probe output" : "Show probe output"}
|
Probe: {tunnelHealth[session.id].probe_status}
|
||||||
|
{expandedProbeId === session.id ? " (hide)" : " (show)"}
|
||||||
</button>
|
</button>
|
||||||
{expandedProbeId === session.id && (
|
{expandedProbeId === session.id && tunnelHealth[session.id]?.last_probe_output && (
|
||||||
<pre className="probe-output">
|
<pre className="probe-output">
|
||||||
{tunnelHealth[session.id].last_probe_output}
|
{tunnelHealth[session.id].last_probe_output}
|
||||||
</pre>
|
</pre>
|
||||||
|
|||||||
Reference in New Issue
Block a user