fix(web): keep remote icon visible on hover - #8132
Conversation
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
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. Comment |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Want fixes drafted automatically? Bugbot Autofix can create code changes for findings. A team admin can enable Autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit bca5029. Configure here.
There was a problem hiding this comment.
Reviewed the moved cloud indicator against the row's hover/confirm states. One concrete regression: the icon is now also visible during the archive-confirmation state, where it sits underneath the translucent Confirm chip.
Posted via Macroscope — UI Consistency
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: bca5029cc4
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
ApprovabilityVerdict: Approved at Macroscope's review found this PR approvable — This is a localized one-file sidebar UI fix that keeps remote-environment context visible on hover while preserving the existing metadata fade behavior. Archive confirmation explicitly hides the icon to avoid overlap, with no data, API, security, or infrastructure impact. You can add or adjust custom eligibility rules. Learn more. |
There was a problem hiding this comment.
One finding on the archive-confirmation fix: unmounting the cloud indicator changes row layout, where the previous code preserved it via opacity. Details inline.
Posted via Macroscope — UI Consistency
## Problem Hovering a remote-machine thread hides its cloud icon along with the timestamp, removing useful machine context just as the user is about to act on the row. ## Fix The remote indicator now sits beside the hover-fading metadata block. The timestamp or jump hint still yields to the archive action, while the cloud stays visible. LastCode-specific sidebar scaling and annotation behavior are preserved. Upstream proposal: pingdotgg#8132 ## Validation - Focused formatting and lint for `LegacySidebar.tsx` - Web typecheck - `apps/web/src/legacySidebarScale.test.ts` (3 tests) - Push-gated quick local CI: format, lint, all workspace typechecks, and all workspace tests passed ## UI evidence The reporter supplied the before screenshot. Automated after-image capture was not available because this clean worktree has no paired remote-environment fixture. The DOM relationship was verified directly: the cloud is no longer a descendant of the metadata element whose hover class sets opacity to zero. Implemented with GPT-5.6 Codex in the T3 Code harness.
|
Closing because this PR was opened in error. The reported behavior is specific to LastCode, and no upstream change was requested or intended. Sorry for the noise. |
## Problem Hovering a remote-machine thread hides its cloud icon along with the timestamp, removing useful machine context just as the user is about to act on the row. ## Fix The remote indicator now sits beside the hover-fading metadata block. The timestamp or jump hint still yields to the archive action, while the cloud stays visible. LastCode-specific sidebar scaling and annotation behavior are preserved. Upstream proposal: pingdotgg#8132 ## Validation - Focused formatting and lint for `LegacySidebar.tsx` - Web typecheck - `apps/web/src/legacySidebarScale.test.ts` (3 tests) - Push-gated quick local CI: format, lint, all workspace typechecks, and all workspace tests passed ## UI evidence The reporter supplied the before screenshot. Automated after-image capture was not available because this clean worktree has no paired remote-environment fixture. The DOM relationship was verified directly: the cloud is no longer a descendant of the metadata element whose hover class sets opacity to zero. Implemented with GPT-5.6 Codex in the T3 Code harness.
## Problem Hovering a remote-machine thread hides its cloud icon along with the timestamp, removing useful machine context just as the user is about to act on the row. ## Fix The remote indicator now sits beside the hover-fading metadata block. The timestamp or jump hint still yields to the archive action, while the cloud stays visible. LastCode-specific sidebar scaling and annotation behavior are preserved. Upstream proposal: pingdotgg#8132 ## Validation - Focused formatting and lint for `LegacySidebar.tsx` - Web typecheck - `apps/web/src/legacySidebarScale.test.ts` (3 tests) - Push-gated quick local CI: format, lint, all workspace typechecks, and all workspace tests passed ## UI evidence The reporter supplied the before screenshot. Automated after-image capture was not available because this clean worktree has no paired remote-environment fixture. The DOM relationship was verified directly: the cloud is no longer a descendant of the metadata element whose hover class sets opacity to zero. Implemented with GPT-5.6 Codex in the T3 Code harness.
## Problem Hovering a remote-machine thread hides its cloud icon along with the timestamp, removing useful machine context just as the user is about to act on the row. ## Fix The remote indicator now sits beside the hover-fading metadata block. The timestamp or jump hint still yields to the archive action, while the cloud stays visible. LastCode-specific sidebar scaling and annotation behavior are preserved. Upstream proposal: pingdotgg#8132 ## Validation - Focused formatting and lint for `LegacySidebar.tsx` - Web typecheck - `apps/web/src/legacySidebarScale.test.ts` (3 tests) - Push-gated quick local CI: format, lint, all workspace typechecks, and all workspace tests passed ## UI evidence The reporter supplied the before screenshot. Automated after-image capture was not available because this clean worktree has no paired remote-environment fixture. The DOM relationship was verified directly: the cloud is no longer a descendant of the metadata element whose hover class sets opacity to zero. Implemented with GPT-5.6 Codex in the T3 Code harness.
## Problem Hovering a remote-machine thread hides its cloud icon along with the timestamp, removing useful machine context just as the user is about to act on the row. ## Fix The remote indicator now sits beside the hover-fading metadata block. The timestamp or jump hint still yields to the archive action, while the cloud stays visible. LastCode-specific sidebar scaling and annotation behavior are preserved. Upstream proposal: pingdotgg#8132 ## Validation - Focused formatting and lint for `LegacySidebar.tsx` - Web typecheck - `apps/web/src/legacySidebarScale.test.ts` (3 tests) - Push-gated quick local CI: format, lint, all workspace typechecks, and all workspace tests passed ## UI evidence The reporter supplied the before screenshot. Automated after-image capture was not available because this clean worktree has no paired remote-environment fixture. The DOM relationship was verified directly: the cloud is no longer a descendant of the metadata element whose hover class sets opacity to zero. Implemented with GPT-5.6 Codex in the T3 Code harness.
## Problem Hovering a remote-machine thread hides its cloud icon along with the timestamp, removing useful machine context just as the user is about to act on the row. ## Fix The remote indicator now sits beside the hover-fading metadata block. The timestamp or jump hint still yields to the archive action, while the cloud stays visible. LastCode-specific sidebar scaling and annotation behavior are preserved. Upstream proposal: pingdotgg#8132 ## Validation - Focused formatting and lint for `LegacySidebar.tsx` - Web typecheck - `apps/web/src/legacySidebarScale.test.ts` (3 tests) - Push-gated quick local CI: format, lint, all workspace typechecks, and all workspace tests passed ## UI evidence The reporter supplied the before screenshot. Automated after-image capture was not available because this clean worktree has no paired remote-environment fixture. The DOM relationship was verified directly: the cloud is no longer a descendant of the metadata element whose hover class sets opacity to zero. Implemented with GPT-5.6 Codex in the T3 Code harness.
## Problem Hovering a remote-machine thread hides its cloud icon along with the timestamp, removing useful machine context just as the user is about to act on the row. ## Fix The remote indicator now sits beside the hover-fading metadata block. The timestamp or jump hint still yields to the archive action, while the cloud stays visible. LastCode-specific sidebar scaling and annotation behavior are preserved. Upstream proposal: pingdotgg#8132 ## Validation - Focused formatting and lint for `LegacySidebar.tsx` - Web typecheck - `apps/web/src/legacySidebarScale.test.ts` (3 tests) - Push-gated quick local CI: format, lint, all workspace typechecks, and all workspace tests passed ## UI evidence The reporter supplied the before screenshot. Automated after-image capture was not available because this clean worktree has no paired remote-environment fixture. The DOM relationship was verified directly: the cloud is no longer a descendant of the metadata element whose hover class sets opacity to zero. Implemented with GPT-5.6 Codex in the T3 Code harness.
## Problem Hovering a remote-machine thread hides its cloud icon along with the timestamp, removing useful machine context just as the user is about to act on the row. ## Fix The remote indicator now sits beside the hover-fading metadata block. The timestamp or jump hint still yields to the archive action, while the cloud stays visible. LastCode-specific sidebar scaling and annotation behavior are preserved. Upstream proposal: pingdotgg#8132 ## Validation - Focused formatting and lint for `LegacySidebar.tsx` - Web typecheck - `apps/web/src/legacySidebarScale.test.ts` (3 tests) - Push-gated quick local CI: format, lint, all workspace typechecks, and all workspace tests passed ## UI evidence The reporter supplied the before screenshot. Automated after-image capture was not available because this clean worktree has no paired remote-environment fixture. The DOM relationship was verified directly: the cloud is no longer a descendant of the metadata element whose hover class sets opacity to zero. Implemented with GPT-5.6 Codex in the T3 Code harness.
## Problem Hovering a remote-machine thread hides its cloud icon along with the timestamp, removing useful machine context just as the user is about to act on the row. ## Fix The remote indicator now sits beside the hover-fading metadata block. The timestamp or jump hint still yields to the archive action, while the cloud stays visible. LastCode-specific sidebar scaling and annotation behavior are preserved. Upstream proposal: pingdotgg#8132 ## Validation - Focused formatting and lint for `LegacySidebar.tsx` - Web typecheck - `apps/web/src/legacySidebarScale.test.ts` (3 tests) - Push-gated quick local CI: format, lint, all workspace typechecks, and all workspace tests passed ## UI evidence The reporter supplied the before screenshot. Automated after-image capture was not available because this clean worktree has no paired remote-environment fixture. The DOM relationship was verified directly: the cloud is no longer a descendant of the metadata element whose hover class sets opacity to zero. Implemented with GPT-5.6 Codex in the T3 Code harness.
## Problem Hovering a remote-machine thread hides its cloud icon along with the timestamp, removing useful machine context just as the user is about to act on the row. ## Fix The remote indicator now sits beside the hover-fading metadata block. The timestamp or jump hint still yields to the archive action, while the cloud stays visible. LastCode-specific sidebar scaling and annotation behavior are preserved. Upstream proposal: pingdotgg#8132 ## Validation - Focused formatting and lint for `LegacySidebar.tsx` - Web typecheck - `apps/web/src/legacySidebarScale.test.ts` (3 tests) - Push-gated quick local CI: format, lint, all workspace typechecks, and all workspace tests passed ## UI evidence The reporter supplied the before screenshot. Automated after-image capture was not available because this clean worktree has no paired remote-environment fixture. The DOM relationship was verified directly: the cloud is no longer a descendant of the metadata element whose hover class sets opacity to zero. Implemented with GPT-5.6 Codex in the T3 Code harness.
## Problem Hovering a remote-machine thread hides its cloud icon along with the timestamp, removing useful machine context just as the user is about to act on the row. ## Fix The remote indicator now sits beside the hover-fading metadata block. The timestamp or jump hint still yields to the archive action, while the cloud stays visible. LastCode-specific sidebar scaling and annotation behavior are preserved. Upstream proposal: pingdotgg#8132 ## Validation - Focused formatting and lint for `LegacySidebar.tsx` - Web typecheck - `apps/web/src/legacySidebarScale.test.ts` (3 tests) - Push-gated quick local CI: format, lint, all workspace typechecks, and all workspace tests passed ## UI evidence The reporter supplied the before screenshot. Automated after-image capture was not available because this clean worktree has no paired remote-environment fixture. The DOM relationship was verified directly: the cloud is no longer a descendant of the metadata element whose hover class sets opacity to zero. Implemented with GPT-5.6 Codex in the T3 Code harness.
## Problem Hovering a remote-machine thread hides its cloud icon along with the timestamp, removing useful machine context just as the user is about to act on the row. ## Fix The remote indicator now sits beside the hover-fading metadata block. The timestamp or jump hint still yields to the archive action, while the cloud stays visible. LastCode-specific sidebar scaling and annotation behavior are preserved. Upstream proposal: pingdotgg#8132 ## Validation - Focused formatting and lint for `LegacySidebar.tsx` - Web typecheck - `apps/web/src/legacySidebarScale.test.ts` (3 tests) - Push-gated quick local CI: format, lint, all workspace typechecks, and all workspace tests passed ## UI evidence The reporter supplied the before screenshot. Automated after-image capture was not available because this clean worktree has no paired remote-environment fixture. The DOM relationship was verified directly: the cloud is no longer a descendant of the metadata element whose hover class sets opacity to zero. Implemented with GPT-5.6 Codex in the T3 Code harness.
## Problem Hovering a remote-machine thread hides its cloud icon along with the timestamp, removing useful machine context just as the user is about to act on the row. ## Fix The remote indicator now sits beside the hover-fading metadata block. The timestamp or jump hint still yields to the archive action, while the cloud stays visible. LastCode-specific sidebar scaling and annotation behavior are preserved. Upstream proposal: pingdotgg#8132 ## Validation - Focused formatting and lint for `LegacySidebar.tsx` - Web typecheck - `apps/web/src/legacySidebarScale.test.ts` (3 tests) - Push-gated quick local CI: format, lint, all workspace typechecks, and all workspace tests passed ## UI evidence The reporter supplied the before screenshot. Automated after-image capture was not available because this clean worktree has no paired remote-environment fixture. The DOM relationship was verified directly: the cloud is no longer a descendant of the metadata element whose hover class sets opacity to zero. Implemented with GPT-5.6 Codex in the T3 Code harness.
## Problem Hovering a remote-machine thread hides its cloud icon along with the timestamp, removing useful machine context just as the user is about to act on the row. ## Fix The remote indicator now sits beside the hover-fading metadata block. The timestamp or jump hint still yields to the archive action, while the cloud stays visible. LastCode-specific sidebar scaling and annotation behavior are preserved. Upstream proposal: pingdotgg#8132 ## Validation - Focused formatting and lint for `LegacySidebar.tsx` - Web typecheck - `apps/web/src/legacySidebarScale.test.ts` (3 tests) - Push-gated quick local CI: format, lint, all workspace typechecks, and all workspace tests passed ## UI evidence The reporter supplied the before screenshot. Automated after-image capture was not available because this clean worktree has no paired remote-environment fixture. The DOM relationship was verified directly: the cloud is no longer a descendant of the metadata element whose hover class sets opacity to zero. Implemented with GPT-5.6 Codex in the T3 Code harness.
## Problem Hovering a remote-machine thread hides its cloud icon along with the timestamp, removing useful machine context just as the user is about to act on the row. ## Fix The remote indicator now sits beside the hover-fading metadata block. The timestamp or jump hint still yields to the archive action, while the cloud stays visible. LastCode-specific sidebar scaling and annotation behavior are preserved. Upstream proposal: pingdotgg#8132 ## Validation - Focused formatting and lint for `LegacySidebar.tsx` - Web typecheck - `apps/web/src/legacySidebarScale.test.ts` (3 tests) - Push-gated quick local CI: format, lint, all workspace typechecks, and all workspace tests passed ## UI evidence The reporter supplied the before screenshot. Automated after-image capture was not available because this clean worktree has no paired remote-environment fixture. The DOM relationship was verified directly: the cloud is no longer a descendant of the metadata element whose hover class sets opacity to zero. Implemented with GPT-5.6 Codex in the T3 Code harness.
## Problem Hovering a remote-machine thread hides its cloud icon along with the timestamp, removing useful machine context just as the user is about to act on the row. ## Fix The remote indicator now sits beside the hover-fading metadata block. The timestamp or jump hint still yields to the archive action, while the cloud stays visible. LastCode-specific sidebar scaling and annotation behavior are preserved. Upstream proposal: pingdotgg#8132 ## Validation - Focused formatting and lint for `LegacySidebar.tsx` - Web typecheck - `apps/web/src/legacySidebarScale.test.ts` (3 tests) - Push-gated quick local CI: format, lint, all workspace typechecks, and all workspace tests passed ## UI evidence The reporter supplied the before screenshot. Automated after-image capture was not available because this clean worktree has no paired remote-environment fixture. The DOM relationship was verified directly: the cloud is no longer a descendant of the metadata element whose hover class sets opacity to zero. Implemented with GPT-5.6 Codex in the T3 Code harness.
## Problem Hovering a remote-machine thread hides its cloud icon along with the timestamp, removing useful machine context just as the user is about to act on the row. ## Fix The remote indicator now sits beside the hover-fading metadata block. The timestamp or jump hint still yields to the archive action, while the cloud stays visible. LastCode-specific sidebar scaling and annotation behavior are preserved. Upstream proposal: pingdotgg#8132 ## Validation - Focused formatting and lint for `LegacySidebar.tsx` - Web typecheck - `apps/web/src/legacySidebarScale.test.ts` (3 tests) - Push-gated quick local CI: format, lint, all workspace typechecks, and all workspace tests passed ## UI evidence The reporter supplied the before screenshot. Automated after-image capture was not available because this clean worktree has no paired remote-environment fixture. The DOM relationship was verified directly: the cloud is no longer a descendant of the metadata element whose hover class sets opacity to zero. Implemented with GPT-5.6 Codex in the T3 Code harness.
## Problem Hovering a remote-machine thread hides its cloud icon along with the timestamp, removing useful machine context just as the user is about to act on the row. ## Fix The remote indicator now sits beside the hover-fading metadata block. The timestamp or jump hint still yields to the archive action, while the cloud stays visible. LastCode-specific sidebar scaling and annotation behavior are preserved. Upstream proposal: pingdotgg#8132 ## Validation - Focused formatting and lint for `LegacySidebar.tsx` - Web typecheck - `apps/web/src/legacySidebarScale.test.ts` (3 tests) - Push-gated quick local CI: format, lint, all workspace typechecks, and all workspace tests passed ## UI evidence The reporter supplied the before screenshot. Automated after-image capture was not available because this clean worktree has no paired remote-environment fixture. The DOM relationship was verified directly: the cloud is no longer a descendant of the metadata element whose hover class sets opacity to zero. Implemented with GPT-5.6 Codex in the T3 Code harness.
## Problem Hovering a remote-machine thread hides its cloud icon along with the timestamp, removing useful machine context just as the user is about to act on the row. ## Fix The remote indicator now sits beside the hover-fading metadata block. The timestamp or jump hint still yields to the archive action, while the cloud stays visible. LastCode-specific sidebar scaling and annotation behavior are preserved. Upstream proposal: pingdotgg#8132 ## Validation - Focused formatting and lint for `LegacySidebar.tsx` - Web typecheck - `apps/web/src/legacySidebarScale.test.ts` (3 tests) - Push-gated quick local CI: format, lint, all workspace typechecks, and all workspace tests passed ## UI evidence The reporter supplied the before screenshot. Automated after-image capture was not available because this clean worktree has no paired remote-environment fixture. The DOM relationship was verified directly: the cloud is no longer a descendant of the metadata element whose hover class sets opacity to zero. Implemented with GPT-5.6 Codex in the T3 Code harness.
## Problem Hovering a remote-machine thread hides its cloud icon along with the timestamp, removing useful machine context just as the user is about to act on the row. ## Fix The remote indicator now sits beside the hover-fading metadata block. The timestamp or jump hint still yields to the archive action, while the cloud stays visible. LastCode-specific sidebar scaling and annotation behavior are preserved. Upstream proposal: pingdotgg#8132 ## Validation - Focused formatting and lint for `LegacySidebar.tsx` - Web typecheck - `apps/web/src/legacySidebarScale.test.ts` (3 tests) - Push-gated quick local CI: format, lint, all workspace typechecks, and all workspace tests passed ## UI evidence The reporter supplied the before screenshot. Automated after-image capture was not available because this clean worktree has no paired remote-environment fixture. The DOM relationship was verified directly: the cloud is no longer a descendant of the metadata element whose hover class sets opacity to zero. Implemented with GPT-5.6 Codex in the T3 Code harness.
## Problem Hovering a remote-machine thread hides its cloud icon along with the timestamp, removing useful machine context just as the user is about to act on the row. ## Fix The remote indicator now sits beside the hover-fading metadata block. The timestamp or jump hint still yields to the archive action, while the cloud stays visible. LastCode-specific sidebar scaling and annotation behavior are preserved. Upstream proposal: pingdotgg#8132 ## Validation - Focused formatting and lint for `LegacySidebar.tsx` - Web typecheck - `apps/web/src/legacySidebarScale.test.ts` (3 tests) - Push-gated quick local CI: format, lint, all workspace typechecks, and all workspace tests passed ## UI evidence The reporter supplied the before screenshot. Automated after-image capture was not available because this clean worktree has no paired remote-environment fixture. The DOM relationship was verified directly: the cloud is no longer a descendant of the metadata element whose hover class sets opacity to zero. Implemented with GPT-5.6 Codex in the T3 Code harness.
## Problem Hovering a remote-machine thread hides its cloud icon along with the timestamp, removing useful machine context just as the user is about to act on the row. ## Fix The remote indicator now sits beside the hover-fading metadata block. The timestamp or jump hint still yields to the archive action, while the cloud stays visible. LastCode-specific sidebar scaling and annotation behavior are preserved. Upstream proposal: pingdotgg#8132 ## Validation - Focused formatting and lint for `LegacySidebar.tsx` - Web typecheck - `apps/web/src/legacySidebarScale.test.ts` (3 tests) - Push-gated quick local CI: format, lint, all workspace typechecks, and all workspace tests passed ## UI evidence The reporter supplied the before screenshot. Automated after-image capture was not available because this clean worktree has no paired remote-environment fixture. The DOM relationship was verified directly: the cloud is no longer a descendant of the metadata element whose hover class sets opacity to zero. Implemented with GPT-5.6 Codex in the T3 Code harness.
## Problem Hovering a remote-machine thread hides its cloud icon along with the timestamp, removing useful machine context just as the user is about to act on the row. ## Fix The remote indicator now sits beside the hover-fading metadata block. The timestamp or jump hint still yields to the archive action, while the cloud stays visible. LastCode-specific sidebar scaling and annotation behavior are preserved. Upstream proposal: pingdotgg#8132 ## Validation - Focused formatting and lint for `LegacySidebar.tsx` - Web typecheck - `apps/web/src/legacySidebarScale.test.ts` (3 tests) - Push-gated quick local CI: format, lint, all workspace typechecks, and all workspace tests passed ## UI evidence The reporter supplied the before screenshot. Automated after-image capture was not available because this clean worktree has no paired remote-environment fixture. The DOM relationship was verified directly: the cloud is no longer a descendant of the metadata element whose hover class sets opacity to zero. Implemented with GPT-5.6 Codex in the T3 Code harness.
## Problem Hovering a remote-machine thread hides its cloud icon along with the timestamp, removing useful machine context just as the user is about to act on the row. ## Fix The remote indicator now sits beside the hover-fading metadata block. The timestamp or jump hint still yields to the archive action, while the cloud stays visible. LastCode-specific sidebar scaling and annotation behavior are preserved. Upstream proposal: pingdotgg#8132 ## Validation - Focused formatting and lint for `LegacySidebar.tsx` - Web typecheck - `apps/web/src/legacySidebarScale.test.ts` (3 tests) - Push-gated quick local CI: format, lint, all workspace typechecks, and all workspace tests passed ## UI evidence The reporter supplied the before screenshot. Automated after-image capture was not available because this clean worktree has no paired remote-environment fixture. The DOM relationship was verified directly: the cloud is no longer a descendant of the metadata element whose hover class sets opacity to zero. Implemented with GPT-5.6 Codex in the T3 Code harness.
## Problem Hovering a remote-machine thread hides its cloud icon along with the timestamp, removing useful machine context just as the user is about to act on the row. ## Fix The remote indicator now sits beside the hover-fading metadata block. The timestamp or jump hint still yields to the archive action, while the cloud stays visible. LastCode-specific sidebar scaling and annotation behavior are preserved. Upstream proposal: pingdotgg#8132 ## Validation - Focused formatting and lint for `LegacySidebar.tsx` - Web typecheck - `apps/web/src/legacySidebarScale.test.ts` (3 tests) - Push-gated quick local CI: format, lint, all workspace typechecks, and all workspace tests passed ## UI evidence The reporter supplied the before screenshot. Automated after-image capture was not available because this clean worktree has no paired remote-environment fixture. The DOM relationship was verified directly: the cloud is no longer a descendant of the metadata element whose hover class sets opacity to zero. Implemented with GPT-5.6 Codex in the T3 Code harness.
## Problem Hovering a remote-machine thread hides its cloud icon along with the timestamp, removing useful machine context just as the user is about to act on the row. ## Fix The remote indicator now sits beside the hover-fading metadata block. The timestamp or jump hint still yields to the archive action, while the cloud stays visible. LastCode-specific sidebar scaling and annotation behavior are preserved. Upstream proposal: pingdotgg#8132 ## Validation - Focused formatting and lint for `LegacySidebar.tsx` - Web typecheck - `apps/web/src/legacySidebarScale.test.ts` (3 tests) - Push-gated quick local CI: format, lint, all workspace typechecks, and all workspace tests passed ## UI evidence The reporter supplied the before screenshot. Automated after-image capture was not available because this clean worktree has no paired remote-environment fixture. The DOM relationship was verified directly: the cloud is no longer a descendant of the metadata element whose hover class sets opacity to zero. Implemented with GPT-5.6 Codex in the T3 Code harness.
## Problem Hovering a remote-machine thread hides its cloud icon along with the timestamp, removing useful machine context just as the user is about to act on the row. ## Fix The remote indicator now sits beside the hover-fading metadata block. The timestamp or jump hint still yields to the archive action, while the cloud stays visible. LastCode-specific sidebar scaling and annotation behavior are preserved. Upstream proposal: pingdotgg#8132 ## Validation - Focused formatting and lint for `LegacySidebar.tsx` - Web typecheck - `apps/web/src/legacySidebarScale.test.ts` (3 tests) - Push-gated quick local CI: format, lint, all workspace typechecks, and all workspace tests passed ## UI evidence The reporter supplied the before screenshot. Automated after-image capture was not available because this clean worktree has no paired remote-environment fixture. The DOM relationship was verified directly: the cloud is no longer a descendant of the metadata element whose hover class sets opacity to zero. Implemented with GPT-5.6 Codex in the T3 Code harness.
Hovering a remote-machine thread hides its cloud icon along with the timestamp, removing useful machine context just as the user is about to act on the row. The remote indicator now sits beside the hover-fading metadata block. The timestamp or jump hint still yields to the archive action, while the cloud stays visible. LastCode-specific sidebar scaling and annotation behavior are preserved. Upstream proposal: pingdotgg#8132 - Focused formatting and lint for `LegacySidebar.tsx` - Web typecheck - `apps/web/src/legacySidebarScale.test.ts` (3 tests) - Push-gated quick local CI: format, lint, all workspace typechecks, and all workspace tests passed The reporter supplied the before screenshot. Automated after-image capture was not available because this clean worktree has no paired remote-environment fixture. The DOM relationship was verified directly: the cloud is no longer a descendant of the metadata element whose hover class sets opacity to zero. Implemented with GPT-5.6 Codex in the T3 Code harness.
Hovering a remote-machine thread hides its cloud icon along with the timestamp, removing useful machine context just as the user is about to act on the row. The remote indicator now sits beside the hover-fading metadata block. The timestamp or jump hint still yields to the archive action, while the cloud stays visible. LastCode-specific sidebar scaling and annotation behavior are preserved. Upstream proposal: pingdotgg#8132 - Focused formatting and lint for `LegacySidebar.tsx` - Web typecheck - `apps/web/src/legacySidebarScale.test.ts` (3 tests) - Push-gated quick local CI: format, lint, all workspace typechecks, and all workspace tests passed The reporter supplied the before screenshot. Automated after-image capture was not available because this clean worktree has no paired remote-environment fixture. The DOM relationship was verified directly: the cloud is no longer a descendant of the metadata element whose hover class sets opacity to zero. Implemented with GPT-5.6 Codex in the T3 Code harness.
Hovering a remote-machine thread hides its cloud icon along with the timestamp, removing useful machine context just as the user is about to act on the row. The remote indicator now sits beside the hover-fading metadata block. The timestamp or jump hint still yields to the archive action, while the cloud stays visible. LastCode-specific sidebar scaling and annotation behavior are preserved. Upstream proposal: pingdotgg#8132 - Focused formatting and lint for `LegacySidebar.tsx` - Web typecheck - `apps/web/src/legacySidebarScale.test.ts` (3 tests) - Push-gated quick local CI: format, lint, all workspace typechecks, and all workspace tests passed The reporter supplied the before screenshot. Automated after-image capture was not available because this clean worktree has no paired remote-environment fixture. The DOM relationship was verified directly: the cloud is no longer a descendant of the metadata element whose hover class sets opacity to zero. Implemented with GPT-5.6 Codex in the T3 Code harness.
Hovering a remote-machine thread hides its cloud icon along with the timestamp, removing useful machine context just as the user is about to act on the row. The remote indicator now sits beside the hover-fading metadata block. The timestamp or jump hint still yields to the archive action, while the cloud stays visible. LastCode-specific sidebar scaling and annotation behavior are preserved. Upstream proposal: pingdotgg#8132 - Focused formatting and lint for `LegacySidebar.tsx` - Web typecheck - `apps/web/src/legacySidebarScale.test.ts` (3 tests) - Push-gated quick local CI: format, lint, all workspace typechecks, and all workspace tests passed The reporter supplied the before screenshot. Automated after-image capture was not available because this clean worktree has no paired remote-environment fixture. The DOM relationship was verified directly: the cloud is no longer a descendant of the metadata element whose hover class sets opacity to zero. Implemented with GPT-5.6 Codex in the T3 Code harness.
Hovering a remote-machine thread hides its cloud icon along with the timestamp, removing useful machine context just as the user is about to act on the row. The remote indicator now sits beside the hover-fading metadata block. The timestamp or jump hint still yields to the archive action, while the cloud stays visible. LastCode-specific sidebar scaling and annotation behavior are preserved. Upstream proposal: pingdotgg#8132 - Focused formatting and lint for `LegacySidebar.tsx` - Web typecheck - `apps/web/src/legacySidebarScale.test.ts` (3 tests) - Push-gated quick local CI: format, lint, all workspace typechecks, and all workspace tests passed The reporter supplied the before screenshot. Automated after-image capture was not available because this clean worktree has no paired remote-environment fixture. The DOM relationship was verified directly: the cloud is no longer a descendant of the metadata element whose hover class sets opacity to zero. Implemented with GPT-5.6 Codex in the T3 Code harness.
Hovering a remote-machine thread hides its cloud icon along with the timestamp, removing useful machine context just as the user is about to act on the row. The remote indicator now sits beside the hover-fading metadata block. The timestamp or jump hint still yields to the archive action, while the cloud stays visible. LastCode-specific sidebar scaling and annotation behavior are preserved. Upstream proposal: pingdotgg#8132 - Focused formatting and lint for `LegacySidebar.tsx` - Web typecheck - `apps/web/src/legacySidebarScale.test.ts` (3 tests) - Push-gated quick local CI: format, lint, all workspace typechecks, and all workspace tests passed The reporter supplied the before screenshot. Automated after-image capture was not available because this clean worktree has no paired remote-environment fixture. The DOM relationship was verified directly: the cloud is no longer a descendant of the metadata element whose hover class sets opacity to zero. Implemented with GPT-5.6 Codex in the T3 Code harness.
Hovering a remote-machine thread hides its cloud icon along with the timestamp, removing useful machine context just as the user is about to act on the row. The remote indicator now sits beside the hover-fading metadata block. The timestamp or jump hint still yields to the archive action, while the cloud stays visible. LastCode-specific sidebar scaling and annotation behavior are preserved. Upstream proposal: pingdotgg#8132 - Focused formatting and lint for `LegacySidebar.tsx` - Web typecheck - `apps/web/src/legacySidebarScale.test.ts` (3 tests) - Push-gated quick local CI: format, lint, all workspace typechecks, and all workspace tests passed The reporter supplied the before screenshot. Automated after-image capture was not available because this clean worktree has no paired remote-environment fixture. The DOM relationship was verified directly: the cloud is no longer a descendant of the metadata element whose hover class sets opacity to zero. Implemented with GPT-5.6 Codex in the T3 Code harness.
Hovering a remote-machine thread hides its cloud icon along with the timestamp, removing useful machine context just as the user is about to act on the row. The remote indicator now sits beside the hover-fading metadata block. The timestamp or jump hint still yields to the archive action, while the cloud stays visible. LastCode-specific sidebar scaling and annotation behavior are preserved. Upstream proposal: pingdotgg#8132 - Focused formatting and lint for `LegacySidebar.tsx` - Web typecheck - `apps/web/src/legacySidebarScale.test.ts` (3 tests) - Push-gated quick local CI: format, lint, all workspace typechecks, and all workspace tests passed The reporter supplied the before screenshot. Automated after-image capture was not available because this clean worktree has no paired remote-environment fixture. The DOM relationship was verified directly: the cloud is no longer a descendant of the metadata element whose hover class sets opacity to zero. Implemented with GPT-5.6 Codex in the T3 Code harness.
Hovering a remote-machine thread hides its cloud icon along with the timestamp, removing useful machine context just as the user is about to act on the row. The remote indicator now sits beside the hover-fading metadata block. The timestamp or jump hint still yields to the archive action, while the cloud stays visible. LastCode-specific sidebar scaling and annotation behavior are preserved. Upstream proposal: pingdotgg#8132 - Focused formatting and lint for `LegacySidebar.tsx` - Web typecheck - `apps/web/src/legacySidebarScale.test.ts` (3 tests) - Push-gated quick local CI: format, lint, all workspace typechecks, and all workspace tests passed The reporter supplied the before screenshot. Automated after-image capture was not available because this clean worktree has no paired remote-environment fixture. The DOM relationship was verified directly: the cloud is no longer a descendant of the metadata element whose hover class sets opacity to zero. Implemented with GPT-5.6 Codex in the T3 Code harness.
Hovering a remote-machine thread hides its cloud icon along with the timestamp, removing useful machine context just as the user is about to act on the row. The remote indicator now sits beside the hover-fading metadata block. The timestamp or jump hint still yields to the archive action, while the cloud stays visible. LastCode-specific sidebar scaling and annotation behavior are preserved. Upstream proposal: pingdotgg#8132 - Focused formatting and lint for `LegacySidebar.tsx` - Web typecheck - `apps/web/src/legacySidebarScale.test.ts` (3 tests) - Push-gated quick local CI: format, lint, all workspace typechecks, and all workspace tests passed The reporter supplied the before screenshot. Automated after-image capture was not available because this clean worktree has no paired remote-environment fixture. The DOM relationship was verified directly: the cloud is no longer a descendant of the metadata element whose hover class sets opacity to zero. Implemented with GPT-5.6 Codex in the T3 Code harness.

What Changed
Keeps the remote-machine cloud icon visible when a legacy sidebar thread row is hovered. The timestamp or jump hint still fades to make room for the archive action.
Why
The cloud icon identifies which machine owns a thread. Hiding it on hover removes useful context at the moment the user is about to act on the row. The icon now sits beside, rather than inside, the metadata block that intentionally fades on hover.
UI Changes
Before: hovering a remote thread hides both its timestamp and cloud icon.
After: hovering hides only the timestamp or jump hint; the cloud icon remains visible beside the archive action.
The reporter supplied a before screenshot. Automated after-image capture was not available in the clean upstream worktree because it has no paired remote environment fixture.
Validation
pnpm exec vp fmt --check apps/web/src/components/LegacySidebar.tsxpnpm exec vp lint --report-unused-disable-directives apps/web/src/components/LegacySidebar.tsxpnpm exec vp run --filter @t3tools/web typecheckChecklist
LastCode port: lastobelus#82
Implemented with GPT-5.6 Codex in the T3 Code harness.
Note
Keep remote
CloudIconvisible on hover inSidebarThreadRowMoves the remote-thread environment icon from the metadata span into the right-side control area of LegacySidebar.tsx, where it stays visible on hover. The control container now uses
items-centerandgap-1for alignment. The icon is hidden during archive confirmation.Macroscope summarized 6c58270.
Note
Low Risk
Localized sidebar layout and hover styling in LegacySidebar; no auth, data, or API changes.
Overview
Moves the remote-environment cloud icon out of the legacy sidebar thread row metadata block (timestamp / jump hint) into the right-aligned actions area next to the archive control.
On hover, only the metadata still fades via
threadMetaClassName; the cloud icon stays visible so users still see which machine owns the thread when the archive action appears. The actions wrapper addsitems-centerandgap-1for alignment. During archive confirmation, the icon is hidden withinvisiblewhile the confirm button is shown.Reviewed by Cursor Bugbot for commit 6c58270. Bugbot is set up for automated code reviews on this repo. Configure here.