Skip to content

fix(ios): grok tucked tab returns on focus + generic diff pill when blurred#9

Merged
boggspa merged 1 commit into
masterfrom
fix/grok-tucked-tab-and-diff-pill
Jun 18, 2026
Merged

fix(ios): grok tucked tab returns on focus + generic diff pill when blurred#9
boggspa merged 1 commit into
masterfrom
fix/grok-tucked-tab-and-diff-pill

Conversation

@boggspa

@boggspa boggspa commented Jun 18, 2026

Copy link
Copy Markdown
Owner

Two composer-blur polish items from on-device testing of build 23.

1. Grok tucked tab now returns on focus

All other shells returned their above rows on focus; grok didn't. The focus-gated above-rows group had an implicit zIndex, while the composer core below carries .zIndex(tuckedTab ? 1 : 0). SwiftUI renders a conditionally-inserted sibling behind an explicit-zIndex sibling on insertion — so grok's tab (the only tuckedAboveTab shell) got eaten when it re-appeared on focus. Fix: give the group an explicit .zIndex(0) so both siblings are explicitly ordered.

2. Generic diff pill when blurred + active changes

When the composer is blurred and there's an active run diff, a compact "N files +X −Y" pill (ComposerDiffPill) now floats above the one-line composer — generic for every shell, tap opens the diff — instead of the full composer-specific changes row. The full, shell-specific above rows still return on focus. So during active changes you always get a mini diff indicator above the collapsed composer (Codex-app-style, our twist: muted "N files", green additions, red deletions, compact k counts).

Blurred-state matrix now:

  • active diff → generic pill
  • no diff → nothing (just the one-line composer)
  • focused → full composer-specific above rows (incl. grok's tucked tab)

Verification

swift build ✓ · swift test 73/73 ✓ · iPhone-17 simulator BUILD SUCCEEDED

The grok zIndex fix is a strong root-cause hypothesis (the implicit-vs-explicit zIndex insertion glitch is a known SwiftUI behavior) but, like the rest of the shell work, worth a quick on-device confirm in build 24 since I can't see it render.

🤖 Generated with Claude Code

…lurred

Two composer-blur polish items from on-device testing of build 23.

1. Grok tucked tab didn't return on focus (all other shells did). The
   focus-gated above-rows group had an IMPLICIT zIndex while the composer core
   below carries .zIndex(tuckedTab ? 1 : 0). SwiftUI renders a conditionally-
   inserted sibling behind an explicit-zIndex sibling on insertion, so grok's
   tab (uniquely tuckedAboveTab) got eaten when it re-appeared. Give the group
   an explicit .zIndex(0).

2. Active-changes diff pill. When the composer is blurred AND there's an active
   run diff, show a compact generic "N files +X −Y" pill above the one-line
   composer (ComposerDiffPill — same for every shell, tap opens the diff)
   instead of the full composer-specific changes row. The full, shell-specific
   above rows still return on focus. So during active changes you always get a
   mini diff indicator above the collapsed composer, Codex-app-style.

Verified: swift build + 73 tests + iPhone-17 simulator build.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@boggspa boggspa merged commit 15281d0 into master Jun 18, 2026
16 checks passed
@boggspa boggspa deleted the fix/grok-tucked-tab-and-diff-pill branch June 18, 2026 17:18
boggspa added a commit that referenced this pull request Jun 18, 2026
…nges diff pill

Build 24 = PR #9: grok composer's tucked tab returns on focus (explicit zIndex
on the focus-inserted above-rows group) + a generic "N files +X −Y" diff pill
above the one-line composer while blurred during active changes. iOS-only.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant