Skip to content

DO MERGE: ui fixes - #6658

Closed
maria-rcks wants to merge 1 commit into
pingdotgg:mainfrom
maria-rcks:agent/ui-workspace-refresh
Closed

maria-rcks wants to merge 1 commit into
pingdotgg:mainfrom
maria-rcks:agent/ui-workspace-refresh

Conversation

@maria-rcks

@maria-rcks maria-rcks commented Aug 15, 2026 •

Copy link
Copy Markdown
Collaborator

Changes

Workspace, navigation, and Settings

  • Adds shared workspace header and page-container primitives for consistent spacing, safe-area padding, collapsed-sidebar offsets, Electron drag regions, and native window-control clearance.
  • Applies the shared header to chat, empty/onboarding states, Usage, Pull Requests, Settings, and project settings.
  • Aligns top-bar edge icons by their visible glyphs instead of their hover hit areas.
  • Standardizes readable, wide, and expanded content widths across full-page surfaces.
  • Restores the full-width Back row on Usage, Pull Requests, and Settings, using browser history with a workspace fallback.
  • Consolidates Settings, Pull Requests, and Usage into the same sidebar utility navigation while preserving the update indicator.
  • Keeps Settings connection/account controls and gives Keybindings and Diagnostics appropriately wider layouts.
  • Tightens the theme-card minimum width so the library can fit three columns again when space allows.
  • Makes New thread create directly in the currently scoped project; All projects still opens the picker, and Shift-click still creates directly.
  • Aligns sidebar pin, working/done/woke, snooze/wake, settle, and un-settle states into stable compact slots.
  • Reorganizes thread context menus with consistent icons and separators.
  • Groups path, branch, and thread ID under a single Copy submenu and separates destructive Delete.
  • Adds matching submenu chevrons, icons, and separators to both web fallback and native desktop context menus.
  • Aligns terminal/right-panel header controls and keeps disabled panel icons the same size, position, and visual weight as enabled ones.
  • Gives inline file, skill, and context chips an explicit shared height and block-SVG geometry so icons and labels remain vertically centered at every prompt font size.

Usage

  • Moves Cost/Tokens, time range, and refresh controls into the top bar.
  • Shows the active date range in the Usage breadcrumb.
  • Restores a narrower left summary with the main total and provider amounts right-aligned beside the chart.
  • Removes Raw token cost, progress bars, and the separate provider legend.
  • Labels cost as an API estimate and keeps the session count directly below the total.
  • Keeps Codex and Claude Code visible in a stable order, including zero-usage providers, with brand markers, right-aligned values, and concise shares.
  • Keeps the aggregate session total beneath the headline and adds distinct per-provider session counts beside each harness name without double-counting sessions across buckets.
  • Replaces bar charts with smooth provider area/line curves for hourly and daily views.
  • Keeps each provider independently zero-based and prevents curves or scales from overshooting spikes.
  • Adds pointer-following hover details that stay clamped within the chart.
  • Simplifies the totals section to processed tokens, cached input, uncached input, output, and cache savings.
  • Standardizes the Model/Hour/Day breakdown selector and softens table hover styling.
  • Rebuilds the Usage loading skeleton to match the final provider, chart, totals, and breakdown layout.

Pull Requests

  • Moves the Pull Requests list onto the shared workspace header/content geometry.
  • Aligns search, refresh, filters, and the right-panel toggle consistently in full and condensed headers.
  • Keeps refresh near search and shows its active state while reloading.
  • Uses the standard outlined filter control while preserving the active-filter indicator.
  • Disables the right-panel toggle until a PR is selected and explains that state in its tooltip.
  • Restores the spacious PR detail view at the top and uses the new compact view only as the sticky scrolled state.
  • Keeps the overflow menu fixed at the top right in both expanded and compact states.
  • Crossfades from repository + PR number to PR number + title when the header condenses.
  • Makes the repository label open the repository root while the PR number opens the PR.
  • Keeps Summary, Timeline, and Code in a persistent segmented tab bar.
  • Shows checks beside Summary and comments/commits plus ordering controls beside Timeline.
  • Consolidates author/update time, branches, changed-file count, and diff totals into aligned expanded and compact metadata rows.
  • Hides the author name in the compact byline while retaining the avatar and timestamp, without a separator dot.
  • Makes the head branch copyable with inline Copied feedback and gives branch names the available width with safe truncation.
  • Shrink-wraps the branch copy hover/focus target to the visible branch label instead of filling the metadata row.
  • Marks stacked PRs when the base branch is non-default and keeps base freshness/update actions beside the base branch.
  • Aligns Reviewers, Labels, and Comments using consistent rows, columns, and vertical padding.
  • Combines the conflict state and action into one filled Resolve conflicts pill with an in-place preparing state.
  • Prioritizes conflict resolution even when the viewer cannot merge, while keeping the PR's normal open-state color.
  • Keeps checkout as a split control with separate-worktree and current-repository choices.
  • Tightens action/title spacing and keeps the panel usable at narrow widths.
  • Rebuilds PR list, detail, people, timeline, and conversation skeletons to match the current layouts and use one consistent opacity.
  • Keeps the full detail skeleton until core PR data is ready, then uses tab-specific loading states.

