Skip to content

fix(ui): phone Choose mode sheet fits full mode list - #1723

Merged
BigSimmo merged 4 commits into
mainfrom
cursor/phone-mode-sheet-fit-956b
Aug 8, 2026
Merged

fix(ui): phone Choose mode sheet fits full mode list#1723
BigSimmo merged 4 commits into
mainfrom
cursor/phone-mode-sheet-fit-956b

Conversation

@BigSimmo

@BigSimmo BigSimmo commented Aug 8, 2026

Copy link
Copy Markdown
Owner

Summary

  • Raise the phone Choose mode Sheet max-height from min(88dvh, 36rem) to calc(100dvh - 0.5rem) so the sheet can grow with content on typical phones.
  • Use min-h-12 mode rows on phone only (desktop keeps min-h-[3.25rem]) so all production modes fit without scrolling on a 390×844 viewport.
  • Update the ui-smoke phone mode-menu journey to assert no sheet-body scroll and first/last modes in viewport; pin the height/density contract in the navigation audit test.

Test plan

  • Focused unit/source tests for master-search-header / audit navigation (25 + 11 passed)
  • Playwright: phone mode menu no-scroll fit on 390×844 — 1 passed
  • Manual: open Mode on phone width and confirm all modes visible without scrolling

RAG impact: no retrieval behaviour change — UI-only phone mode Sheet sizing.

Open in Web Open in Cursor 

Raise the phone mode Sheet max-height past the 36rem cap and use
min-h-12 rows on phone so all modes fit without scrolling on typical
portrait viewports, with body scroll retained as a short-viewport fallback.

Co-authored-by: BigSimmo <BigSimmo@users.noreply.github.com>
@coderabbitai

coderabbitai Bot commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

You’ve reached a temporary PR review limit under our Fair Usage Limits Policy.

Your recent review volume is higher than typical usage, so adaptive limits are currently applied.

Next review available in: 24 minutes

Your organization has reached its usage spending cap. Adjust your spending cap in the billing tab.

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: CHILL

Plan: Pro

Run ID: 99c149f8-2579-4cbd-9e5a-7affb69f1b36

📥 Commits

Reviewing files that changed from the base of the PR and between 30dc42d and a2cc667.

📒 Files selected for processing (3)
  • src/components/clinical-dashboard/master-search-header.tsx
  • tests/audit-navigation-auth-regressions.test.ts
  • tests/ui-smoke.spec.ts

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

@supabase

supabase Bot commented Aug 8, 2026

Copy link
Copy Markdown

This pull request has been ignored for the connected project sjrfecxgysukkwxsowpy 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 ↗︎.

@BigSimmo

BigSimmo commented Aug 8, 2026

Copy link
Copy Markdown
Owner Author

@cursoragent Work the current open PR end-to-end. Confirm the PR number and GitHub head first from context. If more than one open PR could apply, stop and say which one you would use and why.

Fetch and start from the remote tip that matches that GitHub head. If the named branch ref is missing or stale, use the PR head ref. Preserve unrelated local WIP, including any local-only ledger commits; do not discard dirty work, and do not treat a local-ahead commit as the reviewed tip. Do not merge the PR, force-push, rebase, or arm auto-merge unless I explicitly ask. No provider-backed gates without separate approval. If you cannot push or resolve threads, diagnose and comment only; if inline replies fail, resolve when possible and put dispositions in the summary comment. If auto-merge is already armed, push only for a real blocker, and avoid pushes that would cancel in-flight required CI unless the push itself clears that blocker.

If the PR is already merged or closed: confirm the head and merge commit, note required-CI outcome, post one summary, and stop.

Goal: deep review plus Bugbot, fix actionable issues with the smallest correct changes, clear merge / required-CI / thread blockers, run strong local offline verification, push fixes, append the review ledger, and post one PR summary. Prefer thoroughness over speed. Regenerate large assets only when a fix requires it; then run the asset check and keep compatibility aliases byte-identical where the repo uses them.

Snapshot the GitHub head SHA: tip, base, behind/ahead, mergeable state, merge-tree versus origin/main (real conflict versus behind-but-clean), required checks on that tip including Production UI when selected, advisory separately, unresolved actionable threads. Missing checks while dirty are not green. If the tip moves mid-work, re-snapshot and continue from the new head.

Ledger-lookup against that GitHub head under the heavy review-and-fix scope for this PR. Already reviewed at this head with clean merge-tree, green required checks, and no new actionable threads → summarize, comment, stop unless I asked for a fresh superseding pass. Follow the repo review protocol.

Unblock once: real conflict → merge origin/main (prefer main’s shared queues; keep this PR’s notes); behind-but-clean → one sync, late if required CI is in flight; clean → leave. Labels like skip-branch-sync do not block a manual sync needed to clear a real blocker. No sync thrash. After any sync or push, re-snapshot tip, merge-tree, and required checks before declaring done. Dedupe the ledger if a merge touched it.

Review high-confidence delta risks only. Separate PR-introduced defects from pre-existing re-emitted debt. For generated assets, review contracts, aliases, cache, and manifests—not every generated line. If protected RAG or ranking surfaces are touched, say so before editing; fix PR-body policy text only when wrong or missing. Ignore bot noise. No nit spam or broad rewrites. Escalate verification by touched risk: clinical / RAG / privacy / migrations / auth → domain check plus production-readiness when warranted; UI / phone-chrome / routing / styling → ensure plus phone-chrome or UI gates when warranted; generated assets or docs inventory/links → asset or docs checks when warranted.

Fix P0/P1 always; clear scoped P2 when locally provable; else disposition and resolve. Required-check failures on this tip only; ignore advisory. Prefer reverting a bad autofix commit. After fixes: format and commit before push; smallest targeted proof; repo cheap gate; repo PR-local gate. No release, lighthouse, live eval, or live provider gates without approval.

Push only this PR’s fix commits. Append ledger for the final GitHub head under the heavy scope. Never push a ledger-only tip—include ledger in a real fix push, or leave a no-change ledger append local and unpushed.

One PR comment: tip, sync/merge-tree, fixed versus dispositioned, threads, required CI, decisive local gate lines, residual risks; merge left to me. Inline only for remaining human-needed P0/P1.

Stop when merge-tree is clean on the current GitHub tip, actionable threads are clear, required checks are green or clearly in progress, heavy gates for scope passed, summary posted, merge left to me.

@cursor

cursor Bot commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

PR #1723 @ 6e51a53d3880ec4f7441174647c33548c9e3ce99 — review-and-fix complete; merge left to you.

Snapshot: merge-tree clean vs origin/main (ahead 2 / behind 0). No code push. Required CI green (PR required SUCCESS; Production UI critical + shards 1–3 SUCCESS). Advisory Lighthouse fail ignored (makes merge status UNSTABLE).

Review: No high-confidence P0–P2 in the delta. Sentry Bugbot calc() spacing finding dispositioned no-change — Tailwind v4 already emits max-height: calc(100dvh - .5rem); thread resolved.

Local proof: verify:cheapTests 5607 passed; verify:pr-local — RAG fixtures + client bundle secret passed; Playwright phone mode menu — 1 passed.

Ledger: append kept local only (docs/branch-review-ledger.md uncommitted) — no ledger-only tip.

Open in Web Open in Cursor 

Comment thread src/components/clinical-dashboard/master-search-header.tsx
@cursor

cursor Bot commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

PR #1723 review-and-fix summary

PR / tip: #1723 @ 6e51a53d3880ec4f7441174647c33548c9e3ce99 (cursor/phone-mode-sheet-fit-956b)
Base: origin/main @ eda8fe872de040e304621bce49535e1dfebb091e
Sync / merge-tree: already merged main on tip; git merge-tree --write-tree origin/main HEAD clean; ahead 2 / behind 0. No further sync.

Findings

  • No high-confidence P0–P2 in the PR delta (phone Sheet max-h raise + phone min-h-12 rows + test/contract updates).
  • Sentry Bugbot (calc spacing): dispositioned no-change. Tailwind v4 compiles .max-h-\[calc\(100dvh-0\.5rem\)\]max-height: calc(100dvh - .5rem) (spaces inserted). Same unspaced pattern is repo-wide including sheet.tsx. Thread resolved.
  • CodeRabbit: rate-limited; no actionable findings.
  • Fixed: none. Dispositioned: 1 (Bugbot calc spacing).

Threads

  • Actionable unresolved threads: 0 (Bugbot thread resolved).

Required CI (this tip)

  • PR required SUCCESS
  • Static PR checks, Safety and config checks, Unit coverage, Build, Production UI critical, Production UI (1)(2)(3), PR policy, PR mergeability, Change scope, Semgrep/Gitleaks: SUCCESS
  • Advisory only (ignored): Lighthouse budget (advisory) fail — pre-existing/Add Supabase Cursor plugin workspace config #276 territory, not required.

Local gates

  • verify:cheap exit 0 — Test Files 524 passed (524) / Tests 5607 passed | 4 skipped (5611)
  • verify:pr-local exit 0 — Client bundle secret surface check passed. / Offline RAG fixture and manifest validation passed (36 golden cases, 23 suites).
  • Playwright: 1 passedphone mode menu opens tall enough to show the full mode list without scrolling

Residual risk

  • Short/landscape phones can still scroll (intentional overflow-y-auto fallback).
  • mergeStateStatus: BLOCKED despite green required checks — likely approval/protection, not CI. Merge left to you.

Ledger

  • Review ledger append is local only (no-change / no fix push). Not pushed, per no ledger-only tip rule.

Merge left to you.

@BigSimmo
BigSimmo merged commit d33a6cd into main Aug 8, 2026
25 of 26 checks passed
@BigSimmo
BigSimmo deleted the cursor/phone-mode-sheet-fit-956b branch August 8, 2026 16:38
cursor Bot pushed a commit that referenced this pull request Aug 8, 2026
Co-authored-by: BigSimmo <BigSimmo@users.noreply.github.com>
cursor Bot pushed a commit that referenced this pull request Aug 8, 2026
Merge origin/main (phone Choose mode sheet #1723) to clear DIRTY
mergeability. Allow DocumentFrame toolbar position relative (needed for
phone overflow menu) in the PDF-first smoke assertion. Adopt the
document-viewer Linux visual baseline from CI run 31265543648 for the
intentional PDF-first chrome refresh, with refreshed provenance.

Co-authored-by: BigSimmo <BigSimmo@users.noreply.github.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.

2 participants