Skip to content

feat(ui): unify process/tool/reasoning card style with shimmer sweep animation#3991

Merged
esengine merged 1 commit into
main-v2from
feat/unify-process-card-style-3913
Jun 11, 2026
Merged

feat(ui): unify process/tool/reasoning card style with shimmer sweep animation#3991
esengine merged 1 commit into
main-v2from
feat/unify-process-card-style-3913

Conversation

@esengine

Copy link
Copy Markdown
Owner

Rebase of #3913 by @CVEngineer66 onto current main-v2 — the original branch went CONFLICTING after this week's merge batch, so landing it from our side with the review items addressed. All credit to @CVEngineer66 for the design and implementation.

What this carries over (unchanged from #3913)

  • De-carded tool / reasoning / step rows: shared reasoning__head fold line, ChevronRight + CSS rotate everywhere, no per-kind card chrome
  • Long command text truncates with ellipsis; duration and chevron stay visible
  • Shimmer sweep (background-clip: text) on running tools and thinking; pauses on hover
  • Transcript display mode setting (standard / compact / minimal) with step batching in compact/minimal
  • ReadOnlyBatch / TurnCollapse reuse the reasoning fold styles; i18n keys for read/search counts

Changes on top, per the review on #3913

  1. Real durationsflushCollapseBatch now sums the batch's actual tool durationMs instead of fabricating length * 1500; the label degrades to plain "Processed" when no timing data exists
  2. Failed read-only calls stay loud — restored the status !== "error" && status !== "stopped" guard on quiet
  3. Unrelated hunks droppeddev script env rename, .gitignore, and dist/.gitkeep are untouched
  4. Single source of truth for display mode — added hydrateDisplayMode(), called from the existing desktop-preferences boot sync, so the toml-persisted value wins over stale localStorage on a fresh machine

Conflict-resolution notes

  • Kept both new General settings fields: main-v2's expandThinking and this PR's displayMode
  • Re-threaded main-v2's failed prop on UserMessage and defaultExpanded={defaultExpandThinking} on LiveAssistantMessage through the new step-group rendering paths
  • Removed a duplicate reasoningOpen useState the auto-merge produced in AssistantMessage

Verified: go test ./internal/config, desktop module build + vet green; frontend typecheck shows only the pre-existing baseline errors (identical output on pristine main-v2).

Closes #3913

…animation

De-card tool/reasoning/step rows so the transcript reads as one quiet
column: shared reasoning__head fold line, ChevronRight everywhere, long
commands truncate instead of wrapping, and running rows get a text-clip
shimmer sweep instead of a block background. Adds a transcript display
mode setting (standard/compact/minimal) persisted in reasonix.toml and
hydrated into the frontend at boot so config stays the source of truth.
@esengine esengine requested a review from SivanCola as a code owner June 11, 2026 07:57
@github-actions github-actions Bot added v2 Go rewrite (1.x) — main-v2 branch, active development desktop Wails desktop app (desktop/**) config Configuration & setup (internal/config) labels Jun 11, 2026
@esengine esengine merged commit 6fcb37e into main-v2 Jun 11, 2026
14 checks passed
@esengine esengine deleted the feat/unify-process-card-style-3913 branch June 11, 2026 08:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

config Configuration & setup (internal/config) desktop Wails desktop app (desktop/**) v2 Go rewrite (1.x) — main-v2 branch, active development

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant