fix(ios): add compact header menu clearance - #5663

Merged
t3dotgg merged 1 commit into
pingdotgg:t3code/rebuild-mobile-app-swiftfrom
saphid:agent/swiftui-header-spacing
Aug 9, 2026
Merged

fix(ios): add compact header menu clearance#5663
t3dotgg merged 1 commit into
pingdotgg:t3code/rebuild-mobile-app-swiftfrom
saphid:agent/swiftui-header-spacing

Conversation

@saphid

@saphidsaphid commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

What Changed

  • Add 10 points of trailing clearance to the existing thread header only at compact width.
  • Keep the regular-width header and the 44-point thread-actions menu unchanged.

Why

On a compact iPhone, a long thread title and live status metadata can run visually into the trailing actions menu. The header already owns both rows, so applying the clearance there keeps their leading/trailing alignment together without changing menu behavior or wider layouts.

This remains a two-line layout fix, separate from the live-duration work in #5611 and stacked on #5178.

UI Changes

BeforeAfter
Before: long compact header crowds the trailing menuAfter: long compact header has menu clearance

This is a static spacing change. It does not alter motion, timing, transitions, or interaction, so the navigation-only video was removed.

Verification

  • git diff --check upstream/t3code/rebuild-mobile-app-swift...HEAD — exit 0.
  • SwiftUI Debug build on iPhone 17e / iOS 26.5 — succeeded.
  • Focused HomeThreadMetadataTests Simulator run — 5 passed, 0 failed.
  • Integrated compact-width pass on iPhone 17e: long title, branch/environment metadata, and live working status remained clear of the menu; the independently exposed “Thread actions” target opened its full menu.
  • Integrated regular-width pass on iPad Pro 11-inch / iOS 26.5: existing split-view header layout and 44-point menu target remained unchanged.

Scope

SwiftUI mobile only. No web, desktop, React Native mobile, provider, contract, connection-mode, or documentation behavior changes.

Checklist

  • This PR is small and focused
  • I explained what changed and why
  • I included clear before/after screenshots
  • Video is not applicable because animation and interaction behavior are unchanged
  • The branch contains no unrelated, generated, personal, or private files

PR refresh and Simulator verification used GPT-5.6 Sol in T3 Code.

Summary by CodeRabbit

  • Bug Fixes
    • Improved compact-width thread layouts by adding clearance between the thread header content and its trailing menu.

Note

Low Risk
SwiftUI layout-only tweak on compact iPhone; no logic, API, or interaction changes.

Overview
Adds 10pt trailing padding to the thread navigation header (threadHeaderTitle) when horizontalSizeClass is compact, so long titles and metadata no longer sit under the trailing Thread actions menu.

Regular-width layouts are unchanged (0 padding); the menu’s 44pt tap target and behavior are untouched.

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

Note

Add 10pt trailing padding to compact header menu in ThreadDetailView

Fixes header menu clipping in compact width by adding 10pt of trailing padding when horizontalSizeClass is .compact. No padding is added in regular width. The fix is applied in ThreadDetailView.swift before the existing frame modifier.

Macroscope summarized fca9ced.

@coderabbitai

coderabbitaiBot commented Aug 7, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

The thread header now adds 10 points of trailing padding on compact-width layouts. Regular-width layouts remain unchanged.

Changes

Thread Header Spacing

Layer / File(s)Summary
Compact header padding
apps/swift-ios/Features/Chat/ThreadDetailView.swift
The thread header reserves 10 points of trailing space on compact-width layouts and no additional space on regular-width layouts.

Estimated code review effort: 1 (Trivial) | ~2 minutes

Suggested reviewers:t3dotgg

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check nameStatusExplanation
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check✅ PassedCheck skipped because no linked issues were found for this pull request.
Out of Scope Changes check✅ PassedCheck skipped because no linked issues were found for this pull request.
Title check✅ PassedThe title clearly and concisely describes the compact iOS header menu clearance fix.
Description check✅ PassedThe description covers the change, rationale, UI screenshots, verification, scope, and checklist for this focused UI fix.
✨ Finishing Touches 💡 1
🛠️ Fix failing CI checks 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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

❤️ Share

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

@github-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 7, 2026
@saphid
saphidforce-pushed the agent/swiftui-header-spacing branch from e5ddb3c to fb14749CompareAugust 8, 2026 01:16
@saphid
saphidforce-pushed the agent/swiftui-header-spacing branch from fb14749 to fca9cedCompareAugust 9, 2026 01:44
@github-actionsgithub-actionsBot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. and removed vouch:unvouched PR author is not yet trusted in the VOUCHED list. labels Aug 9, 2026
@saphidChatGPT Codex Connector

Copy link
Copy Markdown
ContributorAuthor

@coderabbitai review

@coderabbitai

coderabbitaiBot commented Aug 9, 2026

Copy link
Copy Markdown
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@saphidChatGPT Codex Connector

Copy link
Copy Markdown
ContributorAuthor

Branch-owner status — verified head fca9ced31

The PR patch is intentionally still one commit, one file, and two added lines. I rebased it from the prior stacking-base SHA onto current ab95c07bd7df4afb015f52c8920d40f85ae523a0; git range-diff showed the patch unchanged.

Completed evidence and review:

  • Public before/after images render without authentication. The navigation-only video was removed because this change has no motion, timing, transition, or interaction behavior.
  • SwiftUI Debug build succeeded on iPhone 17e / iOS 26.5.
  • Focused HomeThreadMetadataTests: 5 passed, 0 failed.
  • Integrated compact pass covered a long title, branch/environment metadata, live working duration, and opening the independently exposed Thread actions menu. Integrated iPad pass confirmed the regular-width split layout remains unchanged.
  • CodeRabbit manually reviewed exactly ab95c07..fca9ced and generated no actionable comments.
  • Fresh read-only cross-provider review launcher: claude --model claude-opus-5 --effort high --permission-mode plan --output-format json -p …. Actual model: Claude Opus 5; process exit status: 0; target: ab95c07..fca9ced; findings: no actionable findings.

This PR is currently blocked only by shared stacking-base CI:

  • CI / Check fails in scripts/generate-swift-wire-fixtures.ts on two namespace-import lint errors.
  • SwiftUI iOS / Contract fixtures and native tests fails in fixture generation because the shared script cannot resolve effect, before native tests start.
  • The separate Vercel result requires external-fork authorization and is not a code failure.

Those defects are outside this two-line ThreadDetailView.swift patch. The shared repair in #5674 is currently green for both CI and SwiftUI iOS, but remains a draft and has not landed in t3code/rebuild-mobile-app-swift. I am therefore keeping #5663 draft rather than misrepresenting it as ready. Once #5674 (or its equivalent) reaches the stacking base, the remaining mechanical steps are: refresh this branch once, verify the range-diff, let checks rerun, and mark ready for human maintainer review.

@t3dotgg
t3dotgg marked this pull request as ready for review August 9, 2026 02:04
@macroscopeapp

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved fca9ced

Minor UI fix adding 10px trailing padding on compact iOS screens to provide clearance for a menu. The change is purely cosmetic and self-contained with no logic or behavioral impact.

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

@t3dotgg
t3dotgg merged commit f276583 into pingdotgg:t3code/rebuild-mobile-app-swiftAug 9, 2026
19 of 22 checks passed
t3dotgg pushed a commit that referenced this pull request Aug 9, 2026
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:trustedPR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@saphid@t3dotgg
, '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(ios): add compact header menu clearance - #5663

