Skip to content

fix(baseball): hub sub-nav truncation (li→flex) + e2e idle-cliff cookie fix - #940

Merged
njrini99-code merged 2 commits into
mainfrom
fix/hub-subnav-train-clip
Jul 18, 2026
Merged

fix(baseball): hub sub-nav truncation (li→flex) + e2e idle-cliff cookie fix#940
njrini99-code merged 2 commits into
mainfrom
fix/hub-subnav-train-clip

Conversation

@njrini99-code

Copy link
Copy Markdown
Owner

Bundles the two fixes that make the blocking mobile suite honestly green:

  1. hub-sub-nav li → flex min-w-0, anchor → min-w-0 — completes fix(baseball): mobile shell header/nav controls clipped at 320/390px on every dashboard route #927. The li was display:list-item, so the anchor was never width-constrained and truncate never engaged; tabs sat at natural width and the strip scrolled, clipping the last tab ("Operations"/"Postgame Review") at 320/390px. CI forensics (run 29625702166): strip scrollWidth 325 vs clientWidth 320 with fonts=loaded — earlier green runs measured before the webfont swap and passed on fallback-font luck. Not a train regression; a latent gap in fix(baseball): mobile shell header/nav controls clipped at 320/390px on every dashboard route #927 exposed by slower compile → later measurement.
  2. e2e: refresh sb_last_activity per navigation (supersedes fix(e2e): mobile-viewport suite bounced by 5-min idle gate, not layout #939) — the seeded storageState pinned the idle marker at setup time, so tests starting >5min after setup were bounced to /login by the middleware idle gate.

Full e2e (incl. blocking baseball mobile + seeded) dispatched on this branch.

🤖 Generated with Claude Code

https://claude.ai/code/session_01MMdviLDsAg2YYJ8adsM6fg

Fable Integrator and others added 2 commits July 17, 2026 21:59
…suite

The seeded storageState pins the idle-activity marker at auth-setup time, so
any test starting >5min (SESSION_IDLE_TIMEOUT_MS) after setup is bounced to
/login by the middleware idle gate before measuring — the blocking suite
passed or failed on runtime proximity to that cliff (train run 29623264998
crossed it at coach test 29 / player test 60; the earlier green run simply
finished under it). An active-viewport test should look like an active user.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MMdviLDsAg2YYJ8adsM6fg
…ot a flex container

Completes 62b3d56 (#927): min-w-0 on the li zeroed its shrink floor, but the
li was never display:flex, so the anchor inside stayed a natural-width
inline-flex box in block context — truncate had no width pressure and the li
shrinking just let the anchor overflow it. CI forensics on
debug/clip-forensics (run 29625702166): strip scrollWidth 325 vs clientWidth
320 at 320px with fonts=loaded; prior green runs measured before the webfont
swap and passed on fallback-font width. li -> flex min-w-0, anchor -> min-w-0.

Also carries the e2e idle-cliff fix (refresh sb_last_activity per navigation)
from fix/e2e-idle-activity-cliff so both mobile-suite fixes land together.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MMdviLDsAg2YYJ8adsM6fg
@cursor

cursor Bot commented Jul 18, 2026

Copy link
Copy Markdown

Bugbot is not enabled for your account, so this pull request was not reviewed.

Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs.

@qodo-code-review

Copy link
Copy Markdown

ⓘ Qodo reviews are paused because your trial has ended. Ask your workspace admin to add credits to resume reviews. Manage billing

@vercel

vercel Bot commented Jul 18, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
helmv3 Ignored Ignored Preview Jul 18, 2026 2:01am

Request Review

@supabase

supabase Bot commented Jul 18, 2026

Copy link
Copy Markdown

This pull request has been ignored for the connected project qmnssrrolpinvwjjnufo because there are no changes detected in supabase directory. You can change this behaviour in Project Integrations Settings ↗︎.


Preview Branches by Supabase.
Learn more about Supabase Branching ↗︎.

@coderabbitai

coderabbitai Bot commented Jul 18, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@njrini99-code, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 1 minute

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: ab13f194-56e7-4bc4-b559-2ec8c8bc5795

📥 Commits

Reviewing files that changed from the base of the PR and between 6ecede6 and 08b2589.

📒 Files selected for processing (2)
  • e2e/mobile-viewports.spec.ts
  • src/app/baseball/(dashboard)/_components/hub-sub-nav.tsx
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/hub-subnav-train-clip
  • 🛠️ helm safety pass
  • 🛠️ dashboard ux pass
  • 🛠️ rls test pass

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.

@njrini99-code

Copy link
Copy Markdown
Owner Author

🤖 Mission Control — PR summary

What it changes (2 files, tightly scoped):

  1. src/app/baseball/(dashboard)/_components/hub-sub-nav.tsx — the hub sub-nav <li> becomes flex min-w-0 and the inner anchor min-w-0. Completes fix(baseball): mobile shell header/nav controls clipped at 320/390px on every dashboard route #927: because the li was display:list-item, the anchor was never width-constrained and truncate never engaged, so tabs sat at natural width and the strip scrolled — clipping the last tab at 320/390px. CI forensics (run 29625702166) measured strip scrollWidth 325 vs clientWidth 320 with fonts=loaded.
  2. e2e/mobile-viewports.spec.ts — refreshes sb_last_activity per navigation (idle-cliff fix carried over from the now-closed fix(e2e): mobile-viewport suite bounced by 5-min idle gate, not layout #939), so a test starting >5 min after auth-setup isn't bounced to /login by the middleware idle gate before it can measure. An active-viewport test should look like an active user.

Risk / areas: Baseball hub sub-nav (mobile layout only) + the e2e mobile-viewport harness. Low blast radius — no product logic, no server/RLS/data changes.

What reviewers should watch:

  • The flex min-w-0 change doesn't regress tab spacing/wrap at desktop widths (the strip is shared across coach routes).
  • The e2e sb_last_activity refresh models a genuinely-active user and doesn't paper over a real idle-timeout regression — the suite should still catch an actual middleware idle bug, not just pass because activity is force-refreshed.

CI status: ⚠️ CodeRabbit review = failing (changes requested) — merge is BLOCKED. 3 CI checks still in progress (typecheck/build/vitest), 33 passed, 4 skipped. Not merge-ready until the CodeRabbit thread is resolved and the in-flight checks land green.

Read-only Mission Control sweep — no merge/deploy/settings actions taken.

@njrini99-code
njrini99-code merged commit 6da7479 into main Jul 18, 2026
47 of 50 checks passed
@njrini99-code
njrini99-code deleted the fix/hub-subnav-train-clip branch July 18, 2026 03:38
njrini99-code added a commit that referenced this pull request Jul 18, 2026
fix(a11y+e2e): landing/signup contrast (real) + auth spec drift — latent failures unmasked by #940
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