alpha
Login
or
Join now
paulvall.dev
/
fid
Star
0
Fork
0
Atom
Configure Feed
Issues
Pull Requests
Commits
Tags
Feed URL
Select the types of activity you want to include in your feed.
the tangled network observatory ◈ every knot, its health, its version, in your terminal
tangled
cli
tui
knot
monitoring
observability
atproto
federation
Star
0
Fork
0
Atom
Configure Feed
Issues
Pull Requests
Commits
Tags
Feed URL
Select the types of activity you want to include in your feed.
Overview
Issues
Pulls
Pipelines
feat: add latency column to list
author
Paul Valladares
date
5 days ago
(Jul 21, 2026, 5:47 PM -0600)
commit
d7cd95c2
d7cd95c2540b8d91d6e9b73c1a8a4bfa1a9ab767
parent
a706de8b
a706de8b75f1ada1ab4bc18be933f7906f6ccc23
+9
-1
1 changed file
Expand all
Collapse all
Unified
Split
src
commands
list.ts
+9
-1
src/commands/list.ts
View file
Reviewed
···
39
39
return styleText("yellow", "pre-v1.15 ⚠"); // pre-v1.14 knots silently drop pushes/prs/issues
40
40
};
41
41
42
42
+
const latencyLabel = (k: (typeof shown)[number]) => {
43
43
+
const ms = k.probe?.latencyMs;
44
44
+
if (ms === undefined) return dim("—");
45
45
+
const color = ms < 500 ? "green" : ms < 2000 ? "yellow" : "red";
46
46
+
return styleText(color, `${ms}ms`);
47
47
+
};
48
48
+
42
49
const rows = shown.map((k) => [
43
50
k.host,
44
51
String(k.repoCount),
45
52
versionLabel(k),
53
53
+
latencyLabel(k),
46
54
k.local ? dim("—") : k.managed ? "managed" : "self-hosted",
47
55
k.owners[0]
48
56
? `@${k.owners[0].handle}${k.owners.length > 1 ? dim(` +${k.owners.length - 1}`) : ""}`
49
57
: dim("—"),
50
58
]);
51
59
52
52
-
const header = ["HOST", "REPOS", "VERSION", "TYPE", "OWNER"];
60
60
+
const header = ["HOST", "REPOS", "VERSION", "MS", "TYPE", "OWNER"];
53
61
// biome-ignore lint/suspicious/noControlCharactersInRegex: stripping our own ansi colors for width math
54
62
const visible = (s: string) => s.replace(/\x1b\[\d+m/g, "").length;
55
63
const widths = header.map((h, i) =>