Merged
t3dotgg merged 1 commit into
pingdotgg:t3code/rebuild-mobile-app-swiftfrom
saphid:agent/swiftui-header-spacing
Aug 9, 2026
Merged

fix(ios): add compact header menu clearance#5663
t3dotgg merged 1 commit into
pingdotgg:t3code/rebuild-mobile-app-swiftfrom
saphid:agent/swiftui-header-spacing

Conversation

@saphid

@saphidsaphid commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

What Changed

  • Add 10 points of trailing clearance to the existing thread header only at compact width.
  • Keep the regular-width header and the 44-point thread-actions menu unchanged.

Why

On a compact iPhone, a long thread title and live status metadata can run visually into the trailing actions menu. The header already owns both rows, so applying the clearance there keeps their leading/trailing alignment together without changing menu behavior or wider layouts.

This remains a two-line layout fix, separate from the live-duration work in #5611 and stacked on #5178.

UI Changes

BeforeAfter
Before: long compact header crowds the trailing menuAfter: long compact header has menu clearance

This is a static spacing change. It does not alter motion, timing, transitions, or interaction, so the navigation-only video was removed.

Verification

  • git diff --check upstream/t3code/rebuild-mobile-app-swift...HEAD — exit 0.
  • SwiftUI Debug build on iPhone 17e / iOS 26.5 — succeeded.
  • Focused HomeThreadMetadataTests Simulator run — 5 passed, 0 failed.
  • Integrated compact-width pass on iPhone 17e: long title, branch/environment metadata, and live working status remained clear of the menu; the independently exposed “Thread actions” target opened its full menu.
  • Integrated regular-width pass on iPad Pro 11-inch / iOS 26.5: existing split-view header layout and 44-point menu target remained unchanged.

Scope

SwiftUI mobile only. No web, desktop, React Native mobile, provider, contract, connection-mode, or documentation behavior changes.

Checklist

  • This PR is small and focused
  • I explained what changed and why
  • I included clear before/after screenshots
  • Video is not applicable because animation and interaction behavior are unchanged
  • The branch contains no unrelated, generated, personal, or private files

PR refresh and Simulator verification used GPT-5.6 Sol in T3 Code.

Summary by CodeRabbit

  • Bug Fixes
    • Improved compact-width thread layouts by adding clearance between the thread header content and its trailing menu.

Note

Low Risk
SwiftUI layout-only tweak on compact iPhone; no logic, API, or interaction changes.

Overview
Adds 10pt trailing padding to the thread navigation header (threadHeaderTitle) when horizontalSizeClass is compact, so long titles and metadata no longer sit under the trailing Thread actions menu.

Regular-width layouts are unchanged (0 padding); the menu’s 44pt tap target and behavior are untouched.

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

Note

Add 10pt trailing padding to compact header menu in ThreadDetailView

Fixes header menu clipping in compact width by adding 10pt of trailing padding when horizontalSizeClass is .compact. No padding is added in regular width. The fix is applied in ThreadDetailView.swift before the existing frame modifier.

Macroscope summarized fca9ced.

@coderabbitai

coderabbitaiBot commented Aug 7, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

The thread header now adds 10 points of trailing padding on compact-width layouts. Regular-width layouts remain unchanged.

Changes

Thread Header Spacing

Layer / File(s)Summary
Compact header padding
apps/swift-ios/Features/Chat/ThreadDetailView.swift
The thread header reserves 10 points of trailing space on compact-width layouts and no additional space on regular-width layouts.

Estimated code review effort: 1 (Trivial) | ~2 minutes

Suggested reviewers:t3dotgg

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check nameStatusExplanation
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check✅ PassedCheck skipped because no linked issues were found for this pull request.
Out of Scope Changes check✅ PassedCheck skipped because no linked issues were found for this pull request.
Title check✅ PassedThe title clearly and concisely describes the compact iOS header menu clearance fix.
Description check✅ PassedThe description covers the change, rationale, UI screenshots, verification, scope, and checklist for this focused UI fix.
✨ Finishing Touches 💡 1
🛠️ Fix failing CI checks 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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

❤️ Share

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

@github-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 7, 2026
@saphid
saphidforce-pushed the agent/swiftui-header-spacing branch from e5ddb3c to fb14749CompareAugust 8, 2026 01:16
@saphid
saphidforce-pushed the agent/swiftui-header-spacing branch from fb14749 to fca9cedCompareAugust 9, 2026 01:44
@github-actionsgithub-actionsBot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. and removed vouch:unvouched PR author is not yet trusted in the VOUCHED list. labels Aug 9, 2026
@saphidChatGPT Codex Connector

Copy link
Copy Markdown
ContributorAuthor

@coderabbitai review

@coderabbitai

coderabbitaiBot commented Aug 9, 2026

Copy link
Copy Markdown
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@saphidChatGPT Codex Connector

Copy link
Copy Markdown
ContributorAuthor

Branch-owner status — verified head fca9ced31

The PR patch is intentionally still one commit, one file, and two added lines. I rebased it from the prior stacking-base SHA onto current ab95c07bd7df4afb015f52c8920d40f85ae523a0; git range-diff showed the patch unchanged.

Completed evidence and review:

  • Public before/after images render without authentication. The navigation-only video was removed because this change has no motion, timing, transition, or interaction behavior.
  • SwiftUI Debug build succeeded on iPhone 17e / iOS 26.5.
  • Focused HomeThreadMetadataTests: 5 passed, 0 failed.
  • Integrated compact pass covered a long title, branch/environment metadata, live working duration, and opening the independently exposed Thread actions menu. Integrated iPad pass confirmed the regular-width split layout remains unchanged.
  • CodeRabbit manually reviewed exactly ab95c07..fca9ced and generated no actionable comments.
  • Fresh read-only cross-provider review launcher: claude --model claude-opus-5 --effort high --permission-mode plan --output-format json -p …. Actual model: Claude Opus 5; process exit status: 0; target: ab95c07..fca9ced; findings: no actionable findings.

This PR is currently blocked only by shared stacking-base CI:

  • CI / Check fails in scripts/generate-swift-wire-fixtures.ts on two namespace-import lint errors.
  • SwiftUI iOS / Contract fixtures and native tests fails in fixture generation because the shared script cannot resolve effect, before native tests start.
  • The separate Vercel result requires external-fork authorization and is not a code failure.

Those defects are outside this two-line ThreadDetailView.swift patch. The shared repair in #5674 is currently green for both CI and SwiftUI iOS, but remains a draft and has not landed in t3code/rebuild-mobile-app-swift. I am therefore keeping #5663 draft rather than misrepresenting it as ready. Once #5674 (or its equivalent) reaches the stacking base, the remaining mechanical steps are: refresh this branch once, verify the range-diff, let checks rerun, and mark ready for human maintainer review.

@t3dotgg
t3dotgg marked this pull request as ready for review August 9, 2026 02:04
@macroscopeapp

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved fca9ced

Minor UI fix adding 10px trailing padding on compact iOS screens to provide clearance for a menu. The change is purely cosmetic and self-contained with no logic or behavioral impact.

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

@t3dotgg
t3dotgg merged commit f276583 into pingdotgg:t3code/rebuild-mobile-app-swiftAug 9, 2026
19 of 22 checks passed
t3dotgg pushed a commit that referenced this pull request Aug 9, 2026
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:trustedPR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@saphid@t3dotgg
, '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(ios): add compact header menu clearance - #5663

Merged
t3dotgg merged 1 commit into
pingdotgg:t3code/rebuild-mobile-app-swiftfrom
saphid:agent/swiftui-header-spacing
Aug 9, 2026
Merged

fix(ios): add compact header menu clearance#5663
t3dotgg merged 1 commit into
pingdotgg:t3code/rebuild-mobile-app-swiftfrom
saphid:agent/swiftui-header-spacing

Conversation

@saphid

@saphidsaphid commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

What Changed

  • Add 10 points of trailing clearance to the existing thread header only at compact width.
  • Keep the regular-width header and the 44-point thread-actions menu unchanged.

Why

On a compact iPhone, a long thread title and live status metadata can run visually into the trailing actions menu. The header already owns both rows, so applying the clearance there keeps their leading/trailing alignment together without changing menu behavior or wider layouts.

This remains a two-line layout fix, separate from the live-duration work in #5611 and stacked on #5178.

UI Changes

BeforeAfter
Before: long compact header crowds the trailing menuAfter: long compact header has menu clearance

This is a static spacing change. It does not alter motion, timing, transitions, or interaction, so the navigation-only video was removed.

Verification

  • git diff --check upstream/t3code/rebuild-mobile-app-swift...HEAD — exit 0.
  • SwiftUI Debug build on iPhone 17e / iOS 26.5 — succeeded.
  • Focused HomeThreadMetadataTests Simulator run — 5 passed, 0 failed.
  • Integrated compact-width pass on iPhone 17e: long title, branch/environment metadata, and live working status remained clear of the menu; the independently exposed “Thread actions” target opened its full menu.
  • Integrated regular-width pass on iPad Pro 11-inch / iOS 26.5: existing split-view header layout and 44-point menu target remained unchanged.

Scope

SwiftUI mobile only. No web, desktop, React Native mobile, provider, contract, connection-mode, or documentation behavior changes.

Checklist

  • This PR is small and focused
  • I explained what changed and why
  • I included clear before/after screenshots
  • Video is not applicable because animation and interaction behavior are unchanged
  • The branch contains no unrelated, generated, personal, or private files

PR refresh and Simulator verification used GPT-5.6 Sol in T3 Code.

Summary by CodeRabbit

  • Bug Fixes
    • Improved compact-width thread layouts by adding clearance between the thread header content and its trailing menu.

Note

Low Risk
SwiftUI layout-only tweak on compact iPhone; no logic, API, or interaction changes.

Overview
Adds 10pt trailing padding to the thread navigation header (threadHeaderTitle) when horizontalSizeClass is compact, so long titles and metadata no longer sit under the trailing Thread actions menu.

Regular-width layouts are unchanged (0 padding); the menu’s 44pt tap target and behavior are untouched.

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

Note

Add 10pt trailing padding to compact header menu in ThreadDetailView

Fixes header menu clipping in compact width by adding 10pt of trailing padding when horizontalSizeClass is .compact. No padding is added in regular width. The fix is applied in ThreadDetailView.swift before the existing frame modifier.

Macroscope summarized fca9ced.

@coderabbitai

coderabbitaiBot commented Aug 7, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

The thread header now adds 10 points of trailing padding on compact-width layouts. Regular-width layouts remain unchanged.

Changes

Thread Header Spacing

Layer / File(s)Summary
Compact header padding
apps/swift-ios/Features/Chat/ThreadDetailView.swift
The thread header reserves 10 points of trailing space on compact-width layouts and no additional space on regular-width layouts.

Estimated code review effort: 1 (Trivial) | ~2 minutes

Suggested reviewers:t3dotgg

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check nameStatusExplanation
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check✅ PassedCheck skipped because no linked issues were found for this pull request.
Out of Scope Changes check✅ PassedCheck skipped because no linked issues were found for this pull request.
Title check✅ PassedThe title clearly and concisely describes the compact iOS header menu clearance fix.
Description check✅ PassedThe description covers the change, rationale, UI screenshots, verification, scope, and checklist for this focused UI fix.
✨ Finishing Touches 💡 1
🛠️ Fix failing CI checks 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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

❤️ Share

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

@github-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 7, 2026
@saphid
saphidforce-pushed the agent/swiftui-header-spacing branch from e5ddb3c to fb14749CompareAugust 8, 2026 01:16
@saphid
saphidforce-pushed the agent/swiftui-header-spacing branch from fb14749 to fca9cedCompareAugust 9, 2026 01:44
@github-actionsgithub-actionsBot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. and removed vouch:unvouched PR author is not yet trusted in the VOUCHED list. labels Aug 9, 2026
@saphidChatGPT Codex Connector

Copy link
Copy Markdown
ContributorAuthor

@coderabbitai review

@coderabbitai

coderabbitaiBot commented Aug 9, 2026

Copy link
Copy Markdown
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@saphidChatGPT Codex Connector

Copy link
Copy Markdown
ContributorAuthor

Branch-owner status — verified head fca9ced31

The PR patch is intentionally still one commit, one file, and two added lines. I rebased it from the prior stacking-base SHA onto current ab95c07bd7df4afb015f52c8920d40f85ae523a0; git range-diff showed the patch unchanged.

Completed evidence and review:

  • Public before/after images render without authentication. The navigation-only video was removed because this change has no motion, timing, transition, or interaction behavior.
  • SwiftUI Debug build succeeded on iPhone 17e / iOS 26.5.
  • Focused HomeThreadMetadataTests: 5 passed, 0 failed.
  • Integrated compact pass covered a long title, branch/environment metadata, live working duration, and opening the independently exposed Thread actions menu. Integrated iPad pass confirmed the regular-width split layout remains unchanged.
  • CodeRabbit manually reviewed exactly ab95c07..fca9ced and generated no actionable comments.
  • Fresh read-only cross-provider review launcher: claude --model claude-opus-5 --effort high --permission-mode plan --output-format json -p …. Actual model: Claude Opus 5; process exit status: 0; target: ab95c07..fca9ced; findings: no actionable findings.

This PR is currently blocked only by shared stacking-base CI:

  • CI / Check fails in scripts/generate-swift-wire-fixtures.ts on two namespace-import lint errors.
  • SwiftUI iOS / Contract fixtures and native tests fails in fixture generation because the shared script cannot resolve effect, before native tests start.
  • The separate Vercel result requires external-fork authorization and is not a code failure.

Those defects are outside this two-line ThreadDetailView.swift patch. The shared repair in #5674 is currently green for both CI and SwiftUI iOS, but remains a draft and has not landed in t3code/rebuild-mobile-app-swift. I am therefore keeping #5663 draft rather than misrepresenting it as ready. Once #5674 (or its equivalent) reaches the stacking base, the remaining mechanical steps are: refresh this branch once, verify the range-diff, let checks rerun, and mark ready for human maintainer review.

@t3dotgg
t3dotgg marked this pull request as ready for review August 9, 2026 02:04
@macroscopeapp

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved fca9ced

Minor UI fix adding 10px trailing padding on compact iOS screens to provide clearance for a menu. The change is purely cosmetic and self-contained with no logic or behavioral impact.

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

@t3dotgg
t3dotgg merged commit f276583 into pingdotgg:t3code/rebuild-mobile-app-swiftAug 9, 2026
19 of 22 checks passed
t3dotgg pushed a commit that referenced this pull request Aug 9, 2026
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:trustedPR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@saphid@t3dotgg
, '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(ios): add compact header menu clearance - #5663

