feat(ui): add message timing metrics#357
Conversation
|
I want you to perform the gatekeeper checks for latest PR state check for regressions |
|
Gatekeeper review for the latest PR state: What I reviewed
Findings
What I checked closely
Validation
Residual risk
Gatekeeper verdict
-- |
|
@pascalandr - Are these times provided by OpenCode or its being calculated in CodeNomad based on request and response? |
It does use an explicit part duration if one is present, but otherwise it is just derived from the timing metadata we have in the stream. |
|
Agreed, we can look at this PR once OC times are used |
|
Updated this PR to only use explicit OpenCode timing data. What changed:
Validation:
|
|
I want you to perform the gatekeeper checks for latest PR state check for regressions |
|
Gatekeeper review for the latest PR state: What I understood
Findings
What I checked
Better implementation notes
Validation
Gatekeeper verdict
-- |
Resolve the message-block import conflict between the message timing metrics and the session search updates from dev. This keeps the OpenCode timing helpers wired into reasoning cards while preserving the new session search match typing from dev. Validated with the message timing unit tests, UI typecheck, and UI build after resolving the merge.
# Conflicts: # packages/ui/src/components/message-block.tsx # packages/ui/src/components/message-item.tsx
|
PR builds are available as GitHub Actions artifacts: https://github.com/NeuralNomadsAI/CodeNomad/actions/runs/26517588943 Artifacts expire in 7 days.
|
|
@pascalandr - Do you think we still need this? |
@shantur Yes ! It's usefull. |
Align assistant and reasoning timing display with the explicit OpenChamber/OpenCode semantics by using created/completed timestamps instead of legacy inferred duration fields. Move visible durations inline after the assistant and thinking labels and add the trailing seconds suffix expected by PR NeuralNomadsAI#357. Keep the commit scoped to the UI timing files only; unrelated build artifacts and task evidence remain uncommitted.
Clock-formatted message durations already communicate elapsed time without an extra literal suffix. This follow-up removes the trailing s from the shared formatter and updates the targeted timing helper test expectations to match. Keeping the display as pure clock text avoids ambiguous mixed formatting such as 0:02s and prevents an untranslated unit marker from leaking across locales. Validation included git diff --check, the targeted message timing node test, and the UI typecheck.
|
@CodeNomadBot |
|
PR builds are available as GitHub Actions artifacts: https://github.com/NeuralNomadsAI/CodeNomad/actions/runs/26683346160 Artifacts expire in 7 days. |
1 similar comment
|
PR builds are available as GitHub Actions artifacts: https://github.com/NeuralNomadsAI/CodeNomad/actions/runs/26683346160 Artifacts expire in 7 days. |
|
Checked the last 2 changes: Scope reviewed
What I understood
Findings
Validation
Non-blocking notes
Verdict
-- |
|
PR builds are available as GitHub Actions artifacts: https://github.com/NeuralNomadsAI/CodeNomad/actions/runs/26683371446 Artifacts expire in 7 days.
|
|
@pascalandr - Doesn't look correct. |
|
PR builds are available as GitHub Actions artifacts: https://github.com/NeuralNomadsAI/CodeNomad/actions/runs/26713603813 Artifacts expire in 7 days.
|
right but doesn't look correct with or without this PR, I mean this is a layout problem |
I meant the second time between the Assistant and Agent |



Fixes #297
Summary
Why
This revision keeps the UI scoped to explicit server-side timing data that OpenCode already provides, which matches the maintainer feedback on this PR.
Validation