fix(web): prevent connection rows from wrapping during removal - #8706

Merged
maria-rcks merged 1 commit into
pingdotgg:mainfrom
MatthewFeroz:fix/connection-row-text-wrapping
Sep 2, 2026
Merged

fix(web): prevent connection rows from wrapping during removal#8706
maria-rcks merged 1 commit into
pingdotgg:mainfrom
MatthewFeroz:fix/connection-row-text-wrapping

Conversation

@MatthewFeroz

@MatthewFerozMatthewFeroz commented Aug 30, 2026

Copy link
Copy Markdown
Contributor

What Changed

  • Constrain saved-environment names to the available flex width and truncate overflow with an ellipsis.
  • Apply the same single-line truncation to connection metadata, including long Windows SSH paths.

Why

When a connection removal starts, the action label grows from Remove or Disconnect to Removing… or Disconnecting…. That temporarily reduces the text column's available width. The connection name and metadata previously had no overflow constraint, so they could wrap and increase the row height—especially with Windows font metrics and long Windows paths.

min-w-0 lets the title participate correctly in flex shrinking, while truncate keeps both fields on one line and preserves the full text in the DOM. The action controls remain fixed-width and readable.

UI Changes

The evidence uses a 480px-wide desktop row, a Windows-style environment name/path, and the wider pending-removal controls.

Before:

Connection text wrapping before the fix

After:

Connection text truncating after the fix

Scope and conventions

  • This is a six-line, presentation-only web change with no contract, persistence, or connection-lifecycle changes.
  • Desktop receives the fix because it renders the shared web settings component.
  • Mobile uses its separate React Native connections screen and is unaffected.
  • Below the existing sm breakpoint, the row already stacks its controls; this change preserves that responsive behavior.
  • No documentation change is needed because user-facing behavior and terminology are unchanged.

Verification

  • vp run --filter @t3tools/web typecheck
  • vp lint apps/web/src/components/settings/ConnectionsSettings.tsx --report-unused-disable-directives
  • vp fmt --check apps/web/src/components/settings/ConnectionsSettings.tsx
  • git diff --check

Checklist

  • This PR is small and focused
  • I explained what changed and why
  • I included before/after screenshots for the UI change
  • No video is needed because there is no animation or timing change

Created with GPT-5.6-sol in the Codex harness.


Note

Low Risk
Presentation-only Tailwind class changes in the web settings UI; no connection logic, APIs, or persistence.

Overview
Saved connection rows in Connections settings no longer jump in height when Remove/Disconnect switches to the longer pending labels (Removing…, Disconnecting…).

In SavedBackendListRow, the environment title gets min-w-0 (so it can shrink inside the flex row) plus truncate, and the metadata line (SSH path, T3 Connect, etc.) gets truncate so both stay on one line with ellipsis instead of wrapping.

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

Note

Fix connection rows wrapping by truncating labels and metadata in SavedBackendListRow

Adds min-w-0 truncate to the environment label <h3> and truncate to the metadata <p> in ConnectionsSettings.tsx. This stops long text from overflowing and breaking the row layout during removal.

Macroscope summarized 7af5247.

@coderabbitai

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 Plus

Run ID: 9a38b7d0-8624-4816-bc71-f9be6c89d827

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

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

@github-actionsgithub-actionsBot added vouch:unvouched PR author is not yet trusted in the VOUCHED list. size:XS 0-9 changed lines (additions + deletions). labels Aug 30, 2026
@macroscopeapp

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved at 0f01aa8

Macroscope's review found this PR approvable — This is a narrowly scoped web UI fix that adds flex shrinking and single-line truncation to existing connection labels and metadata. It affects only row presentation; connection actions, state, persistence, and APIs are unchanged.

You can add or adjust custom eligibility rules. Learn more.

@MatthewFeroz
MatthewFerozforce-pushed the fix/connection-row-text-wrapping branch from 0f01aa8 to 7af5247CompareSeptember 2, 2026 04:16
@maria-rcks
maria-rcks merged commit 6e3bac3 into pingdotgg:mainSep 2, 2026
24 checks passed
github-actionsBot added a commit to omarcresp/t3code-flake that referenced this pull request Sep 2, 2026
## What's Changed
* fix(server): discover project skills for Claude by @anirudhsama in pingdotgg/t3code#9210
* feat(web): redesign provider editor and models list by @StiensWout in pingdotgg/t3code#8508
* fix(web): prevent connection rows from wrapping during removal by @MatthewFeroz in pingdotgg/t3code#8706
* fix(pull-requests): align checkout control with author by @maria-rcks in pingdotgg/t3code#9196
* fix(release): pin patched expo-sharing version by @willsheldon in pingdotgg/t3code#9250
* chore(mobile): update Expo Sharing to 57.0.17 by @StiensWout in pingdotgg/t3code#9248
**Full Changelog**: pingdotgg/t3code@v0.0.39-nightly.20260902.1257...v0.0.39-nightly.20260902.1260
Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.0.39-nightly.20260902.1260
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XS0-9 changed lines (additions + deletions).vouch:unvouchedPR author is not yet trusted in the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@MatthewFeroz@maria-rcks
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