Merged
t3dotgg merged 1 commit into
pingdotgg:t3code/rebuild-mobile-app-swiftfrom
saphid:agent/swiftui-header-spacing
Aug 9, 2026
Merged

fix(ios): add compact header menu clearance#5663
t3dotgg merged 1 commit into
pingdotgg:t3code/rebuild-mobile-app-swiftfrom
saphid:agent/swiftui-header-spacing

Conversation

@saphid

@saphidsaphid commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

What Changed

  • Add 10 points of trailing clearance to the existing thread header only at compact width.
  • Keep the regular-width header and the 44-point thread-actions menu unchanged.

Why

On a compact iPhone, a long thread title and live status metadata can run visually into the trailing actions menu. The header already owns both rows, so applying the clearance there keeps their leading/trailing alignment together without changing menu behavior or wider layouts.

This remains a two-line layout fix, separate from the live-duration work in #5611 and stacked on #5178.

UI Changes

BeforeAfter
Before: long compact header crowds the trailing menuAfter: long compact header has menu clearance

This is a static spacing change. It does not alter motion, timing, transitions, or interaction, so the navigation-only video was removed.

Verification

  • git diff --check upstream/t3code/rebuild-mobile-app-swift...HEAD — exit 0.
  • SwiftUI Debug build on iPhone 17e / iOS 26.5 — succeeded.
  • Focused HomeThreadMetadataTests Simulator run — 5 passed, 0 failed.
  • Integrated compact-width pass on iPhone 17e: long title, branch/environment metadata, and live working status remained clear of the menu; the independently exposed “Thread actions” target opened its full menu.
  • Integrated regular-width pass on iPad Pro 11-inch / iOS 26.5: existing split-view header layout and 44-point menu target remained unchanged.

Scope

SwiftUI mobile only. No web, desktop, React Native mobile, provider, contract, connection-mode, or documentation behavior changes.

Checklist

  • This PR is small and focused
  • I explained what changed and why
  • I included clear before/after screenshots
  • Video is not applicable because animation and interaction behavior are unchanged
  • The branch contains no unrelated, generated, personal, or private files

PR refresh and Simulator verification used GPT-5.6 Sol in T3 Code.

Summary by CodeRabbit

  • Bug Fixes
    • Improved compact-width thread layouts by adding clearance between the thread header content and its trailing menu.

Note

Low Risk
SwiftUI layout-only tweak on compact iPhone; no logic, API, or interaction changes.

Overview
Adds 10pt trailing padding to the thread navigation header (threadHeaderTitle) when horizontalSizeClass is compact, so long titles and metadata no longer sit under the trailing Thread actions menu.

Regular-width layouts are unchanged (0 padding); the menu’s 44pt tap target and behavior are untouched.

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

Note

Add 10pt trailing padding to compact header menu in ThreadDetailView

Fixes header menu clipping in compact width by adding 10pt of trailing padding when horizontalSizeClass is .compact. No padding is added in regular width. The fix is applied in ThreadDetailView.swift before the existing frame modifier.

Macroscope summarized fca9ced.

@coderabbitai

coderabbitaiBot commented Aug 7, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

The thread header now adds 10 points of trailing padding on compact-width layouts. Regular-width layouts remain unchanged.

Changes

Thread Header Spacing

Layer / File(s)Summary
Compact header padding
apps/swift-ios/Features/Chat/ThreadDetailView.swift
The thread header reserves 10 points of trailing space on compact-width layouts and no additional space on regular-width layouts.

Estimated code review effort: 1 (Trivial) | ~2 minutes

Suggested reviewers:t3dotgg

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check nameStatusExplanation
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check✅ PassedCheck skipped because no linked issues were found for this pull request.
Out of Scope Changes check✅ PassedCheck skipped because no linked issues were found for this pull request.
Title check✅ PassedThe title clearly and concisely describes the compact iOS header menu clearance fix.
Description check✅ PassedThe description covers the change, rationale, UI screenshots, verification, scope, and checklist for this focused UI fix.
✨ Finishing Touches 💡 1
🛠️ Fix failing CI checks 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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

❤️ Share

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

@github-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 7, 2026
@saphid
saphidforce-pushed the agent/swiftui-header-spacing branch from e5ddb3c to fb14749CompareAugust 8, 2026 01:16
@saphid
saphidforce-pushed the agent/swiftui-header-spacing branch from fb14749 to fca9cedCompareAugust 9, 2026 01:44
@github-actionsgithub-actionsBot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. and removed vouch:unvouched PR author is not yet trusted in the VOUCHED list. labels Aug 9, 2026
@saphidChatGPT Codex Connector

Copy link
Copy Markdown
ContributorAuthor

@coderabbitai review

@coderabbitai

coderabbitaiBot commented Aug 9, 2026

Copy link
Copy Markdown
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@saphidChatGPT Codex Connector

Copy link
Copy Markdown
ContributorAuthor

Branch-owner status — verified head fca9ced31

The PR patch is intentionally still one commit, one file, and two added lines. I rebased it from the prior stacking-base SHA onto current ab95c07bd7df4afb015f52c8920d40f85ae523a0; git range-diff showed the patch unchanged.

Completed evidence and review:

  • Public before/after images render without authentication. The navigation-only video was removed because this change has no motion, timing, transition, or interaction behavior.
  • SwiftUI Debug build succeeded on iPhone 17e / iOS 26.5.
  • Focused HomeThreadMetadataTests: 5 passed, 0 failed.
  • Integrated compact pass covered a long title, branch/environment metadata, live working duration, and opening the independently exposed Thread actions menu. Integrated iPad pass confirmed the regular-width split layout remains unchanged.
  • CodeRabbit manually reviewed exactly ab95c07..fca9ced and generated no actionable comments.
  • Fresh read-only cross-provider review launcher: claude --model claude-opus-5 --effort high --permission-mode plan --output-format json -p …. Actual model: Claude Opus 5; process exit status: 0; target: ab95c07..fca9ced; findings: no actionable findings.

This PR is currently blocked only by shared stacking-base CI:

  • CI / Check fails in scripts/generate-swift-wire-fixtures.ts on two namespace-import lint errors.
  • SwiftUI iOS / Contract fixtures and native tests fails in fixture generation because the shared script cannot resolve effect, before native tests start.
  • The separate Vercel result requires external-fork authorization and is not a code failure.

Those defects are outside this two-line ThreadDetailView.swift patch. The shared repair in #5674 is currently green for both CI and SwiftUI iOS, but remains a draft and has not landed in t3code/rebuild-mobile-app-swift. I am therefore keeping #5663 draft rather than misrepresenting it as ready. Once #5674 (or its equivalent) reaches the stacking base, the remaining mechanical steps are: refresh this branch once, verify the range-diff, let checks rerun, and mark ready for human maintainer review.

@t3dotgg
t3dotgg marked this pull request as ready for review August 9, 2026 02:04
@macroscopeapp

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved fca9ced

Minor UI fix adding 10px trailing padding on compact iOS screens to provide clearance for a menu. The change is purely cosmetic and self-contained with no logic or behavioral impact.

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

@t3dotgg
t3dotgg merged commit f276583 into pingdotgg:t3code/rebuild-mobile-app-swiftAug 9, 2026
19 of 22 checks passed
t3dotgg pushed a commit that referenced this pull request Aug 9, 2026
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:trustedPR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@saphid@t3dotgg
, '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(ios): add compact header menu clearance - #5663

