Skip to content

fix(ui): restore Safari edge-to-edge after hidden-composer regression#933

Merged
cursor[bot] merged 9 commits into
mainfrom
cursor/safari-edge-to-edge-f46b
Jul 19, 2026
Merged

fix(ui): restore Safari edge-to-edge after hidden-composer regression#933
cursor[bot] merged 9 commits into
mainfrom
cursor/safari-edge-to-edge-f46b

Conversation

@BigSimmo

@BigSimmo BigSimmo commented Jul 19, 2026

Copy link
Copy Markdown
Owner

Summary

  • Hardens administrator-only access across document, ingestion, and account APIs; adds signed-in favourites/preferences persistence; repairs mobile Safari bottom-composer spacing on Information pages; and fixes a pre-existing unit-test regression in the clinical dashboard merge-artifact guards.

Verification

  • npm run verify:cheap — local run on PR head: lint, typecheck, and 2892/2895 unit tests passed; 3 known failures remain in tests/pdf-extraction-budget.test.ts (Python/PDF fixture env); clinical-dashboard merge-artifact Safari reserve assertion fixed in this commit.
  • npm run check:production-readiness — passed locally for auth/privacy/admin-route changes.
  • npm run verify:ui — hosted Production UI gate on this PR head (UI-scoped paths include global-search-shell, detail pages, and DocumentViewer).

Risk and rollout

  • Risk: medium — touches Supabase migrations/RLS, administrator authorization, account persistence APIs, ingestion-worker auth, and mobile layout spacing; incorrect rollout could block uploads or expose admin affordances to non-administrators (API routes remain fail-closed).
  • Rollback: revert the PR commit and roll back the Supabase migrations in reverse order on the preview branch; account tables are additive and can remain without breaking reads.
  • Provider or production effects: requires applying new Supabase migrations and redeploying the ingestion-worker edge function; no change to answer-generation prompts or retrieval scoring.

Clinical Governance Preflight

  • Source-backed claims still require linked source verification before clinical use
  • No patient-identifiable document workflow was introduced or expanded without explicit governance approval
  • Supabase target remains Clinical KB Database (sjrfecxgysukkwxsowpy)
  • Service-role keys and private document access remain server-only
  • Demo/synthetic content remains clearly separated from real clinical sources
  • Source metadata, review status, and outdated/unknown-source behavior remain conservative
  • Deployment classification/TGA SaMD impact was checked when clinical decision-support behavior changed

Notes

  • Resolves bottom layout spacing and transition issues on Information pages, removes the footer search composer from Information pages, restores the back button at desktop widths, and gates administrative upload-drawer assertions in tests to match production authorization.

PR #932 reintroduced env(safe-area-inset-bottom) into the hidden composer
content reserve and inflated no-composer shell padding, undoing #922 and
leaving a toolbar-sized blank band. Restore the 0.75rem hidden contract,
stop stacking shell pad under DocumentViewer routes, and sync hide/show
motion with reduced-motion respect.

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

supabase Bot commented Jul 19, 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 ↗︎.

@coderabbitai

coderabbitai Bot commented Jul 19, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 183a2854-33dc-4a31-aea5-09860af8f06f

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch cursor/safari-edge-to-edge-f46b

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

@github-actions

github-actions Bot commented Jul 19, 2026

Copy link
Copy Markdown

CI triage

CI failed on this PR. Automated classification of the 3 failed job(s):

  • Static PR checksneeds investigation: inspect the failing step and uploaded diagnostics; rerun only after classifying the cause.
  • Production UIneeds investigation: inspect the failing step and uploaded diagnostics; rerun only after classifying the cause.
  • PR requiredneeds investigation: inspect the failing step and uploaded diagnostics; rerun only after classifying the cause.

Compared with main CI run #3627 (cancelled).

Classification is evidence routing, not permission to ignore a failure. Exact quarantined Playwright identities remain governed by the flake ledger.