fix(web): prevent connection rows from wrapping during removal - #8706

Merged
maria-rcks merged 1 commit into
pingdotgg:mainfrom
MatthewFeroz:fix/connection-row-text-wrapping
Sep 2, 2026
Merged

fix(web): prevent connection rows from wrapping during removal#8706
maria-rcks merged 1 commit into
pingdotgg:mainfrom
MatthewFeroz:fix/connection-row-text-wrapping

Conversation

@MatthewFeroz

@MatthewFerozMatthewFeroz commented Aug 30, 2026

Copy link
Copy Markdown
Contributor

What Changed

  • Constrain saved-environment names to the available flex width and truncate overflow with an ellipsis.
  • Apply the same single-line truncation to connection metadata, including long Windows SSH paths.

Why

When a connection removal starts, the action label grows from Remove or Disconnect to Removing… or Disconnecting…. That temporarily reduces the text column's available width. The connection name and metadata previously had no overflow constraint, so they could wrap and increase the row height—especially with Windows font metrics and long Windows paths.

min-w-0 lets the title participate correctly in flex shrinking, while truncate keeps both fields on one line and preserves the full text in the DOM. The action controls remain fixed-width and readable.

UI Changes

The evidence uses a 480px-wide desktop row, a Windows-style environment name/path, and the wider pending-removal controls.

Before:

Connection text wrapping before the fix

After:

Connection text truncating after the fix

Scope and conventions

  • This is a six-line, presentation-only web change with no contract, persistence, or connection-lifecycle changes.
  • Desktop receives the fix because it renders the shared web settings component.
  • Mobile uses its separate React Native connections screen and is unaffected.
  • Below the existing sm breakpoint, the row already stacks its controls; this change preserves that responsive behavior.
  • No documentation change is needed because user-facing behavior and terminology are unchanged.

Verification

  • vp run --filter @t3tools/web typecheck
  • vp lint apps/web/src/components/settings/ConnectionsSettings.tsx --report-unused-disable-directives
  • vp fmt --check apps/web/src/components/settings/ConnectionsSettings.tsx
  • git diff --check

Checklist

  • This PR is small and focused
  • I explained what changed and why
  • I included before/after screenshots for the UI change
  • No video is needed because there is no animation or timing change

Created with GPT-5.6-sol in the Codex harness.


Note

Low Risk
Presentation-only Tailwind class changes in the web settings UI; no connection logic, APIs, or persistence.

Overview
Saved connection rows in Connections settings no longer jump in height when Remove/Disconnect switches to the longer pending labels (Removing…, Disconnecting…).

In SavedBackendListRow, the environment title gets min-w-0 (so it can shrink inside the flex row) plus truncate, and the metadata line (SSH path, T3 Connect, etc.) gets truncate so both stay on one line with ellipsis instead of wrapping.

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

Note

Fix connection rows wrapping by truncating labels and metadata in SavedBackendListRow

Adds min-w-0 truncate to the environment label <h3> and truncate to the metadata <p> in ConnectionsSettings.tsx. This stops long text from overflowing and breaking the row layout during removal.

Macroscope summarized 7af5247.

@coderabbitai

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 Plus

Run ID: 9a38b7d0-8624-4816-bc71-f9be6c89d827

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

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

@github-actionsgithub-actionsBot added vouch:unvouched PR author is not yet trusted in the VOUCHED list. size:XS 0-9 changed lines (additions + deletions). labels Aug 30, 2026
@macroscopeapp

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved at 0f01aa8

Macroscope's review found this PR approvable — This is a narrowly scoped web UI fix that adds flex shrinking and single-line truncation to existing connection labels and metadata. It affects only row presentation; connection actions, state, persistence, and APIs are unchanged.

You can add or adjust custom eligibility rules. Learn more.

@MatthewFeroz
MatthewFerozforce-pushed the fix/connection-row-text-wrapping branch from 0f01aa8 to 7af5247CompareSeptember 2, 2026 04:16
@maria-rcks
maria-rcks merged commit 6e3bac3 into pingdotgg:mainSep 2, 2026
24 checks passed
github-actionsBot added a commit to omarcresp/t3code-flake that referenced this pull request Sep 2, 2026
## What's Changed
* fix(server): discover project skills for Claude by @anirudhsama in pingdotgg/t3code#9210
* feat(web): redesign provider editor and models list by @StiensWout in pingdotgg/t3code#8508
* fix(web): prevent connection rows from wrapping during removal by @MatthewFeroz in pingdotgg/t3code#8706
* fix(pull-requests): align checkout control with author by @maria-rcks in pingdotgg/t3code#9196
* fix(release): pin patched expo-sharing version by @willsheldon in pingdotgg/t3code#9250
* chore(mobile): update Expo Sharing to 57.0.17 by @StiensWout in pingdotgg/t3code#9248
**Full Changelog**: pingdotgg/t3code@v0.0.39-nightly.20260902.1257...v0.0.39-nightly.20260902.1260
Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.0.39-nightly.20260902.1260
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XS0-9 changed lines (additions + deletions).vouch:unvouchedPR author is not yet trusted in the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@MatthewFeroz@maria-rcks
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

fix(web): prevent connection rows from wrapping during removal - #8706

Merged
maria-rcks merged 1 commit into
pingdotgg:mainfrom
MatthewFeroz:fix/connection-row-text-wrapping
Sep 2, 2026
Merged

fix(web): prevent connection rows from wrapping during removal#8706
maria-rcks merged 1 commit into
pingdotgg:mainfrom
MatthewFeroz:fix/connection-row-text-wrapping

Conversation

@MatthewFeroz

@MatthewFerozMatthewFeroz commented Aug 30, 2026

Copy link
Copy Markdown
Contributor

What Changed

  • Constrain saved-environment names to the available flex width and truncate overflow with an ellipsis.
  • Apply the same single-line truncation to connection metadata, including long Windows SSH paths.

Why

When a connection removal starts, the action label grows from Remove or Disconnect to Removing… or Disconnecting…. That temporarily reduces the text column's available width. The connection name and metadata previously had no overflow constraint, so they could wrap and increase the row height—especially with Windows font metrics and long Windows paths.

min-w-0 lets the title participate correctly in flex shrinking, while truncate keeps both fields on one line and preserves the full text in the DOM. The action controls remain fixed-width and readable.

UI Changes

The evidence uses a 480px-wide desktop row, a Windows-style environment name/path, and the wider pending-removal controls.

Before:

Connection text wrapping before the fix

After:

Connection text truncating after the fix

Scope and conventions

  • This is a six-line, presentation-only web change with no contract, persistence, or connection-lifecycle changes.
  • Desktop receives the fix because it renders the shared web settings component.
  • Mobile uses its separate React Native connections screen and is unaffected.
  • Below the existing sm breakpoint, the row already stacks its controls; this change preserves that responsive behavior.
  • No documentation change is needed because user-facing behavior and terminology are unchanged.

Verification

  • vp run --filter @t3tools/web typecheck
  • vp lint apps/web/src/components/settings/ConnectionsSettings.tsx --report-unused-disable-directives
  • vp fmt --check apps/web/src/components/settings/ConnectionsSettings.tsx
  • git diff --check

Checklist

  • This PR is small and focused
  • I explained what changed and why
  • I included before/after screenshots for the UI change
  • No video is needed because there is no animation or timing change

Created with GPT-5.6-sol in the Codex harness.


Note

Low Risk
Presentation-only Tailwind class changes in the web settings UI; no connection logic, APIs, or persistence.

Overview
Saved connection rows in Connections settings no longer jump in height when Remove/Disconnect switches to the longer pending labels (Removing…, Disconnecting…).

In SavedBackendListRow, the environment title gets min-w-0 (so it can shrink inside the flex row) plus truncate, and the metadata line (SSH path, T3 Connect, etc.) gets truncate so both stay on one line with ellipsis instead of wrapping.

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

Note

Fix connection rows wrapping by truncating labels and metadata in SavedBackendListRow

Adds min-w-0 truncate to the environment label <h3> and truncate to the metadata <p> in ConnectionsSettings.tsx. This stops long text from overflowing and breaking the row layout during removal.

Macroscope summarized 7af5247.

@coderabbitai

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 Plus

Run ID: 9a38b7d0-8624-4816-bc71-f9be6c89d827

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

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

@github-actionsgithub-actionsBot added vouch:unvouched PR author is not yet trusted in the VOUCHED list. size:XS 0-9 changed lines (additions + deletions). labels Aug 30, 2026
@macroscopeapp

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved at 0f01aa8

Macroscope's review found this PR approvable — This is a narrowly scoped web UI fix that adds flex shrinking and single-line truncation to existing connection labels and metadata. It affects only row presentation; connection actions, state, persistence, and APIs are unchanged.

You can add or adjust custom eligibility rules. Learn more.

@MatthewFeroz
MatthewFerozforce-pushed the fix/connection-row-text-wrapping branch from 0f01aa8 to 7af5247CompareSeptember 2, 2026 04:16
@maria-rcks
maria-rcks merged commit 6e3bac3 into pingdotgg:mainSep 2, 2026
24 checks passed
github-actionsBot added a commit to omarcresp/t3code-flake that referenced this pull request Sep 2, 2026
## What's Changed
* fix(server): discover project skills for Claude by @anirudhsama in pingdotgg/t3code#9210
* feat(web): redesign provider editor and models list by @StiensWout in pingdotgg/t3code#8508
* fix(web): prevent connection rows from wrapping during removal by @MatthewFeroz in pingdotgg/t3code#8706
* fix(pull-requests): align checkout control with author by @maria-rcks in pingdotgg/t3code#9196
* fix(release): pin patched expo-sharing version by @willsheldon in pingdotgg/t3code#9250
* chore(mobile): update Expo Sharing to 57.0.17 by @StiensWout in pingdotgg/t3code#9248
**Full Changelog**: pingdotgg/t3code@v0.0.39-nightly.20260902.1257...v0.0.39-nightly.20260902.1260
Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.0.39-nightly.20260902.1260
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XS0-9 changed lines (additions + deletions).vouch:unvouchedPR author is not yet trusted in the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@MatthewFeroz@maria-rcks
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

fix(web): prevent connection rows from wrapping during removal - #8706

Merged
maria-rcks merged 1 commit into
pingdotgg:mainfrom
MatthewFeroz:fix/connection-row-text-wrapping
Sep 2, 2026
Merged

fix(web): prevent connection rows from wrapping during removal#8706
maria-rcks merged 1 commit into
pingdotgg:mainfrom
MatthewFeroz:fix/connection-row-text-wrapping

Conversation

@MatthewFeroz

@MatthewFerozMatthewFeroz commented Aug 30, 2026

Copy link
Copy Markdown
Contributor

What Changed

  • Constrain saved-environment names to the available flex width and truncate overflow with an ellipsis.
  • Apply the same single-line truncation to connection metadata, including long Windows SSH paths.

Why

When a connection removal starts, the action label grows from Remove or Disconnect to Removing… or Disconnecting…. That temporarily reduces the text column's available width. The connection name and metadata previously had no overflow constraint, so they could wrap and increase the row height—especially with Windows font metrics and long Windows paths.

min-w-0 lets the title participate correctly in flex shrinking, while truncate keeps both fields on one line and preserves the full text in the DOM. The action controls remain fixed-width and readable.

UI Changes

The evidence uses a 480px-wide desktop row, a Windows-style environment name/path, and the wider pending-removal controls.

Before:

Connection text wrapping before the fix

After:

Connection text truncating after the fix

Scope and conventions

  • This is a six-line, presentation-only web change with no contract, persistence, or connection-lifecycle changes.
  • Desktop receives the fix because it renders the shared web settings component.
  • Mobile uses its separate React Native connections screen and is unaffected.
  • Below the existing sm breakpoint, the row already stacks its controls; this change preserves that responsive behavior.
  • No documentation change is needed because user-facing behavior and terminology are unchanged.

Verification

  • vp run --filter @t3tools/web typecheck
  • vp lint apps/web/src/components/settings/ConnectionsSettings.tsx --report-unused-disable-directives
  • vp fmt --check apps/web/src/components/settings/ConnectionsSettings.tsx
  • git diff --check

Checklist

  • This PR is small and focused
  • I explained what changed and why
  • I included before/after screenshots for the UI change
  • No video is needed because there is no animation or timing change

Created with GPT-5.6-sol in the Codex harness.


Note

Low Risk
Presentation-only Tailwind class changes in the web settings UI; no connection logic, APIs, or persistence.

Overview
Saved connection rows in Connections settings no longer jump in height when Remove/Disconnect switches to the longer pending labels (Removing…, Disconnecting…).

In SavedBackendListRow, the environment title gets min-w-0 (so it can shrink inside the flex row) plus truncate, and the metadata line (SSH path, T3 Connect, etc.) gets truncate so both stay on one line with ellipsis instead of wrapping.

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

Note

Fix connection rows wrapping by truncating labels and metadata in SavedBackendListRow

Adds min-w-0 truncate to the environment label <h3> and truncate to the metadata <p> in ConnectionsSettings.tsx. This stops long text from overflowing and breaking the row layout during removal.

Macroscope summarized 7af5247.

@coderabbitai

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 Plus

Run ID: 9a38b7d0-8624-4816-bc71-f9be6c89d827

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

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

@github-actionsgithub-actionsBot added vouch:unvouched PR author is not yet trusted in the VOUCHED list. size:XS 0-9 changed lines (additions + deletions). labels Aug 30, 2026
@macroscopeapp

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved at 0f01aa8

Macroscope's review found this PR approvable — This is a narrowly scoped web UI fix that adds flex shrinking and single-line truncation to existing connection labels and metadata. It affects only row presentation; connection actions, state, persistence, and APIs are unchanged.

You can add or adjust custom eligibility rules. Learn more.

@MatthewFeroz
MatthewFerozforce-pushed the fix/connection-row-text-wrapping branch from 0f01aa8 to 7af5247CompareSeptember 2, 2026 04:16
@maria-rcks
maria-rcks merged commit 6e3bac3 into pingdotgg:mainSep 2, 2026
24 checks passed
github-actionsBot added a commit to omarcresp/t3code-flake that referenced this pull request Sep 2, 2026
## What's Changed
* fix(server): discover project skills for Claude by @anirudhsama in pingdotgg/t3code#9210
* feat(web): redesign provider editor and models list by @StiensWout in pingdotgg/t3code#8508
* fix(web): prevent connection rows from wrapping during removal by @MatthewFeroz in pingdotgg/t3code#8706
* fix(pull-requests): align checkout control with author by @maria-rcks in pingdotgg/t3code#9196
* fix(release): pin patched expo-sharing version by @willsheldon in pingdotgg/t3code#9250
* chore(mobile): update Expo Sharing to 57.0.17 by @StiensWout in pingdotgg/t3code#9248
**Full Changelog**: pingdotgg/t3code@v0.0.39-nightly.20260902.1257...v0.0.39-nightly.20260902.1260
Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.0.39-nightly.20260902.1260
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XS0-9 changed lines (additions + deletions).vouch:unvouchedPR author is not yet trusted in the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@MatthewFeroz@maria-rcks
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

fix(web): prevent connection rows from wrapping during removal - #8706

Merged
maria-rcks merged 1 commit into
pingdotgg:mainfrom
MatthewFeroz:fix/connection-row-text-wrapping
Sep 2, 2026
Merged

fix(web): prevent connection rows from wrapping during removal#8706
maria-rcks merged 1 commit into
pingdotgg:mainfrom
MatthewFeroz:fix/connection-row-text-wrapping

Conversation

@MatthewFeroz

@MatthewFerozMatthewFeroz commented Aug 30, 2026

Copy link
Copy Markdown
Contributor

What Changed

  • Constrain saved-environment names to the available flex width and truncate overflow with an ellipsis.
  • Apply the same single-line truncation to connection metadata, including long Windows SSH paths.

Why

When a connection removal starts, the action label grows from Remove or Disconnect to Removing… or Disconnecting…. That temporarily reduces the text column's available width. The connection name and metadata previously had no overflow constraint, so they could wrap and increase the row height—especially with Windows font metrics and long Windows paths.

min-w-0 lets the title participate correctly in flex shrinking, while truncate keeps both fields on one line and preserves the full text in the DOM. The action controls remain fixed-width and readable.

UI Changes

The evidence uses a 480px-wide desktop row, a Windows-style environment name/path, and the wider pending-removal controls.

Before:

Connection text wrapping before the fix

After:

Connection text truncating after the fix

Scope and conventions

  • This is a six-line, presentation-only web change with no contract, persistence, or connection-lifecycle changes.
  • Desktop receives the fix because it renders the shared web settings component.
  • Mobile uses its separate React Native connections screen and is unaffected.
  • Below the existing sm breakpoint, the row already stacks its controls; this change preserves that responsive behavior.
  • No documentation change is needed because user-facing behavior and terminology are unchanged.

Verification

  • vp run --filter @t3tools/web typecheck
  • vp lint apps/web/src/components/settings/ConnectionsSettings.tsx --report-unused-disable-directives
  • vp fmt --check apps/web/src/components/settings/ConnectionsSettings.tsx
  • git diff --check

Checklist

  • This PR is small and focused
  • I explained what changed and why
  • I included before/after screenshots for the UI change
  • No video is needed because there is no animation or timing change

Created with GPT-5.6-sol in the Codex harness.


Note

Low Risk
Presentation-only Tailwind class changes in the web settings UI; no connection logic, APIs, or persistence.

Overview
Saved connection rows in Connections settings no longer jump in height when Remove/Disconnect switches to the longer pending labels (Removing…, Disconnecting…).

In SavedBackendListRow, the environment title gets min-w-0 (so it can shrink inside the flex row) plus truncate, and the metadata line (SSH path, T3 Connect, etc.) gets truncate so both stay on one line with ellipsis instead of wrapping.

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

Note

Fix connection rows wrapping by truncating labels and metadata in SavedBackendListRow

Adds min-w-0 truncate to the environment label <h3> and truncate to the metadata <p> in ConnectionsSettings.tsx. This stops long text from overflowing and breaking the row layout during removal.

Macroscope summarized 7af5247.

@coderabbitai

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 Plus

Run ID: 9a38b7d0-8624-4816-bc71-f9be6c89d827

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

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

@github-actionsgithub-actionsBot added vouch:unvouched PR author is not yet trusted in the VOUCHED list. size:XS 0-9 changed lines (additions + deletions). labels Aug 30, 2026
@macroscopeapp

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved at 0f01aa8

Macroscope's review found this PR approvable — This is a narrowly scoped web UI fix that adds flex shrinking and single-line truncation to existing connection labels and metadata. It affects only row presentation; connection actions, state, persistence, and APIs are unchanged.

You can add or adjust custom eligibility rules. Learn more.

@MatthewFeroz
MatthewFerozforce-pushed the fix/connection-row-text-wrapping branch from 0f01aa8 to 7af5247CompareSeptember 2, 2026 04:16
@maria-rcks
maria-rcks merged commit 6e3bac3 into pingdotgg:mainSep 2, 2026
24 checks passed
github-actionsBot added a commit to omarcresp/t3code-flake that referenced this pull request Sep 2, 2026
## What's Changed
* fix(server): discover project skills for Claude by @anirudhsama in pingdotgg/t3code#9210
* feat(web): redesign provider editor and models list by @StiensWout in pingdotgg/t3code#8508
* fix(web): prevent connection rows from wrapping during removal by @MatthewFeroz in pingdotgg/t3code#8706
* fix(pull-requests): align checkout control with author by @maria-rcks in pingdotgg/t3code#9196
* fix(release): pin patched expo-sharing version by @willsheldon in pingdotgg/t3code#9250
* chore(mobile): update Expo Sharing to 57.0.17 by @StiensWout in pingdotgg/t3code#9248
**Full Changelog**: pingdotgg/t3code@v0.0.39-nightly.20260902.1257...v0.0.39-nightly.20260902.1260
Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.0.39-nightly.20260902.1260
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XS0-9 changed lines (additions + deletions).vouch:unvouchedPR author is not yet trusted in the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@MatthewFeroz@maria-rcks
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

fix(web): prevent connection rows from wrapping during removal - #8706

Merged
maria-rcks merged 1 commit into
pingdotgg:mainfrom
MatthewFeroz:fix/connection-row-text-wrapping
Sep 2, 2026
Merged

fix(web): prevent connection rows from wrapping during removal#8706
maria-rcks merged 1 commit into
pingdotgg:mainfrom
MatthewFeroz:fix/connection-row-text-wrapping

Conversation

@MatthewFeroz

@MatthewFerozMatthewFeroz commented Aug 30, 2026

Copy link
Copy Markdown
Contributor

What Changed

  • Constrain saved-environment names to the available flex width and truncate overflow with an ellipsis.
  • Apply the same single-line truncation to connection metadata, including long Windows SSH paths.

Why

When a connection removal starts, the action label grows from Remove or Disconnect to Removing… or Disconnecting…. That temporarily reduces the text column's available width. The connection name and metadata previously had no overflow constraint, so they could wrap and increase the row height—especially with Windows font metrics and long Windows paths.

min-w-0 lets the title participate correctly in flex shrinking, while truncate keeps both fields on one line and preserves the full text in the DOM. The action controls remain fixed-width and readable.

UI Changes

The evidence uses a 480px-wide desktop row, a Windows-style environment name/path, and the wider pending-removal controls.

Before:

Connection text wrapping before the fix

After:

Connection text truncating after the fix

Scope and conventions

  • This is a six-line, presentation-only web change with no contract, persistence, or connection-lifecycle changes.
  • Desktop receives the fix because it renders the shared web settings component.
  • Mobile uses its separate React Native connections screen and is unaffected.
  • Below the existing sm breakpoint, the row already stacks its controls; this change preserves that responsive behavior.
  • No documentation change is needed because user-facing behavior and terminology are unchanged.

Verification

  • vp run --filter @t3tools/web typecheck
  • vp lint apps/web/src/components/settings/ConnectionsSettings.tsx --report-unused-disable-directives
  • vp fmt --check apps/web/src/components/settings/ConnectionsSettings.tsx
  • git diff --check

Checklist

  • This PR is small and focused
  • I explained what changed and why
  • I included before/after screenshots for the UI change
  • No video is needed because there is no animation or timing change

Created with GPT-5.6-sol in the Codex harness.


Note

Low Risk
Presentation-only Tailwind class changes in the web settings UI; no connection logic, APIs, or persistence.

Overview
Saved connection rows in Connections settings no longer jump in height when Remove/Disconnect switches to the longer pending labels (Removing…, Disconnecting…).

In SavedBackendListRow, the environment title gets min-w-0 (so it can shrink inside the flex row) plus truncate, and the metadata line (SSH path, T3 Connect, etc.) gets truncate so both stay on one line with ellipsis instead of wrapping.

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

Note

Fix connection rows wrapping by truncating labels and metadata in SavedBackendListRow

Adds min-w-0 truncate to the environment label <h3> and truncate to the metadata <p> in ConnectionsSettings.tsx. This stops long text from overflowing and breaking the row layout during removal.

Macroscope summarized 7af5247.

@coderabbitai

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 Plus

Run ID: 9a38b7d0-8624-4816-bc71-f9be6c89d827

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

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

@github-actionsgithub-actionsBot added vouch:unvouched PR author is not yet trusted in the VOUCHED list. size:XS 0-9 changed lines (additions + deletions). labels Aug 30, 2026
@macroscopeapp

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved at 0f01aa8

Macroscope's review found this PR approvable — This is a narrowly scoped web UI fix that adds flex shrinking and single-line truncation to existing connection labels and metadata. It affects only row presentation; connection actions, state, persistence, and APIs are unchanged.

You can add or adjust custom eligibility rules. Learn more.

@MatthewFeroz
MatthewFerozforce-pushed the fix/connection-row-text-wrapping branch from 0f01aa8 to 7af5247CompareSeptember 2, 2026 04:16
@maria-rcks
maria-rcks merged commit 6e3bac3 into pingdotgg:mainSep 2, 2026
24 checks passed
github-actionsBot added a commit to omarcresp/t3code-flake that referenced this pull request Sep 2, 2026
## What's Changed
* fix(server): discover project skills for Claude by @anirudhsama in pingdotgg/t3code#9210
* feat(web): redesign provider editor and models list by @StiensWout in pingdotgg/t3code#8508
* fix(web): prevent connection rows from wrapping during removal by @MatthewFeroz in pingdotgg/t3code#8706
* fix(pull-requests): align checkout control with author by @maria-rcks in pingdotgg/t3code#9196
* fix(release): pin patched expo-sharing version by @willsheldon in pingdotgg/t3code#9250
* chore(mobile): update Expo Sharing to 57.0.17 by @StiensWout in pingdotgg/t3code#9248
**Full Changelog**: pingdotgg/t3code@v0.0.39-nightly.20260902.1257...v0.0.39-nightly.20260902.1260
Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.0.39-nightly.20260902.1260
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XS0-9 changed lines (additions + deletions).vouch:unvouchedPR author is not yet trusted in the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@MatthewFeroz@maria-rcks
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

fix(web): prevent connection rows from wrapping during removal - #8706

Merged
maria-rcks merged 1 commit into
pingdotgg:mainfrom
MatthewFeroz:fix/connection-row-text-wrapping
Sep 2, 2026
Merged

fix(web): prevent connection rows from wrapping during removal#8706
maria-rcks merged 1 commit into
pingdotgg:mainfrom
MatthewFeroz:fix/connection-row-text-wrapping

Conversation

@MatthewFeroz

@MatthewFerozMatthewFeroz commented Aug 30, 2026

Copy link
Copy Markdown
Contributor

What Changed

  • Constrain saved-environment names to the available flex width and truncate overflow with an ellipsis.
  • Apply the same single-line truncation to connection metadata, including long Windows SSH paths.

Why

When a connection removal starts, the action label grows from Remove or Disconnect to Removing… or Disconnecting…. That temporarily reduces the text column's available width. The connection name and metadata previously had no overflow constraint, so they could wrap and increase the row height—especially with Windows font metrics and long Windows paths.

min-w-0 lets the title participate correctly in flex shrinking, while truncate keeps both fields on one line and preserves the full text in the DOM. The action controls remain fixed-width and readable.

UI Changes

The evidence uses a 480px-wide desktop row, a Windows-style environment name/path, and the wider pending-removal controls.

Before:

Connection text wrapping before the fix

After:

Connection text truncating after the fix

Scope and conventions

  • This is a six-line, presentation-only web change with no contract, persistence, or connection-lifecycle changes.
  • Desktop receives the fix because it renders the shared web settings component.
  • Mobile uses its separate React Native connections screen and is unaffected.
  • Below the existing sm breakpoint, the row already stacks its controls; this change preserves that responsive behavior.
  • No documentation change is needed because user-facing behavior and terminology are unchanged.

Verification

  • vp run --filter @t3tools/web typecheck
  • vp lint apps/web/src/components/settings/ConnectionsSettings.tsx --report-unused-disable-directives
  • vp fmt --check apps/web/src/components/settings/ConnectionsSettings.tsx
  • git diff --check

Checklist

  • This PR is small and focused
  • I explained what changed and why
  • I included before/after screenshots for the UI change
  • No video is needed because there is no animation or timing change

Created with GPT-5.6-sol in the Codex harness.


Note

Low Risk
Presentation-only Tailwind class changes in the web settings UI; no connection logic, APIs, or persistence.

Overview
Saved connection rows in Connections settings no longer jump in height when Remove/Disconnect switches to the longer pending labels (Removing…, Disconnecting…).

In SavedBackendListRow, the environment title gets min-w-0 (so it can shrink inside the flex row) plus truncate, and the metadata line (SSH path, T3 Connect, etc.) gets truncate so both stay on one line with ellipsis instead of wrapping.

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

Note

Fix connection rows wrapping by truncating labels and metadata in SavedBackendListRow

Adds min-w-0 truncate to the environment label <h3> and truncate to the metadata <p> in ConnectionsSettings.tsx. This stops long text from overflowing and breaking the row layout during removal.

Macroscope summarized 7af5247.

@coderabbitai

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 Plus

Run ID: 9a38b7d0-8624-4816-bc71-f9be6c89d827

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

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

@github-actionsgithub-actionsBot added vouch:unvouched PR author is not yet trusted in the VOUCHED list. size:XS 0-9 changed lines (additions + deletions). labels Aug 30, 2026
@macroscopeapp

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved at 0f01aa8

Macroscope's review found this PR approvable — This is a narrowly scoped web UI fix that adds flex shrinking and single-line truncation to existing connection labels and metadata. It affects only row presentation; connection actions, state, persistence, and APIs are unchanged.

You can add or adjust custom eligibility rules. Learn more.

@MatthewFeroz
MatthewFerozforce-pushed the fix/connection-row-text-wrapping branch from 0f01aa8 to 7af5247CompareSeptember 2, 2026 04:16
@maria-rcks
maria-rcks merged commit 6e3bac3 into pingdotgg:mainSep 2, 2026
24 checks passed
github-actionsBot added a commit to omarcresp/t3code-flake that referenced this pull request Sep 2, 2026
## What's Changed
* fix(server): discover project skills for Claude by @anirudhsama in pingdotgg/t3code#9210
* feat(web): redesign provider editor and models list by @StiensWout in pingdotgg/t3code#8508
* fix(web): prevent connection rows from wrapping during removal by @MatthewFeroz in pingdotgg/t3code#8706
* fix(pull-requests): align checkout control with author by @maria-rcks in pingdotgg/t3code#9196
* fix(release): pin patched expo-sharing version by @willsheldon in pingdotgg/t3code#9250
* chore(mobile): update Expo Sharing to 57.0.17 by @StiensWout in pingdotgg/t3code#9248
**Full Changelog**: pingdotgg/t3code@v0.0.39-nightly.20260902.1257...v0.0.39-nightly.20260902.1260
Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.0.39-nightly.20260902.1260
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XS0-9 changed lines (additions + deletions).vouch:unvouchedPR author is not yet trusted in the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@MatthewFeroz@maria-rcks
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

fix(web): prevent connection rows from wrapping during removal - #8706

Merged
maria-rcks merged 1 commit into
pingdotgg:mainfrom
MatthewFeroz:fix/connection-row-text-wrapping
Sep 2, 2026
Merged

fix(web): prevent connection rows from wrapping during removal#8706
maria-rcks merged 1 commit into
pingdotgg:mainfrom
MatthewFeroz:fix/connection-row-text-wrapping

Conversation

@MatthewFeroz

@MatthewFerozMatthewFeroz commented Aug 30, 2026

Copy link
Copy Markdown
Contributor

What Changed

  • Constrain saved-environment names to the available flex width and truncate overflow with an ellipsis.
  • Apply the same single-line truncation to connection metadata, including long Windows SSH paths.

Why

When a connection removal starts, the action label grows from Remove or Disconnect to Removing… or Disconnecting…. That temporarily reduces the text column's available width. The connection name and metadata previously had no overflow constraint, so they could wrap and increase the row height—especially with Windows font metrics and long Windows paths.

min-w-0 lets the title participate correctly in flex shrinking, while truncate keeps both fields on one line and preserves the full text in the DOM. The action controls remain fixed-width and readable.

UI Changes

The evidence uses a 480px-wide desktop row, a Windows-style environment name/path, and the wider pending-removal controls.

Before:

Connection text wrapping before the fix

After:

Connection text truncating after the fix

Scope and conventions

  • This is a six-line, presentation-only web change with no contract, persistence, or connection-lifecycle changes.
  • Desktop receives the fix because it renders the shared web settings component.
  • Mobile uses its separate React Native connections screen and is unaffected.
  • Below the existing sm breakpoint, the row already stacks its controls; this change preserves that responsive behavior.
  • No documentation change is needed because user-facing behavior and terminology are unchanged.

Verification

  • vp run --filter @t3tools/web typecheck
  • vp lint apps/web/src/components/settings/ConnectionsSettings.tsx --report-unused-disable-directives
  • vp fmt --check apps/web/src/components/settings/ConnectionsSettings.tsx
  • git diff --check

Checklist

  • This PR is small and focused
  • I explained what changed and why
  • I included before/after screenshots for the UI change
  • No video is needed because there is no animation or timing change

Created with GPT-5.6-sol in the Codex harness.


Note

Low Risk
Presentation-only Tailwind class changes in the web settings UI; no connection logic, APIs, or persistence.

Overview
Saved connection rows in Connections settings no longer jump in height when Remove/Disconnect switches to the longer pending labels (Removing…, Disconnecting…).

In SavedBackendListRow, the environment title gets min-w-0 (so it can shrink inside the flex row) plus truncate, and the metadata line (SSH path, T3 Connect, etc.) gets truncate so both stay on one line with ellipsis instead of wrapping.

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

Note

Fix connection rows wrapping by truncating labels and metadata in SavedBackendListRow

Adds min-w-0 truncate to the environment label <h3> and truncate to the metadata <p> in ConnectionsSettings.tsx. This stops long text from overflowing and breaking the row layout during removal.

Macroscope summarized 7af5247.

@coderabbitai

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 Plus

Run ID: 9a38b7d0-8624-4816-bc71-f9be6c89d827

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

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

@github-actionsgithub-actionsBot added vouch:unvouched PR author is not yet trusted in the VOUCHED list. size:XS 0-9 changed lines (additions + deletions). labels Aug 30, 2026
@macroscopeapp

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved at 0f01aa8

Macroscope's review found this PR approvable — This is a narrowly scoped web UI fix that adds flex shrinking and single-line truncation to existing connection labels and metadata. It affects only row presentation; connection actions, state, persistence, and APIs are unchanged.

You can add or adjust custom eligibility rules. Learn more.

@MatthewFeroz
MatthewFerozforce-pushed the fix/connection-row-text-wrapping branch from 0f01aa8 to 7af5247CompareSeptember 2, 2026 04:16
@maria-rcks
maria-rcks merged commit 6e3bac3 into pingdotgg:mainSep 2, 2026
24 checks passed
github-actionsBot added a commit to omarcresp/t3code-flake that referenced this pull request Sep 2, 2026
## What's Changed
* fix(server): discover project skills for Claude by @anirudhsama in pingdotgg/t3code#9210
* feat(web): redesign provider editor and models list by @StiensWout in pingdotgg/t3code#8508
* fix(web): prevent connection rows from wrapping during removal by @MatthewFeroz in pingdotgg/t3code#8706
* fix(pull-requests): align checkout control with author by @maria-rcks in pingdotgg/t3code#9196
* fix(release): pin patched expo-sharing version by @willsheldon in pingdotgg/t3code#9250
* chore(mobile): update Expo Sharing to 57.0.17 by @StiensWout in pingdotgg/t3code#9248
**Full Changelog**: pingdotgg/t3code@v0.0.39-nightly.20260902.1257...v0.0.39-nightly.20260902.1260
Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.0.39-nightly.20260902.1260
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XS0-9 changed lines (additions + deletions).vouch:unvouchedPR author is not yet trusted in the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@MatthewFeroz@maria-rcks