Merged
t3dotgg merged 1 commit into
pingdotgg:t3code/rebuild-mobile-app-swiftfrom
saphid:agent/swiftui-header-spacing
Aug 9, 2026
Merged

fix(ios): add compact header menu clearance#5663
t3dotgg merged 1 commit into
pingdotgg:t3code/rebuild-mobile-app-swiftfrom
saphid:agent/swiftui-header-spacing

Conversation

@saphid

@saphidsaphid commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

What Changed

  • Add 10 points of trailing clearance to the existing thread header only at compact width.
  • Keep the regular-width header and the 44-point thread-actions menu unchanged.

Why

On a compact iPhone, a long thread title and live status metadata can run visually into the trailing actions menu. The header already owns both rows, so applying the clearance there keeps their leading/trailing alignment together without changing menu behavior or wider layouts.

This remains a two-line layout fix, separate from the live-duration work in #5611 and stacked on #5178.

UI Changes

BeforeAfter
Before: long compact header crowds the trailing menuAfter: long compact header has menu clearance

This is a static spacing change. It does not alter motion, timing, transitions, or interaction, so the navigation-only video was removed.

Verification

  • git diff --check upstream/t3code/rebuild-mobile-app-swift...HEAD — exit 0.
  • SwiftUI Debug build on iPhone 17e / iOS 26.5 — succeeded.
  • Focused HomeThreadMetadataTests Simulator run — 5 passed, 0 failed.
  • Integrated compact-width pass on iPhone 17e: long title, branch/environment metadata, and live working status remained clear of the menu; the independently exposed “Thread actions” target opened its full menu.
  • Integrated regular-width pass on iPad Pro 11-inch / iOS 26.5: existing split-view header layout and 44-point menu target remained unchanged.

Scope

SwiftUI mobile only. No web, desktop, React Native mobile, provider, contract, connection-mode, or documentation behavior changes.

Checklist

  • This PR is small and focused
  • I explained what changed and why
  • I included clear before/after screenshots
  • Video is not applicable because animation and interaction behavior are unchanged
  • The branch contains no unrelated, generated, personal, or private files

PR refresh and Simulator verification used GPT-5.6 Sol in T3 Code.

Summary by CodeRabbit

  • Bug Fixes
    • Improved compact-width thread layouts by adding clearance between the thread header content and its trailing menu.

Note

Low Risk
SwiftUI layout-only tweak on compact iPhone; no logic, API, or interaction changes.

Overview
Adds 10pt trailing padding to the thread navigation header (threadHeaderTitle) when horizontalSizeClass is compact, so long titles and metadata no longer sit under the trailing Thread actions menu.

Regular-width layouts are unchanged (0 padding); the menu’s 44pt tap target and behavior are untouched.

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

Note

Add 10pt trailing padding to compact header menu in ThreadDetailView

Fixes header menu clipping in compact width by adding 10pt of trailing padding when horizontalSizeClass is .compact. No padding is added in regular width. The fix is applied in ThreadDetailView.swift before the existing frame modifier.

Macroscope summarized fca9ced.

@coderabbitai

coderabbitaiBot commented Aug 7, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

The thread header now adds 10 points of trailing padding on compact-width layouts. Regular-width layouts remain unchanged.

Changes

Thread Header Spacing

Layer / File(s)Summary
Compact header padding
apps/swift-ios/Features/Chat/ThreadDetailView.swift
The thread header reserves 10 points of trailing space on compact-width layouts and no additional space on regular-width layouts.

Estimated code review effort: 1 (Trivial) | ~2 minutes

Suggested reviewers:t3dotgg

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check nameStatusExplanation
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check✅ PassedCheck skipped because no linked issues were found for this pull request.
Out of Scope Changes check✅ PassedCheck skipped because no linked issues were found for this pull request.
Title check✅ PassedThe title clearly and concisely describes the compact iOS header menu clearance fix.
Description check✅ PassedThe description covers the change, rationale, UI screenshots, verification, scope, and checklist for this focused UI fix.
✨ Finishing Touches 💡 1
🛠️ Fix failing CI checks 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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

❤️ Share

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

@github-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 7, 2026
@saphid
saphidforce-pushed the agent/swiftui-header-spacing branch from e5ddb3c to fb14749CompareAugust 8, 2026 01:16
@saphid
saphidforce-pushed the agent/swiftui-header-spacing branch from fb14749 to fca9cedCompareAugust 9, 2026 01:44
@github-actionsgithub-actionsBot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. and removed vouch:unvouched PR author is not yet trusted in the VOUCHED list. labels Aug 9, 2026
@saphidChatGPT Codex Connector

Copy link
Copy Markdown
ContributorAuthor

@coderabbitai review

@coderabbitai

coderabbitaiBot commented Aug 9, 2026

Copy link
Copy Markdown
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@saphidChatGPT Codex Connector

Copy link
Copy Markdown
ContributorAuthor

Branch-owner status — verified head fca9ced31

The PR patch is intentionally still one commit, one file, and two added lines. I rebased it from the prior stacking-base SHA onto current ab95c07bd7df4afb015f52c8920d40f85ae523a0; git range-diff showed the patch unchanged.

Completed evidence and review:

  • Public before/after images render without authentication. The navigation-only video was removed because this change has no motion, timing, transition, or interaction behavior.
  • SwiftUI Debug build succeeded on iPhone 17e / iOS 26.5.
  • Focused HomeThreadMetadataTests: 5 passed, 0 failed.
  • Integrated compact pass covered a long title, branch/environment metadata, live working duration, and opening the independently exposed Thread actions menu. Integrated iPad pass confirmed the regular-width split layout remains unchanged.
  • CodeRabbit manually reviewed exactly ab95c07..fca9ced and generated no actionable comments.
  • Fresh read-only cross-provider review launcher: claude --model claude-opus-5 --effort high --permission-mode plan --output-format json -p …. Actual model: Claude Opus 5; process exit status: 0; target: ab95c07..fca9ced; findings: no actionable findings.

This PR is currently blocked only by shared stacking-base CI:

  • CI / Check fails in scripts/generate-swift-wire-fixtures.ts on two namespace-import lint errors.
  • SwiftUI iOS / Contract fixtures and native tests fails in fixture generation because the shared script cannot resolve effect, before native tests start.
  • The separate Vercel result requires external-fork authorization and is not a code failure.

Those defects are outside this two-line ThreadDetailView.swift patch. The shared repair in #5674 is currently green for both CI and SwiftUI iOS, but remains a draft and has not landed in t3code/rebuild-mobile-app-swift. I am therefore keeping #5663 draft rather than misrepresenting it as ready. Once #5674 (or its equivalent) reaches the stacking base, the remaining mechanical steps are: refresh this branch once, verify the range-diff, let checks rerun, and mark ready for human maintainer review.

@t3dotgg
t3dotgg marked this pull request as ready for review August 9, 2026 02:04
@macroscopeapp

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved fca9ced

Minor UI fix adding 10px trailing padding on compact iOS screens to provide clearance for a menu. The change is purely cosmetic and self-contained with no logic or behavioral impact.

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

@t3dotgg
t3dotgg merged commit f276583 into pingdotgg:t3code/rebuild-mobile-app-swiftAug 9, 2026
19 of 22 checks passed
t3dotgg pushed a commit that referenced this pull request Aug 9, 2026
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:trustedPR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@saphid@t3dotgg
, '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(ios): add compact header menu clearance - #5663

Merged
t3dotgg merged 1 commit into
pingdotgg:t3code/rebuild-mobile-app-swiftfrom
saphid:agent/swiftui-header-spacing
Aug 9, 2026
Merged

fix(ios): add compact header menu clearance#5663
t3dotgg merged 1 commit into
pingdotgg:t3code/rebuild-mobile-app-swiftfrom
saphid:agent/swiftui-header-spacing

Conversation

@saphid

@saphidsaphid commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

What Changed

  • Add 10 points of trailing clearance to the existing thread header only at compact width.
  • Keep the regular-width header and the 44-point thread-actions menu unchanged.

Why

On a compact iPhone, a long thread title and live status metadata can run visually into the trailing actions menu. The header already owns both rows, so applying the clearance there keeps their leading/trailing alignment together without changing menu behavior or wider layouts.

This remains a two-line layout fix, separate from the live-duration work in #5611 and stacked on #5178.

UI Changes

BeforeAfter
Before: long compact header crowds the trailing menuAfter: long compact header has menu clearance

This is a static spacing change. It does not alter motion, timing, transitions, or interaction, so the navigation-only video was removed.

Verification

  • git diff --check upstream/t3code/rebuild-mobile-app-swift...HEAD — exit 0.
  • SwiftUI Debug build on iPhone 17e / iOS 26.5 — succeeded.
  • Focused HomeThreadMetadataTests Simulator run — 5 passed, 0 failed.
  • Integrated compact-width pass on iPhone 17e: long title, branch/environment metadata, and live working status remained clear of the menu; the independently exposed “Thread actions” target opened its full menu.
  • Integrated regular-width pass on iPad Pro 11-inch / iOS 26.5: existing split-view header layout and 44-point menu target remained unchanged.

Scope

SwiftUI mobile only. No web, desktop, React Native mobile, provider, contract, connection-mode, or documentation behavior changes.

Checklist

  • This PR is small and focused
  • I explained what changed and why
  • I included clear before/after screenshots
  • Video is not applicable because animation and interaction behavior are unchanged
  • The branch contains no unrelated, generated, personal, or private files

PR refresh and Simulator verification used GPT-5.6 Sol in T3 Code.

Summary by CodeRabbit

  • Bug Fixes
    • Improved compact-width thread layouts by adding clearance between the thread header content and its trailing menu.

Note

Low Risk
SwiftUI layout-only tweak on compact iPhone; no logic, API, or interaction changes.

Overview
Adds 10pt trailing padding to the thread navigation header (threadHeaderTitle) when horizontalSizeClass is compact, so long titles and metadata no longer sit under the trailing Thread actions menu.

Regular-width layouts are unchanged (0 padding); the menu’s 44pt tap target and behavior are untouched.

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

Note

Add 10pt trailing padding to compact header menu in ThreadDetailView

Fixes header menu clipping in compact width by adding 10pt of trailing padding when horizontalSizeClass is .compact. No padding is added in regular width. The fix is applied in ThreadDetailView.swift before the existing frame modifier.

Macroscope summarized fca9ced.

@coderabbitai

coderabbitaiBot commented Aug 7, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

The thread header now adds 10 points of trailing padding on compact-width layouts. Regular-width layouts remain unchanged.

Changes

Thread Header Spacing

Layer / File(s)Summary
Compact header padding
apps/swift-ios/Features/Chat/ThreadDetailView.swift
The thread header reserves 10 points of trailing space on compact-width layouts and no additional space on regular-width layouts.

Estimated code review effort: 1 (Trivial) | ~2 minutes

Suggested reviewers:t3dotgg

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check nameStatusExplanation
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check✅ PassedCheck skipped because no linked issues were found for this pull request.
Out of Scope Changes check✅ PassedCheck skipped because no linked issues were found for this pull request.
Title check✅ PassedThe title clearly and concisely describes the compact iOS header menu clearance fix.
Description check✅ PassedThe description covers the change, rationale, UI screenshots, verification, scope, and checklist for this focused UI fix.
✨ Finishing Touches 💡 1
🛠️ Fix failing CI checks 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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

❤️ Share

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

@github-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 7, 2026
@saphid
saphidforce-pushed the agent/swiftui-header-spacing branch from e5ddb3c to fb14749CompareAugust 8, 2026 01:16
@saphid
saphidforce-pushed the agent/swiftui-header-spacing branch from fb14749 to fca9cedCompareAugust 9, 2026 01:44
@github-actionsgithub-actionsBot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. and removed vouch:unvouched PR author is not yet trusted in the VOUCHED list. labels Aug 9, 2026
@saphidChatGPT Codex Connector

Copy link
Copy Markdown
ContributorAuthor

@coderabbitai review

@coderabbitai

coderabbitaiBot commented Aug 9, 2026

Copy link
Copy Markdown
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@saphidChatGPT Codex Connector

Copy link
Copy Markdown
ContributorAuthor

Branch-owner status — verified head fca9ced31

The PR patch is intentionally still one commit, one file, and two added lines. I rebased it from the prior stacking-base SHA onto current ab95c07bd7df4afb015f52c8920d40f85ae523a0; git range-diff showed the patch unchanged.

Completed evidence and review:

  • Public before/after images render without authentication. The navigation-only video was removed because this change has no motion, timing, transition, or interaction behavior.
  • SwiftUI Debug build succeeded on iPhone 17e / iOS 26.5.
  • Focused HomeThreadMetadataTests: 5 passed, 0 failed.
  • Integrated compact pass covered a long title, branch/environment metadata, live working duration, and opening the independently exposed Thread actions menu. Integrated iPad pass confirmed the regular-width split layout remains unchanged.
  • CodeRabbit manually reviewed exactly ab95c07..fca9ced and generated no actionable comments.
  • Fresh read-only cross-provider review launcher: claude --model claude-opus-5 --effort high --permission-mode plan --output-format json -p …. Actual model: Claude Opus 5; process exit status: 0; target: ab95c07..fca9ced; findings: no actionable findings.

This PR is currently blocked only by shared stacking-base CI:

  • CI / Check fails in scripts/generate-swift-wire-fixtures.ts on two namespace-import lint errors.
  • SwiftUI iOS / Contract fixtures and native tests fails in fixture generation because the shared script cannot resolve effect, before native tests start.
  • The separate Vercel result requires external-fork authorization and is not a code failure.

Those defects are outside this two-line ThreadDetailView.swift patch. The shared repair in #5674 is currently green for both CI and SwiftUI iOS, but remains a draft and has not landed in t3code/rebuild-mobile-app-swift. I am therefore keeping #5663 draft rather than misrepresenting it as ready. Once #5674 (or its equivalent) reaches the stacking base, the remaining mechanical steps are: refresh this branch once, verify the range-diff, let checks rerun, and mark ready for human maintainer review.

@t3dotgg
t3dotgg marked this pull request as ready for review August 9, 2026 02:04
@macroscopeapp

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved fca9ced

Minor UI fix adding 10px trailing padding on compact iOS screens to provide clearance for a menu. The change is purely cosmetic and self-contained with no logic or behavioral impact.

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

@t3dotgg
t3dotgg merged commit f276583 into pingdotgg:t3code/rebuild-mobile-app-swiftAug 9, 2026
19 of 22 checks passed
t3dotgg pushed a commit that referenced this pull request Aug 9, 2026
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:trustedPR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@saphid@t3dotgg
, '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(ios): add compact header menu clearance - #5663

Merged
t3dotgg merged 1 commit into
pingdotgg:t3code/rebuild-mobile-app-swiftfrom
saphid:agent/swiftui-header-spacing
Aug 9, 2026
Merged

fix(ios): add compact header menu clearance#5663
t3dotgg merged 1 commit into
pingdotgg:t3code/rebuild-mobile-app-swiftfrom
saphid:agent/swiftui-header-spacing

Conversation

@saphid

@saphidsaphid commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

What Changed

  • Add 10 points of trailing clearance to the existing thread header only at compact width.
  • Keep the regular-width header and the 44-point thread-actions menu unchanged.

Why

On a compact iPhone, a long thread title and live status metadata can run visually into the trailing actions menu. The header already owns both rows, so applying the clearance there keeps their leading/trailing alignment together without changing menu behavior or wider layouts.

This remains a two-line layout fix, separate from the live-duration work in #5611 and stacked on #5178.

UI Changes

BeforeAfter
Before: long compact header crowds the trailing menuAfter: long compact header has menu clearance

This is a static spacing change. It does not alter motion, timing, transitions, or interaction, so the navigation-only video was removed.

Verification

  • git diff --check upstream/t3code/rebuild-mobile-app-swift...HEAD — exit 0.
  • SwiftUI Debug build on iPhone 17e / iOS 26.5 — succeeded.
  • Focused HomeThreadMetadataTests Simulator run — 5 passed, 0 failed.
  • Integrated compact-width pass on iPhone 17e: long title, branch/environment metadata, and live working status remained clear of the menu; the independently exposed “Thread actions” target opened its full menu.
  • Integrated regular-width pass on iPad Pro 11-inch / iOS 26.5: existing split-view header layout and 44-point menu target remained unchanged.

Scope

SwiftUI mobile only. No web, desktop, React Native mobile, provider, contract, connection-mode, or documentation behavior changes.

Checklist

  • This PR is small and focused
  • I explained what changed and why
  • I included clear before/after screenshots
  • Video is not applicable because animation and interaction behavior are unchanged
  • The branch contains no unrelated, generated, personal, or private files

PR refresh and Simulator verification used GPT-5.6 Sol in T3 Code.

Summary by CodeRabbit

  • Bug Fixes
    • Improved compact-width thread layouts by adding clearance between the thread header content and its trailing menu.

Note

Low Risk
SwiftUI layout-only tweak on compact iPhone; no logic, API, or interaction changes.

Overview
Adds 10pt trailing padding to the thread navigation header (threadHeaderTitle) when horizontalSizeClass is compact, so long titles and metadata no longer sit under the trailing Thread actions menu.

Regular-width layouts are unchanged (0 padding); the menu’s 44pt tap target and behavior are untouched.

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

Note

Add 10pt trailing padding to compact header menu in ThreadDetailView

Fixes header menu clipping in compact width by adding 10pt of trailing padding when horizontalSizeClass is .compact. No padding is added in regular width. The fix is applied in ThreadDetailView.swift before the existing frame modifier.

Macroscope summarized fca9ced.

@coderabbitai

coderabbitaiBot commented Aug 7, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

The thread header now adds 10 points of trailing padding on compact-width layouts. Regular-width layouts remain unchanged.

Changes

Thread Header Spacing

Layer / File(s)Summary
Compact header padding
apps/swift-ios/Features/Chat/ThreadDetailView.swift
The thread header reserves 10 points of trailing space on compact-width layouts and no additional space on regular-width layouts.

Estimated code review effort: 1 (Trivial) | ~2 minutes

Suggested reviewers:t3dotgg

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check nameStatusExplanation
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check✅ PassedCheck skipped because no linked issues were found for this pull request.
Out of Scope Changes check✅ PassedCheck skipped because no linked issues were found for this pull request.
Title check✅ PassedThe title clearly and concisely describes the compact iOS header menu clearance fix.
Description check✅ PassedThe description covers the change, rationale, UI screenshots, verification, scope, and checklist for this focused UI fix.
✨ Finishing Touches 💡 1
🛠️ Fix failing CI checks 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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

❤️ Share

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

@github-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 7, 2026
@saphid
saphidforce-pushed the agent/swiftui-header-spacing branch from e5ddb3c to fb14749CompareAugust 8, 2026 01:16
@saphid
saphidforce-pushed the agent/swiftui-header-spacing branch from fb14749 to fca9cedCompareAugust 9, 2026 01:44
@github-actionsgithub-actionsBot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. and removed vouch:unvouched PR author is not yet trusted in the VOUCHED list. labels Aug 9, 2026
@saphidChatGPT Codex Connector

Copy link
Copy Markdown
ContributorAuthor

@coderabbitai review

@coderabbitai

coderabbitaiBot commented Aug 9, 2026

Copy link
Copy Markdown
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@saphidChatGPT Codex Connector

Copy link
Copy Markdown
ContributorAuthor

Branch-owner status — verified head fca9ced31

The PR patch is intentionally still one commit, one file, and two added lines. I rebased it from the prior stacking-base SHA onto current ab95c07bd7df4afb015f52c8920d40f85ae523a0; git range-diff showed the patch unchanged.

Completed evidence and review:

  • Public before/after images render without authentication. The navigation-only video was removed because this change has no motion, timing, transition, or interaction behavior.
  • SwiftUI Debug build succeeded on iPhone 17e / iOS 26.5.
  • Focused HomeThreadMetadataTests: 5 passed, 0 failed.
  • Integrated compact pass covered a long title, branch/environment metadata, live working duration, and opening the independently exposed Thread actions menu. Integrated iPad pass confirmed the regular-width split layout remains unchanged.
  • CodeRabbit manually reviewed exactly ab95c07..fca9ced and generated no actionable comments.
  • Fresh read-only cross-provider review launcher: claude --model claude-opus-5 --effort high --permission-mode plan --output-format json -p …. Actual model: Claude Opus 5; process exit status: 0; target: ab95c07..fca9ced; findings: no actionable findings.

This PR is currently blocked only by shared stacking-base CI:

  • CI / Check fails in scripts/generate-swift-wire-fixtures.ts on two namespace-import lint errors.
  • SwiftUI iOS / Contract fixtures and native tests fails in fixture generation because the shared script cannot resolve effect, before native tests start.
  • The separate Vercel result requires external-fork authorization and is not a code failure.

Those defects are outside this two-line ThreadDetailView.swift patch. The shared repair in #5674 is currently green for both CI and SwiftUI iOS, but remains a draft and has not landed in t3code/rebuild-mobile-app-swift. I am therefore keeping #5663 draft rather than misrepresenting it as ready. Once #5674 (or its equivalent) reaches the stacking base, the remaining mechanical steps are: refresh this branch once, verify the range-diff, let checks rerun, and mark ready for human maintainer review.

@t3dotgg
t3dotgg marked this pull request as ready for review August 9, 2026 02:04
@macroscopeapp

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved fca9ced

Minor UI fix adding 10px trailing padding on compact iOS screens to provide clearance for a menu. The change is purely cosmetic and self-contained with no logic or behavioral impact.

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

@t3dotgg
t3dotgg merged commit f276583 into pingdotgg:t3code/rebuild-mobile-app-swiftAug 9, 2026
19 of 22 checks passed
t3dotgg pushed a commit that referenced this pull request Aug 9, 2026
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:trustedPR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@saphid@t3dotgg
, '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(ios): add compact header menu clearance - #5663

Merged
t3dotgg merged 1 commit into
pingdotgg:t3code/rebuild-mobile-app-swiftfrom
saphid:agent/swiftui-header-spacing
Aug 9, 2026
Merged

fix(ios): add compact header menu clearance#5663
t3dotgg merged 1 commit into
pingdotgg:t3code/rebuild-mobile-app-swiftfrom
saphid:agent/swiftui-header-spacing

Conversation

@saphid

@saphidsaphid commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

What Changed

  • Add 10 points of trailing clearance to the existing thread header only at compact width.
  • Keep the regular-width header and the 44-point thread-actions menu unchanged.

Why

On a compact iPhone, a long thread title and live status metadata can run visually into the trailing actions menu. The header already owns both rows, so applying the clearance there keeps their leading/trailing alignment together without changing menu behavior or wider layouts.

This remains a two-line layout fix, separate from the live-duration work in #5611 and stacked on #5178.

UI Changes

BeforeAfter
Before: long compact header crowds the trailing menuAfter: long compact header has menu clearance

This is a static spacing change. It does not alter motion, timing, transitions, or interaction, so the navigation-only video was removed.

Verification

  • git diff --check upstream/t3code/rebuild-mobile-app-swift...HEAD — exit 0.
  • SwiftUI Debug build on iPhone 17e / iOS 26.5 — succeeded.
  • Focused HomeThreadMetadataTests Simulator run — 5 passed, 0 failed.
  • Integrated compact-width pass on iPhone 17e: long title, branch/environment metadata, and live working status remained clear of the menu; the independently exposed “Thread actions” target opened its full menu.
  • Integrated regular-width pass on iPad Pro 11-inch / iOS 26.5: existing split-view header layout and 44-point menu target remained unchanged.

Scope

SwiftUI mobile only. No web, desktop, React Native mobile, provider, contract, connection-mode, or documentation behavior changes.

Checklist

  • This PR is small and focused
  • I explained what changed and why
  • I included clear before/after screenshots
  • Video is not applicable because animation and interaction behavior are unchanged
  • The branch contains no unrelated, generated, personal, or private files

PR refresh and Simulator verification used GPT-5.6 Sol in T3 Code.

Summary by CodeRabbit

  • Bug Fixes
    • Improved compact-width thread layouts by adding clearance between the thread header content and its trailing menu.

Note

Low Risk
SwiftUI layout-only tweak on compact iPhone; no logic, API, or interaction changes.

Overview
Adds 10pt trailing padding to the thread navigation header (threadHeaderTitle) when horizontalSizeClass is compact, so long titles and metadata no longer sit under the trailing Thread actions menu.

Regular-width layouts are unchanged (0 padding); the menu’s 44pt tap target and behavior are untouched.

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

Note

Add 10pt trailing padding to compact header menu in ThreadDetailView

Fixes header menu clipping in compact width by adding 10pt of trailing padding when horizontalSizeClass is .compact. No padding is added in regular width. The fix is applied in ThreadDetailView.swift before the existing frame modifier.

Macroscope summarized fca9ced.

@coderabbitai

coderabbitaiBot commented Aug 7, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

The thread header now adds 10 points of trailing padding on compact-width layouts. Regular-width layouts remain unchanged.

Changes

Thread Header Spacing

Layer / File(s)Summary
Compact header padding
apps/swift-ios/Features/Chat/ThreadDetailView.swift
The thread header reserves 10 points of trailing space on compact-width layouts and no additional space on regular-width layouts.

Estimated code review effort: 1 (Trivial) | ~2 minutes

Suggested reviewers:t3dotgg

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check nameStatusExplanation
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check✅ PassedCheck skipped because no linked issues were found for this pull request.
Out of Scope Changes check✅ PassedCheck skipped because no linked issues were found for this pull request.
Title check✅ PassedThe title clearly and concisely describes the compact iOS header menu clearance fix.
Description check✅ PassedThe description covers the change, rationale, UI screenshots, verification, scope, and checklist for this focused UI fix.
✨ Finishing Touches 💡 1
🛠️ Fix failing CI checks 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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

❤️ Share

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

@github-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 7, 2026
@saphid
saphidforce-pushed the agent/swiftui-header-spacing branch from e5ddb3c to fb14749CompareAugust 8, 2026 01:16
@saphid
saphidforce-pushed the agent/swiftui-header-spacing branch from fb14749 to fca9cedCompareAugust 9, 2026 01:44
@github-actionsgithub-actionsBot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. and removed vouch:unvouched PR author is not yet trusted in the VOUCHED list. labels Aug 9, 2026
@saphidChatGPT Codex Connector

Copy link
Copy Markdown
ContributorAuthor

@coderabbitai review

@coderabbitai

coderabbitaiBot commented Aug 9, 2026

Copy link
Copy Markdown
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@saphidChatGPT Codex Connector

Copy link
Copy Markdown
ContributorAuthor

Branch-owner status — verified head fca9ced31

The PR patch is intentionally still one commit, one file, and two added lines. I rebased it from the prior stacking-base SHA onto current ab95c07bd7df4afb015f52c8920d40f85ae523a0; git range-diff showed the patch unchanged.

Completed evidence and review:

  • Public before/after images render without authentication. The navigation-only video was removed because this change has no motion, timing, transition, or interaction behavior.
  • SwiftUI Debug build succeeded on iPhone 17e / iOS 26.5.
  • Focused HomeThreadMetadataTests: 5 passed, 0 failed.
  • Integrated compact pass covered a long title, branch/environment metadata, live working duration, and opening the independently exposed Thread actions menu. Integrated iPad pass confirmed the regular-width split layout remains unchanged.
  • CodeRabbit manually reviewed exactly ab95c07..fca9ced and generated no actionable comments.
  • Fresh read-only cross-provider review launcher: claude --model claude-opus-5 --effort high --permission-mode plan --output-format json -p …. Actual model: Claude Opus 5; process exit status: 0; target: ab95c07..fca9ced; findings: no actionable findings.

This PR is currently blocked only by shared stacking-base CI:

  • CI / Check fails in scripts/generate-swift-wire-fixtures.ts on two namespace-import lint errors.
  • SwiftUI iOS / Contract fixtures and native tests fails in fixture generation because the shared script cannot resolve effect, before native tests start.
  • The separate Vercel result requires external-fork authorization and is not a code failure.

Those defects are outside this two-line ThreadDetailView.swift patch. The shared repair in #5674 is currently green for both CI and SwiftUI iOS, but remains a draft and has not landed in t3code/rebuild-mobile-app-swift. I am therefore keeping #5663 draft rather than misrepresenting it as ready. Once #5674 (or its equivalent) reaches the stacking base, the remaining mechanical steps are: refresh this branch once, verify the range-diff, let checks rerun, and mark ready for human maintainer review.

@t3dotgg
t3dotgg marked this pull request as ready for review August 9, 2026 02:04
@macroscopeapp

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved fca9ced

Minor UI fix adding 10px trailing padding on compact iOS screens to provide clearance for a menu. The change is purely cosmetic and self-contained with no logic or behavioral impact.

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

@t3dotgg
t3dotgg merged commit f276583 into pingdotgg:t3code/rebuild-mobile-app-swiftAug 9, 2026
19 of 22 checks passed
t3dotgg pushed a commit that referenced this pull request Aug 9, 2026
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:trustedPR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@saphid@t3dotgg