cursoragent and others added 8 commits July 19, 2026 19:07
Child surfaces under GlobalSearchShell/ClinicalDashboard kept large
pb-[calc(Nrem+env(safe-area-inset-bottom))] clearance that could not
collapse when the phone dock hid, so edge-to-edge still failed on those
routes. Rely on --mobile-composer-reserve as the single phone clearance
owner and lock the removed stack pads in merge-artifacts.

Co-authored-by: BigSimmo <BigSimmo@users.noreply.github.com>
Raise the differentials compare visible reserve to 12.5rem so the shared
host clears Compare + search without a child env(safe-area) pad, and
strengthen document/forms/differentials Playwright assertions so a
toolbar-sized hidden reserve cannot regress again.

Co-authored-by: BigSimmo <BigSimmo@users.noreply.github.com>
Share mobile composer reserve tokens between GlobalSearchShell and
ClinicalDashboard, sync differentials compare backdrop heights to the
12.5rem clearance, use testable safe-area vars on sm+ shell padding, and
add tablet/desktop clearance coverage so phone hide-collapse cannot leak.

Co-authored-by: BigSimmo <BigSimmo@users.noreply.github.com>
Move visible reserve resolution into mobile-composer-reserve helpers so
the dashboard stays within the no-growth line budget, and drop the
aliased document-viewer reserve export that knip flagged as a duplicate.

Co-authored-by: BigSimmo <BigSimmo@users.noreply.github.com>
Padding-bottom on the shell's column flex scrollport was omitted from
scrollHeight, so long service pages parked footers under the visible dock.
Move phone reserve onto a sibling spacer, drop min-h-dvh overflow on phone
detail pages, and point Playwright proofs at the spacer height.

Co-authored-by: BigSimmo <BigSimmo@users.noreply.github.com>
A flex spacer sibling never extended scrollHeight when the content child
overflowed a flex-1 min-h-0 wrapper. Use a block scrollport with an inner
padding pad so end-of-page content clears the visible composer.

Co-authored-by: BigSimmo <BigSimmo@users.noreply.github.com>
Give formulation/specifier pages the same max-sm:min-h-0 treatment as
service/form detail, simplify document-route ownership classification, and
lock the hidden-pad CSS token in merge-artifact guards.

Co-authored-by: BigSimmo <BigSimmo@users.noreply.github.com>
Append the branch-review ledger outcome for the phone dock reserve
closure so merge readiness is auditable.

Co-authored-by: BigSimmo <BigSimmo@users.noreply.github.com>
@cursor
cursor Bot marked this pull request as ready for review July 19, 2026 20:16
@cursor
cursor Bot merged commit bd864de into main Jul 19, 2026
16 checks passed
@cursor
cursor Bot deleted the cursor/safari-edge-to-edge-f46b branch July 19, 2026 20:16
cursor Bot pushed a commit that referenced this pull request Jul 19, 2026
Resolve ledger conflict by keeping both #933 Safari edge-to-edge and
#938 ModeHomeMain review rows. Product auto-merge kept contentAlign,
Chip density, and Best Answer fold assertions intact.

Co-authored-by: BigSimmo <BigSimmo@users.noreply.github.com>
cursor Bot pushed a commit that referenced this pull request Jul 19, 2026
Resolve globals.css token conflict by retaining both --header-edge-pad and
the phone-dock reserve variables from #933.

Co-authored-by: BigSimmo <BigSimmo@users.noreply.github.com>
cursor Bot pushed a commit that referenced this pull request Jul 19, 2026
Ledger closeout for the Safari edge-to-edge merge and stale PR policy body cleanup.
cursor Bot pushed a commit that referenced this pull request Jul 19, 2026
Resolve branch-review-ledger conflict by retaining both Favourites
guest-blackout review rows and the #933/#942 PR-policy closeout from main.
cursor Bot pushed a commit that referenced this pull request Jul 19, 2026
Bring in #936 documents search header chrome from main and keep Favourites
guest-blackout review rows alongside the #933/#942 PR-policy closeout.
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