Rewrite live tracing, the trace timeline and the trace detail view #129

Merged
jcoffey-dev merged 1 commits from phase4/tracing into main 2026-10-19 04:17:39 +00:00
Owner

Phase 4, part 4: live tracing, the trace timeline and the trace detail view. Stacked on #128, so merge that first.

New tested modules: format.ts (ids, event tones, durations, offsets, the summary line), live.ts (the query, keeping the last 1,000 events, the stream with its retries) and a rewritten normalize.ts. The types and the three components are rewritten around them.

One fix: pressing Stop while a reconnect is pending no longer reopens the stream.

After this PR: 85.2%, 11,134 upstream lines left in 43 files, 30 dual headers. Tests: 775 → 800.

Visual check: see #126. It covered all six phase 4 PRs and found no change in the UI.

Typecheck, lint, i18n:check, tests, build and notice check pass locally. No new strings.

Phase 4, part 4: live tracing, the trace timeline and the trace detail view. Stacked on #128, so merge that first. New tested modules: `format.ts` (ids, event tones, durations, offsets, the summary line), `live.ts` (the query, keeping the last 1,000 events, the stream with its retries) and a rewritten `normalize.ts`. The types and the three components are rewritten around them. One fix: pressing Stop while a reconnect is pending no longer reopens the stream. After this PR: 85.2%, 11,134 upstream lines left in 43 files, 30 dual headers. Tests: 775 → 800. **Visual check:** see #126. It covered all six phase 4 PRs and found no change in the UI. Typecheck, lint, i18n:check, tests, build and notice check pass locally. No new strings.
jcoffey-dev added 4 commits 2026-10-19 04:14:52 +00:00
Rewrite the delivery trace page
ci / build (pull_request) Skipped
github/ci (branch) GitHub Actions
ci / github (pull_request) Successful in 2m14s
ci / publish (pull_request) Skipped
ci / notices (pull_request) Successful in 2m48s
b1d833bbe4
The trace's logic is now plain, tested code: trace.ts pairs each step's
start with its outcome, groups steps by delivery attempt, names and
describes them, and holds the trace's states as a reducer; stream.ts runs
the token and the event stream. The page only draws them, unchanged.

Two fixes on the way: "Started Ns ago" counts from the trace's own start
(it carried on from the previous trace before), and cancelling while the
token is still on its way no longer opens the stream afterwards.
Rewrite the setup wizard
ci / build (pull_request) Skipped
github/ci (branch) GitHub Actions
ci / github (pull_request) Successful in 1m10s
ci / publish (pull_request) Skipped
ci / notices (pull_request) Successful in 2m47s
737eac2279
Its rules are now plain, tested code in wizard.ts: which fields each step
shows, which are required, where the server's refusal lands, and what the
finish screen lists. The wizard itself is rewritten on top of them, with
the same steps, look and update.
Rewrite the actions page
ci / build (pull_request) Skipped
github/ci (branch) GitHub Actions
ci / github (pull_request) Successful in 1m50s
ci / publish (pull_request) Skipped
ci / notices (pull_request) Successful in 2m26s
39d9062ccf
Its rules are now plain, tested code in actions.ts: grouping actions by
label, what creating one sends (no server results, no untouched secrets),
reading the answer, and which options are required. The page is
rewritten on top of them, with the same look and flow. An action without
options now shows its label while it runs, not its internal name.
Rewrite live tracing, the trace timeline and the trace detail view
ci / build (pull_request) Skipped
ci / notices (pull_request) Successful in 17s
ci / publish (pull_request) Skipped
github/ci (branch) GitHub Actions
ci / github (pull_request) Successful in 1m45s
6a4a25937a
The formatting rules (ids in the server's base 32, durations, offsets,
event icons, the trace summary) are in format.ts, and the live stream's
token, reconnects and event buffer in live.ts, all with tests; the
normalizer and types are rewritten with a test too. The three components
are rewritten on top, with the same look.

One fix: stopping live tracing while a reconnect was pending could reopen
the stream two seconds later. Stopping now stops it for good.
jcoffey-dev merged commit 07b7bfa6b4 into main 2026-10-19 04:17:39 +00:00
jcoffey-dev deleted branch phase4/tracing 2026-10-19 04:17:39 +00:00
Sign in to join this conversation.