Terminal

  • Restores the bottom terminal drawer behavior so opening one terminal does not open a right sidebar.
  • Shows the terminal sidebar only when multiple terminal sessions exist.
  • Restores compact top controls for split right, split down, new terminal, close terminal, and hide bottom drawer.
  • Centers and left-aligns the toolbar/sidebar icons consistently.
  • Makes the multi-terminal sidebar resizable and persists its width.
  • Visually groups split terminals and labels their orientation as Split right or Split down.
  • Clarifies split panes with direction-aware dividers and focus-on-click behavior.
  • Supports up to four terminals in a split group while keeping separate new terminals in their own groups.
  • Adds persistent custom terminal names through inline double-click rename.
  • Saves terminal names on Enter/blur, cancels on Escape, and removes overrides when reset or closed.
  • Shows the generated terminal name and working directory in tooltips.
  • Turns each terminal icon into a close control on hover/focus and keeps custom names available anywhere terminal labels are shown.
  • Preserves terminal layout/name state per environment and thread while cleaning stale or closed terminal state.

Timeline, tool calls, and changed files

  • Keeps one shared live Working header and timer for the active turn.
  • Shows Thinking only until the active turn produces visible content.
  • Keeps normal turn folding/timing semantics while preventing active turns from folding or reordering.
  • Keeps Worked for… attached directly to the final response while collapsed after a mid-turn steer, then moves the disclosure above its hidden activity so history expands downward; matches assistant typography with balanced divider spacing.
  • Settles completed tool activity without creating extra transient work rows.
  • Shows the latest live tool action in place with concise labels such as Running git.
  • Sources live command labels from structured tool-start payloads so the first command appears immediately and start/update/completion remain one row instead of falling back to labels such as Running Bash:.
  • Makes the full live tool row clickable so in-progress batches can be expanded as calls arrive, preserves disclosure across lifecycle updates, and adds no extra chevron or hover fill.
  • Collapses completed tool batches into expandable, action-aware summaries such as files read/changed, commands run, searches, or tools used.
  • Uses matching summary icons, colors failures clearly, and removes redundant right-side success/status icons.
  • Keeps expanded command/tool details compact while preserving raw commands and structured results.
  • Collapses concurrent subagents into one agent CTA with count, status, token total, and responsive Open/View agents copy.
  • Prevents child-agent tool activity, plan-boundary events, status-only events, and persisted Codex terminal interactions from leaking into the parent timeline.
  • Removes duplicate Worked for…, Used tool, and synthetic child-turn rows caused by terminal interaction activity.
  • Replaces the pulse/dot treatment with a stationary text-and-icon focus sweep for Thinking and live tool calls.
  • Uses continuous transform-only animation with faded edges, a clean left-side restart, themed icon highlighting, and reduced-motion fallback.
  • Compacts changed-files cards and keeps their header sticky when expanded.
  • Keeps diff totals beside the changed-file count instead of pushing them to the far edge.
  • Replaces Show files / +N more with inline representative file previews and per-file diff stats.
  • Improves long file/folder truncation, keeps stats close to names, and retains a responsive Open diff action.

Validation

  • 45 focused web timeline tests passed after the downward-expansion change
  • 155 focused web regression tests passed on the final review wave
  • Latest 137-test server/web command-lifecycle suite passed
  • 7 focused desktop tests passed
  • 10 focused shared tests passed
  • Web, desktop, contracts, and shared typechecks passed
  • Production web build passed
  • All changed files pass formatting
  • Lint has no errors; one pre-existing warning remains outside the changed lines

Built with GPT-5.6 Sol via Codex in T3 Code.


Note

Low Risk
Mostly UI layout and menu structure; scoped new-thread behavior is a small product-logic change with tests updated. No auth, data, or security surface in this diff.

Overview
Introduces WorkspacePageHeader and WorkspacePageContainer so chat, empty-thread, onboarding, settings, and project settings share one top-bar geometry (safe area, collapsed-sidebar inset, Electron drag region, native control clearance) and optional readable/wide/expanded content widths. Settings pages adopt the container widths; panel layout toggles get themed foreground styling and a customizable disabled tooltip.

Context menus gain a contract-level separatorBefore flag, wired through Electron native menus (with deduped separators) and the web fallback, which also adds submenu chevrons and a broader icon set. Thread actions are reorganized: icons on lifecycle items, path/branch/thread ID grouped under Copy, and section separators before rename, copy, and archive.

Sidebar behavior updates: New thread creates directly in the active project scope (no picker repeat); row pin/status/snooze/settle controls use consistent micro buttons and icon sizing; settings footer navigation is centralized in SidebarUtilityMenu (Back on utility pages, shared with the main sidebar chrome).

Adds SegmentedTab / segmented toggle variants for shared tab styling, tightens composer inline chip vertical alignment, and adjusts theme library card min width for three-column layouts.

Reviewed by Cursor Bugbot for commit b53b569. Bugbot is set up for automated code reviews on this repo. Configure here.

Note

Fix UI consistency across sidebar, context menus, settings, and workspace headers

  • Introduces WorkspacePageHeader and WorkspacePageContainer components to standardize titlebar layout and content width across chat, settings, and onboarding views
  • Groups thread action menu copy actions into a 'Copy' submenu and adds icons and separators throughout; adds separatorBefore support to ContextMenuItem contracts, Electron menus, and the web fallback context menu
  • Clicking 'New Thread' while a project scope is active now creates the thread directly in that project without opening the project picker
  • Adds SegmentedTab and SegmentedTabList UI components and new segmented toggle variants for segmented control styling
  • Replaces the settings sidebar 'Back' button with SidebarUtilityMenu; back navigation now uses browser history when available
  • Fixes inline chip icon and label alignment via block display and self-centering classes

Macroscope summarized b53b569.

Loading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XL 500-999 changed lines (additions + deletions). vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant