Skip to content

fix(web): scope timeline minimap hover target to the side gutter#3869

Merged
juliusmarminge merged 2 commits into
pingdotgg:mainfrom
xxashxx-svg:fix/minimap-hover-scoped-to-gutter
Jul 20, 2026
Merged

fix(web): scope timeline minimap hover target to the side gutter#3869
juliusmarminge merged 2 commits into
pingdotgg:mainfrom
xxashxx-svg:fix/minimap-hover-scoped-to-gutter

Conversation

@xxashxx-svg

@xxashxx-svg xxashxx-svg commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

Fixes #3702

What

At non-default zoom (Cmd+Plus a few times) or at normal zoom with a wide sidebar / narrow window, the timeline minimap's hover target extends into the message text area: hovering body text triggers the minimap preview popover, the Copy button next to the timestamp can't appear, and text selection fights an invisible overlay.

Why it happens

The minimap is absolute left-0 on the full-width timeline viewport with a fixed hit strip (left-3 w-10, i.e. x = 12–52px) — and its w-18 wrapper is pointer-events-auto too, so the interactive region is really the leftmost ~72px. Meanwhile the message column is centered (max-w-3xl), so the side gutter between the viewport edge and the text is (viewportWidth − 768) / 2. Zooming in shrinks the effective CSS viewport width, and a wide sidebar shrinks the pane — both collapse that gutter toward zero while the fixed-px overlay stays put, landing it on top of the text. The pointer hit-test (resolveTimelineMinimapIndexFromPointer) only bounds the Y axis, so nothing stops it.

The Copy-button symptom is the same mechanism: the overlay swallows the pointer, so the message row's .group never enters :hover and group-hover:opacity-100 on the action row never fires.

Change

  • New pure helper resolveTimelineMinimapHitStripWidth(viewportWidth) in MessagesTimeline.logic.ts (same shape/placement as the existing resolveTimelineMinimapHasPersistentGutter): caps the strip's width to what actually fits between the viewport edge and the content column; returns 0 when there's no usable gutter.
  • The strip <button> takes that measured width (wide layouts keep the exact 40px they have today) and goes pointer-events-none at width 0.
  • The w-18 wrapper is now pointer-events-none, so only the width-capped strip captures the pointer. Hover-reveal still works — hovering the strip puts its ancestors in :hover, which is what the wrapper's hover:opacity-100 keys off — but it's now correctly scoped to the gutter. Keyboard navigation (focus + arrows) is unaffected.

Measurement reuses the existing ResizeObserver on the timeline viewport — no new observers or listeners.

Tests

Extended the existing logic-function test with the new helper: no-gutter (768/792 → 0, inert), partial gutter (820 → 14px strip), full gutter (872/1400 → 40px, today's behavior), and degenerate inputs. vp check and vp run typecheck pass; the full MessagesTimeline suite (12 tests) passes.

🤖 Generated with Claude Code


Note

Low Risk
Localized chat UI pointer-event and layout logic with pure helpers and unit tests; no auth, data, or API changes.

Overview
Fixes the timeline minimap stealing pointer events over message text when zoom, a wide sidebar, or a narrow pane shrinks the side gutter while the hit area stayed a fixed ~40px wide.

Adds resolveTimelineMinimapHitStripWidth and resolveTimelineMinimapInteractiveWidth so the hover strip width tracks available gutter space (0 when there is no gutter, up to 40px when there is). The existing viewport ResizeObserver feeds that width into TimelineMinimap.

The minimap shell is pointer-events-none; only the gutter-capped strip is interactive when width > 0. With a preview open, the interactive region widens to 22rem so the popover stays usable. Preview content is select-text with data-minimap-preview, and clicks there no longer trigger jump-to-message.

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

Note

Scope timeline minimap hover target to the side gutter width

  • The minimap hit strip now dynamically computes its width based on the available side gutter (viewport width minus capped content width), going fully inert when no gutter exists.
  • When a preview is open, the interactive area expands to a fixed 22rem; otherwise it stays narrow and gutter-capped.
  • Events targeting the preview bubble are ignored by minimap button handlers, so text in the preview can be selected without triggering minimap actions.
  • Behavioral Change: the minimap is now non-interactive on narrow viewports where no side gutter exists.
📊 Macroscope summarized c38df6f. 2 files reviewed, 0 issues evaluated, 0 issues filtered, 0 comments posted

🗂️ Filtered Issues

No issues evaluated.

The minimap overlay is anchored to the timeline viewport's left edge with
a fixed-width hover strip (left-3 w-10) and an always-interactive w-18
wrapper, while the message column is centered. Under browser zoom or a
narrow pane the side gutter between them collapses, so the fixed strip
lands on top of the message text: hovering body text pops the minimap
preview, the copy button next to the timestamp never reveals (the row's
group-hover can't fire while the overlay swallows the pointer), and text
selection fights the overlay.

Cap the strip's width to what actually fits between the viewport edge and
the content column, measured from the already-observed viewport width;
with no usable gutter the strip goes inert. The wrapper is now
pointer-events-none so only the width-capped strip captures the pointer
(hover reveal still works — hovering the strip puts its ancestors in
:hover). Wide layouts keep the exact 40px strip they have today.

Fixes pingdotgg#3702

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Jul 10, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: b3ff4bbc-1a2e-44cf-9356-9903f2862015

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions github-actions Bot added size:M 30-99 changed lines (additions + deletions). vouch:unvouched PR author is not yet trusted in the VOUCHED list. labels Jul 10, 2026
@macroscopeapp

macroscopeapp Bot commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Needs human review

1 blocking correctness issue found. An unresolved review comment identifies a potential bug where the expanded hit strip width applies to the full-height button, causing it to intercept pointer events from message text - contradicting the PR's stated goal of scoping hover targets to the side gutter.

You can customize Macroscope's approvability policy. Learn more.

@juliusmarminge
juliusmarminge self-requested a review July 20, 2026 08:46
- Keep collapsed minimap hit targets narrow
- Preserve interaction with expanded preview content
@juliusmarminge
juliusmarminge enabled auto-merge (squash) July 20, 2026 11:14
event.preventDefault();
}}
style={{ height: resolveTimelineMinimapHeightStyle(items.length) }}
style={{

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Medium chat/MessagesTimeline.tsx:744

When activeItem becomes non-null, the button width expands to the full expanded hit strip width for its entire height, and that whole rectangle stays pointer-events-auto. Moving the pointer over message text within that expanded area still hits the button, and onMouseMove keeps repositioning the active preview instead of letting the underlying message row receive hover/selection. The intent of this change is to keep only the preview (and the narrow gutter leading to it) interactive, so consider applying pointer-events-auto and the expanded width only to the preview strip, not the full-height button.

🤖 Copy this AI Prompt to have your agent fix this:
In file @apps/web/src/components/chat/MessagesTimeline.tsx around line 744:

When `activeItem` becomes non-null, the button width expands to the full expanded hit strip width for its entire height, and that whole rectangle stays `pointer-events-auto`. Moving the pointer over message text within that expanded area still hits the button, and `onMouseMove` keeps repositioning the active preview instead of letting the underlying message row receive hover/selection. The intent of this change is to keep only the preview (and the narrow gutter leading to it) interactive, so consider applying `pointer-events-auto` and the expanded width only to the preview strip, not the full-height button.

@juliusmarminge
juliusmarminge merged commit 946b867 into pingdotgg:main Jul 20, 2026
16 checks passed
adamfgr pushed a commit to agriffiths-bots/t3code that referenced this pull request Jul 21, 2026
* fix(server): resolve Claude SDK executable path on Windows npm installs (pingdotgg#3740)

* Fix project action preview settings persistence (pingdotgg#3842)

* fix(desktop): allow clipboard writes in the preview browser (pingdotgg#3889)

* fix(web): handle sidebar shortcut before editors (pingdotgg#3921)

* fix(server): recognize Bedrock-backed Claude as authenticated (pingdotgg#3931)

* Fix incorrect pluralization of “entry” (pingdotgg#3933)

* feat(server): title background-task work-log rows with the task name (pingdotgg#3751)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix: delegate OpenCode session titles to provider (pingdotgg#3720)

* Archive selected threads from the context menu (pingdotgg#3895)

* fix(cli): support force removing projects (pingdotgg#3922)

* fix: allow sidebar to be shrunk when wider than viewport (pingdotgg#2456)

Co-authored-by: Shoaib Ansari <shoaibansari@Shoaibs-Mac-mini.local>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(codex): show web search query and url in tool call details (pingdotgg#2093)

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* Add Codex launch arguments setting (pingdotgg#2892)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Julius Marminge <jmarminge@gmail.com>
Co-authored-by: root <root@localhost.localdomain>

* [orchestration] Clear stale active turn when session becomes inactive (pingdotgg#3159)

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* Regenerate Codex reset credit protocol bindings (pingdotgg#4173)

Co-authored-by: codex <codex@users.noreply.github.com>

* fix(preview): preserve direct localhost navigation (pingdotgg#3939)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: codex <codex@users.noreply.github.com>

* Synchronize mobile threads with authoritative shell snapshots (pingdotgg#4163)

Co-authored-by: codex <codex@users.noreply.github.com>

* Gate iOS glass layout on native support (pingdotgg#4032)

Co-authored-by: codex <codex@users.noreply.github.com>

* fix(opencode): resume the OpenCode session on follow-ups instead of starting an empty one (pingdotgg#3617)

Co-authored-by: codex <codex@users.noreply.github.com>

* fix(server): use CLI for OpenCode health check instead of spawning server (pingdotgg#4153)

* fix(web): scope timeline minimap hover target to the side gutter (pingdotgg#3869)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* [codex] show complete approval details (pingdotgg#4111)

* fix(web): paint text selection over composer chips (pingdotgg#4139)

Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>

* [codex] preserve custom model slugs (pingdotgg#4168)

* fix(web): preview workspace images in the file panel (pingdotgg#3996)

Co-authored-by: Rhiz3K <rhiz3k@protonmail.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* feat(web): drag files from the explorer into the chat composer (pingdotgg#4140)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>

* fix(desktop): preserve main window bounds (pingdotgg#3851)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: codex <codex@users.noreply.github.com>

* perf(orchestration): speed up new-chat propagation and offline catch-up (pingdotgg#4177)

Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* Finale: upgrade changed files card to fix various UI issues (pingdotgg#4113)

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(web): always show environment chip for remote projects (pingdotgg#4217)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* chore: reconcile upstream sync (20260721) — typecheck/test fixups

Post-cherry-pick reconciliation of the shell/thread sync rewrite:
- adopt upstream's client shell.ts + shell-sync.test.ts (drops the fork's
  superseded #142 replay-gap watchdog; server no longer emits 'caught-up')
- remove the orphaned 'caught-up' contract member and obsolete fork shell
  server tests (upstream's coalescing tests cover the behavior)
- keep the fork's thread reconciliation, resubscribing via subscribeDynamic
  (establish base once; foreground/session resubscribe via the live cursor)
- add latestSequence to OrchestrationEngine test mocks; thread dispatch
  authority in bin.test; narrow stream-item unions past the new 'synchronized'

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

---------

Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
Co-authored-by: David Whatley <nsxdavid@gmail.com>
Co-authored-by: coach007 <6238600+keeperxy@users.noreply.github.com>
Co-authored-by: Carlos Rico-Ospina <carlosricojr@gmail.com>
Co-authored-by: Andrew Barnes <bortstheboat@gmail.com>
Co-authored-by: Pieter van Zyl <20579513+PieterVanZyl-Dev@users.noreply.github.com>
Co-authored-by: mel <mcmelon@nodiumhosting.com>
Co-authored-by: Theo Browne <me@t3.gg>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Tristan Knight <tris203@gmail.com>
Co-authored-by: Christoph Herzog <a.github@omega-id.com>
Co-authored-by: Shoaib <shoaib050326@gmail.com>
Co-authored-by: Shoaib Ansari <shoaibansari@Shoaibs-Mac-mini.local>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Guilherme Vieira <46866023+GuilhermeVieiraDev@users.noreply.github.com>
Co-authored-by: James <105842516+jamesx0416@users.noreply.github.com>
Co-authored-by: Julius Marminge <jmarminge@gmail.com>
Co-authored-by: root <root@localhost.localdomain>
Co-authored-by: Andrew Forster <76947376+Andrew-Forster@users.noreply.github.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Chris Michael Guzman <67719167+Chrrxs@users.noreply.github.com>
Co-authored-by: Vadym Kotai <vdmkotai@gmail.com>
Co-authored-by: Utkarsh Patil <73941998+UtkarshUsername@users.noreply.github.com>
Co-authored-by: xxashxx-svg <xxanshxx9@gmail.com>
Co-authored-by: Maxwell Young <maxtheyoung@gmail.com>
Co-authored-by: Yordis Prieto <yordis.prieto@gmail.com>
Co-authored-by: Rhiz3K <33246262+Rhiz3K@users.noreply.github.com>
Co-authored-by: Rhiz3K <rhiz3k@protonmail.com>
Co-authored-by: Anirudh Coontoor <me@anirudhs.net>
Co-authored-by: Rusiru Sadathana <rusirusadathana@gmail.com>
Co-authored-by: ss <69873514+sandersonstabo@users.noreply.github.com>
Co-authored-by: wizzoapp[bot] <254688279+wizzoapp[bot]@users.noreply.github.com>
DanielGGordon added a commit to DanielGGordon/t3code that referenced this pull request Jul 24, 2026
* Use rounded depth logo for production splash screen (pingdotgg#3780)

Co-authored-by: Cursor Agent <cursoragent@cursor.com>

* fix(release): stage pnpm 11 allowBuilds for desktop installs (pingdotgg#3781)

Co-authored-by: Cursor Agent <cursoragent@cursor.com>

* Upgrade Clerk toolchain to latest versions (pingdotgg#3785)

* fix(release): bump electron-builder so pnpm 11 deduped deps land in the asar (pingdotgg#3790)

* Fix desktop native optional dependency packaging (pingdotgg#3816)

* [codex] Upgrade Clerk stack (pingdotgg#3821)

Co-authored-by: codex <codex@users.noreply.github.com>

* [codex] Preserve worktree metadata during branch sync (pingdotgg#3822)

Co-authored-by: codex <codex@users.noreply.github.com>

* feat(client): persist offline environment data and mobile preferences (pingdotgg#3795)

Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: codex <codex@users.noreply.github.com>

* [codex] Label max and ultra reasoning (pingdotgg#3824)

Co-authored-by: codex <codex@users.noreply.github.com>

* fix(mobile): embed fonts and render project favicons reliably (pingdotgg#3823)

Co-authored-by: codex <codex@users.noreply.github.com>

* Show compact PR number badges in mobile thread rows (pingdotgg#3827)

Co-authored-by: codex <codex@users.noreply.github.com>

* Expose mobile PR indicator labels to accessibility (pingdotgg#3828)

Co-authored-by: codex <codex@users.noreply.github.com>

* Fix truncated chat error alert layout (pingdotgg#3899)

* fix(marketing): show platform-appropriate commit shortcut on the website (pingdotgg#3644)

* [codex] Add Android mobile support (pingdotgg#3579)

Co-authored-by: Horus Lugo <horusgoul@gmail.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: maria-rcks <maria@kuuro.net>
Co-authored-by: Shivam Sharma <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: Ben Davis <45952064+bmdavis419@users.noreply.github.com>
Co-authored-by: Alex <me@pixp.cc>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius@mac.lan>

* Use client-side fallbacks for missing project favicons (pingdotgg#3959)

* Skip stale working-task notifications (pingdotgg#3961)

* Prepare Android beta branding and review diff UI (pingdotgg#3967)

* perf(web): duty-cycle status animations and remove fixed noise overlay (pingdotgg#3978)

* fix(docs): correct CI task-runner commands in ci.md (pingdotgg#3990)

* fix(docs): repair broken source links in architecture overview (pingdotgg#3991)

* fix(docs): replace stale codething-mvp absolute paths with repo-relative links (pingdotgg#3992)

* docs: Add T3 Code Legal Docs (pingdotgg#3972)

Co-authored-by: codex <codex@users.noreply.github.com>

* Fix Legal modal header crash (pingdotgg#4000)

Co-authored-by: codex <codex@users.noreply.github.com>

* [codex] Fix onboarding connection status (pingdotgg#4001)

Co-authored-by: codex <codex@users.noreply.github.com>

* Isolate native diff highlight grammar state (pingdotgg#4029)

* Fix macOS fullscreen titlebar spacing (pingdotgg#4019)

* Prevent duplicate project workspace roots (pingdotgg#3829)

Co-authored-by: codex <codex@users.noreply.github.com>

* Normalize over-indented markdown list items (pingdotgg#4020)

Co-authored-by: codex <codex@users.noreply.github.com>

* Resolve localhost preview URLs for remote environments (pingdotgg#4011)

Co-authored-by: codex <codex@users.noreply.github.com>

* fix(mobile): Send composer images in upload wire format (pingdotgg#4035)

* Fix iOS terminal Enter input encoding (pingdotgg#4043)

* Add native mobile share target support (pingdotgg#4021)

Co-authored-by: codex <codex@users.noreply.github.com>

* [codex] Expand real-route app store screenshot harness (pingdotgg#4014)

Co-authored-by: codex <codex@users.noreply.github.com>

* fix(server): use CLAUDE_CONFIG_DIR instead of HOME for Claude instanc… (pingdotgg#4017)

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>

* Fix dropped events during initial thread snapshot (pingdotgg#4079)

* feat: show nightly update changelog tooltip (pingdotgg#3832)

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>

* fix(git): treat selected commit paths literally (pingdotgg#3998)

* fix(server): stabilize non-repository Git diagnostics (pingdotgg#4077)

* Refresh app icons across release variants (pingdotgg#4080)

Co-authored-by: codex <codex@users.noreply.github.com>

* Update marketing GitHub star count (pingdotgg#4088)

* fix(marketing): correct Cursor icon color (pingdotgg#4090)

* Normalize protocol-relative remote host input as https (pingdotgg#3971)

* fix(cursor): default binary path to cursor-agent (avoid path conflict w/ grok) (pingdotgg#4094)

* Fix documented task-runner commands (bun run -> vp) (pingdotgg#3965)

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* Allow preview panel to grow on wide displays (pingdotgg#4044)

* fix: prevent initial right-click from selecting a context menu item (pingdotgg#3877)

* Fix duplicate keybinding rule when replacing with an existing rule (pingdotgg#3969)

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(server): image upload crashed dispatchCommand with a stack overflow (pingdotgg#3952)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* Remove unused code parameter from describePreviewError (pingdotgg#3970)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Julius Marminge <jmarminge@gmail.com>

* [codex] prevent ACP assistant ID collisions after restarts (pingdotgg#3932)

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(web): inset Windows desktop scrollbars from resize edge (pingdotgg#4097)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Julius Marminge <jmarminge@gmail.com>

* [codex] fix mobile composer Enter behavior (pingdotgg#3930)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: codex <codex@users.noreply.github.com>

* feat(server): include runtime model and effort in Codex developer instructions (pingdotgg#3948)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(ux): spamming cmd + , no longer stack opening settings (pingdotgg#2757)

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(terminal): strip AppImage runtime env from spawned terminals (pingdotgg#3108)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: codex <codex@users.noreply.github.com>

* fix(server): thread cwd through Claude capability probe (pingdotgg#2048) (pingdotgg#2124)

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* [codex] fix: guard invalid web timestamps (pingdotgg#3515)

Co-authored-by: Codex <codex@openai.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* [codex] fix: tolerate invalid latest user message timestamps (pingdotgg#3521)

Co-authored-by: Codex <codex@openai.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* [codex] Fix provider update checks restore defaults (pingdotgg#3531)

Co-authored-by: Codex <codex@openai.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(server): skip undecodable provider runtime rows when listing sessions (pingdotgg#3951)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Julius Marminge <jmarminge@gmail.com>
Co-authored-by: codex <codex@users.noreply.github.com>

* Share MCP OAuth locks across Codex shadow homes (pingdotgg#4104)

* Preserve T3 Code identity in macOS development launcher (pingdotgg#4102)

* fix(web): increase contrast of question option descriptions (pingdotgg#3867)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* feat: draft hero landing on the index route (pingdotgg#4055)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>

* feat: file explorer mention actions and zoom-aware context menus (pingdotgg#4054)

Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(web): avoid duplicate mention text on paste

Co-authored-by: codex <codex@users.noreply.github.com>

* fix(mobile): restore iOS home screen branding (pingdotgg#4025)

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* perf(client): defer active thread cache writes (pingdotgg#4006)

* Default diffs to working changes (pingdotgg#3974)

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* Add Grok to marketing site provider list (pingdotgg#3484)

* Fix reopening existing Diff tab (pingdotgg#3973)

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* Fix sending messages during active turns (pingdotgg#3919)

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* [codex] Route OpenCode missing-session errors through Effect (pingdotgg#3608)

Co-authored-by: Codex <codex@openai.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* [fix/feat:ui] Show default option badge (pingdotgg#3232)

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* [fix/feat:ui] Preserve open-in editor brand colors (pingdotgg#3225)

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(web): handle macOS Home and End in composer (pingdotgg#2508)

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* Allow failed remote environments to be removed (pingdotgg#4084)

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* [codex] canonicalize client timestamps (pingdotgg#4112)

* [fix/feat:ui] Make selected menu checks blue (pingdotgg#3234)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: codex <codex@users.noreply.github.com>

* fix(desktop): Validate WSL node version against engine range after probe success (pingdotgg#3621)

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* Refresh splash screen and favicon branding (pingdotgg#4120)

* Add terminal selection copy action (pingdotgg#2904)

* Add isolated app testing workflow (pingdotgg#4121)

Co-authored-by: codex <codex@users.noreply.github.com>

* feat(web): themed sidebar header art for nightly and dev builds (pingdotgg#4130)

Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Julius Marminge <jmarminge@gmail.com>

* feat: add headless `t3 connect` setup for SSH hosts (pingdotgg#3749)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: codex <codex@users.noreply.github.com>

* Refine T3 Connect authorization surfaces (pingdotgg#4159)

Co-authored-by: codex <codex@users.noreply.github.com>

* fix: increase OpenCode server startup timeout from 5s to 30s (pingdotgg#4132)

* fix(shared): delete unused agentAwareness phase predicates (pingdotgg#4134)

* fix(mobile): Stabilize native stack option updates (pingdotgg#4037)

Co-authored-by: codex <codex@users.noreply.github.com>

* Make test-t3-app skill discoverable by Claude Code (pingdotgg#4162)

Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>

* fix(web): improve dev sidebar backdrop contrast & remove version pills (pingdotgg#4166)

* Fix draft banner stack overlap (pingdotgg#4164)

Co-authored-by: codex <codex@users.noreply.github.com>

* Add portable mobile app testing guidance (pingdotgg#4165)

Co-authored-by: codex <codex@users.noreply.github.com>

* fix(client): use lightweight connection probe (pingdotgg#4137)

* fix(server): resolve Claude SDK executable path on Windows npm installs (pingdotgg#3740)

* Fix project action preview settings persistence (pingdotgg#3842)

* fix(desktop): allow clipboard writes in the preview browser (pingdotgg#3889)

* fix(web): handle sidebar shortcut before editors (pingdotgg#3921)

* fix(server): recognize Bedrock-backed Claude as authenticated (pingdotgg#3931)

* Fix incorrect pluralization of “entry” (pingdotgg#3933)

* feat(server): title background-task work-log rows with the task name (pingdotgg#3751)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix: delegate OpenCode session titles to provider (pingdotgg#3720)

* Archive selected threads from the context menu (pingdotgg#3895)

* fix(cli): support force removing projects (pingdotgg#3922)

* fix: allow sidebar to be shrunk when wider than viewport (pingdotgg#2456)

Co-authored-by: Shoaib Ansari <shoaibansari@Shoaibs-Mac-mini.local>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(codex): show web search query and url in tool call details (pingdotgg#2093)

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* Add Codex launch arguments setting (pingdotgg#2892)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Julius Marminge <jmarminge@gmail.com>
Co-authored-by: root <root@localhost.localdomain>

* [orchestration] Clear stale active turn when session becomes inactive (pingdotgg#3159)

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* Regenerate Codex reset credit protocol bindings (pingdotgg#4173)

Co-authored-by: codex <codex@users.noreply.github.com>

* fix(preview): preserve direct localhost navigation (pingdotgg#3939)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: codex <codex@users.noreply.github.com>

* Synchronize mobile threads with authoritative shell snapshots (pingdotgg#4163)

Co-authored-by: codex <codex@users.noreply.github.com>

* Gate iOS glass layout on native support (pingdotgg#4032)

Co-authored-by: codex <codex@users.noreply.github.com>

* fix(opencode): resume the OpenCode session on follow-ups instead of starting an empty one (pingdotgg#3617)

Co-authored-by: codex <codex@users.noreply.github.com>

* fix(server): use CLI for OpenCode health check instead of spawning server (pingdotgg#4153)

* fix(web): scope timeline minimap hover target to the side gutter (pingdotgg#3869)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* [codex] show complete approval details (pingdotgg#4111)

* fix(web): paint text selection over composer chips (pingdotgg#4139)

Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>

* [codex] preserve custom model slugs (pingdotgg#4168)

* fix(web): preview workspace images in the file panel (pingdotgg#3996)

Co-authored-by: Rhiz3K <rhiz3k@protonmail.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* feat(web): drag files from the explorer into the chat composer (pingdotgg#4140)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>

* fix(desktop): preserve main window bounds (pingdotgg#3851)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: codex <codex@users.noreply.github.com>

* perf(orchestration): speed up new-chat propagation and offline catch-up (pingdotgg#4177)

Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* Finale: upgrade changed files card to fix various UI issues (pingdotgg#4113)

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* Pass CLI OAuth config to hosted web deploy (pingdotgg#4186)

Co-authored-by: codex <codex@users.noreply.github.com>

* fix(web): always show environment chip for remote projects (pingdotgg#4217)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(web): keep composer editable while disconnected (pingdotgg#4241)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix: better defaults — Claude 1M context, Codex gpt-5.6, worktrees from origin main (pingdotgg#4240)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(claude): handle all SDK stream messages; stop spurious work-log warning rows (pingdotgg#4244)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

---------

Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Rowan <rowan@cardow.co>
Co-authored-by: Patricio Gómez Meneses <107218376+Prgm-code@users.noreply.github.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: Jake Leventhal <jakeleventhal@me.com>
Co-authored-by: Vedank Purohit <VedankPurohit2@gmail.com>
Co-authored-by: Horus Lugo <horusgoul@gmail.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: maria-rcks <maria@kuuro.net>
Co-authored-by: Shivam Sharma <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: Ben Davis <45952064+bmdavis419@users.noreply.github.com>
Co-authored-by: Alex <me@pixp.cc>
Co-authored-by: Theo Browne <me@t3.gg>
Co-authored-by: Kriday Dave <technocratix902@gmail.com>
Co-authored-by: Ishan <ishansachu1@gmail.com>
Co-authored-by: Dimitar Stoykov <mitkostoikov1988@gmail.com>
Co-authored-by: Hugo Vizcaino Santana <42343504+HugoVizcainoSantana@users.noreply.github.com>
Co-authored-by: Eric Tsai <52527831+EricTsai83@users.noreply.github.com>
Co-authored-by: Manuel De Ceglie <80224270+AmoonPod@users.noreply.github.com>
Co-authored-by: BunnyGamezsc <146652788+BunnyGamezsc@users.noreply.github.com>
Co-authored-by: Olivier Melcher <olivier.melcher@gmail.com>
Co-authored-by: Fazal Kadivar <fazalkadivar7@gmail.com>
Co-authored-by: Julius Marminge <jmarminge@gmail.com>
Co-authored-by: Maxwell Young <maxtheyoung@gmail.com>
Co-authored-by: Yukun Shan <92423096+nateEc@users.noreply.github.com>
Co-authored-by: James <105842516+jamesx0416@users.noreply.github.com>
Co-authored-by: Leonel Rivas <herial_vi@icloud.com>
Co-authored-by: Matt Van Horn <mvanhorn@users.noreply.github.com>
Co-authored-by: Wout Stiens <71498452+StiensWout@users.noreply.github.com>
Co-authored-by: Codex <codex@openai.com>
Co-authored-by: xxashxx-svg <xxanshxx9@gmail.com>
Co-authored-by: Yordis Prieto <yordis.prieto@gmail.com>
Co-authored-by: Chris Michael Guzman <67719167+Chrrxs@users.noreply.github.com>
Co-authored-by: Aditya Mer <101453576+Aditya190803@users.noreply.github.com>
Co-authored-by: ss <69873514+sandersonstabo@users.noreply.github.com>
Co-authored-by: Guilherme Vieira <46866023+GuilhermeVieiraDev@users.noreply.github.com>
Co-authored-by: Noah Zepner <noah@zepner.dev>
Co-authored-by: Utkarsh Patil <73941998+UtkarshUsername@users.noreply.github.com>
Co-authored-by: Taras <Taras.Fomin@gmail.com>
Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: eeinarsson <128746408+eeinarsson@users.noreply.github.com>
Co-authored-by: David Whatley <nsxdavid@gmail.com>
Co-authored-by: coach007 <6238600+keeperxy@users.noreply.github.com>
Co-authored-by: Carlos Rico-Ospina <carlosricojr@gmail.com>
Co-authored-by: Andrew Barnes <bortstheboat@gmail.com>
Co-authored-by: Pieter van Zyl <20579513+PieterVanZyl-Dev@users.noreply.github.com>
Co-authored-by: mel <mcmelon@nodiumhosting.com>
Co-authored-by: Tristan Knight <tris203@gmail.com>
Co-authored-by: Christoph Herzog <a.github@omega-id.com>
Co-authored-by: Shoaib <shoaib050326@gmail.com>
Co-authored-by: Shoaib Ansari <shoaibansari@Shoaibs-Mac-mini.local>
Co-authored-by: root <root@localhost.localdomain>
Co-authored-by: Andrew Forster <76947376+Andrew-Forster@users.noreply.github.com>
Co-authored-by: Vadym Kotai <vdmkotai@gmail.com>
Co-authored-by: Rhiz3K <33246262+Rhiz3K@users.noreply.github.com>
Co-authored-by: Rhiz3K <rhiz3k@protonmail.com>
Co-authored-by: Anirudh Coontoor <me@anirudhs.net>
Co-authored-by: Rusiru Sadathana <rusirusadathana@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:M 30-99 changed lines (additions + deletions). vouch:unvouched PR author is not yet trusted in the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: Timeline minimap hover target extends into text content area at non-default zoom levels

2 participants