Skip to content

polish(pwa): native phone install sheet + PWA-window review and checkpoint closeout#961

Merged
BigSimmo merged 11 commits into
mainfrom
claude/clinical-kb-pwa-review-asi3wb
Jul 20, 2026
Merged

polish(pwa): native phone install sheet + PWA-window review and checkpoint closeout#961
BigSimmo merged 11 commits into
mainfrom
claude/clinical-kb-pwa-review-asi3wb

Conversation

@BigSimmo

@BigSimmo BigSimmo commented Jul 20, 2026

Copy link
Copy Markdown
Owner

Summary

  • Phone install-notification redesign (src/components/pwa-lifecycle.tsx, src/app/globals.css): the install prompt and the iOS Add-to-Home-Screen hint now present as a native-feeling bottom sheet on phones — full bleed to the viewport edges, flush to the bottom over the composer zone, rounded top corners, and a static grip bar matching the Mode-menu sheet language introduced by feat(ui): phone Mode menu opens as a bottom sheet #935. The real app icon (/icons/icon-192) replaces the generic download tile beside the app name and a tagline; the install card gains a "Free · No app store · Takes a few seconds" meta row with a full-width primary button on phones; the iOS hint gains two accent step chips (1. Tap Share → 2. Add to Home Screen) as aria-hidden visual reinforcement of the unchanged accessible instruction sentence. On ≥640px both notices keep the polish(pwa): redesigned install/update notices for all screen sizes + review follow-ups #905 floating-card/top-toast placements. The notice stack's bottom offset is now a custom property (--pwa-notice-bottom-gap, with the standalone override) so the sheet's flush-bottom math and any future composer re-anchoring are one-line changes.
  • PWA-version review of new progress (window ef042ca..e128384, 44+ commits): agent-verified sweep found only polish(pwa): redesigned install/update notices for all screen sizes + review follow-ups #905/Fix all component-library audit findings #897 (this program's own commits) touched PWA surfaces — sw.js/CACHE_VERSION binding, manifest, icons, kill-switch, and headers all unchanged, so the privacy contract holds by construction. The one geometric risk (five composer/dock-space reworks sharing the fixed-bottom coordinate space) was probed live at 390×844: the non-install notices keep correct clearance at rest. Full verdict in the ledger row.
  • Credentialed release-gate checkpoint closeout (ledger row): CI dispatch 9/10 green on 7ec25d9; release-browser-matrix cancelled twice by the CI-${ref} cancel-in-progress concurrency during main churn (livelock at the 2-attempt cap; WebKit verification outstanding — quiet-window dispatch, the weekly scheduled run, or a dedicated matrix concurrency group are the human options); live golden retrieval eval failed 4/36 deterministically with a regression window implicating rag: add deterministic and opt-in semantic reranking #901's rerank merge (vector layer healthy; July 17 passed pre-rag: add deterministic and opt-in semantic reranking #901) — clinical-path, deferred to a human decision. Spend ≈ $1–2.

Verification

  • Focused vitest: pwa-lifecycle.dom, pwa-manifest, pwa-service-worker, pwa-kill-switch — 56/56
  • npm run verify:cheap — 2971 passed / 1 failed (the long-baselined container-only pdf-extraction-budget artifact, hosted-CI-green through feat(pwa): retirement kill-switch, offline-version binding guard, and dev teardown flag #826polish(pwa): redesigned install/update notices for all screen sizes + review follow-ups #905)
  • npm run test:e2e:pwa — privacy/offline journey green; sole failure is the container-only in-incognito installability artifact
  • npm run verify:ui — 243 passed / 2 failed (both long-baselined container-only artifacts)
  • npm run build + client-bundle secret scan + npm run check:bundle-budget — 1303.4 KiB gzip vs 1278.6 KiB enforced baseline, within tolerance (the sheet reuses existing primitives; ~0 added JS)
  • Visual + geometry evidence at 390×844 light/dark/iOS-hint (full-bleed, flush-bottom confirmed by bounding boxes), 768×1024 and 1440×1000 (card/toast placements intact), offline-notice clearance probe (session scratchpad, install-sheet--*.png)

Risk and rollout

  • Risk: low — presentation-only changes to the two install notices plus a CSS variable extraction; no service-worker, cache, manifest, or copy changes; region names, button names, and test-locked sentences unchanged (all existing tests pass unmodified).
  • Rollback: plain revert of d8d8c4a; the ledger commit is documentation-only.
  • Provider or production effects: None.

Notes

  • The Codex/CodeRabbit-facing sentence "In Safari, tap Share, then Add to Home Screen." is retained verbatim as the accessible instruction; the step chips are decorative reinforcement (aria-hidden), so screen-reader output is unchanged.
  • The install sheet deliberately overlays the composer zone while visible (native install-sheet behavior); dismissal restores it. Non-install notices keep the above-composer placement.

🤖 Generated with Claude Code

https://claude.ai/code/session_01EXsJcLrbZUXwnBeG91cVo9


Generated by Claude Code

Summary by CodeRabbit

  • New Features
    • Redesigned PWA install prompts for mobile into bottom-sheet style with clearer branding, step-by-step chips, and improved “Not now” handling.
    • Refreshed iOS and general install guidance with added context and updated primary action styling.
  • Style
    • Improved responsive positioning for PWA notices, including safer spacing, rounded-corner behavior, and better alignment in standalone display mode.
  • Documentation
    • Updated review records with new PWA verification and release-gate checkpoint results.

claude added 2 commits July 20, 2026 06:50
… steps

Install prompt and iOS hint present as a bottom sheet on phones: full bleed
to the viewport edges, flush bottom over the composer zone, rounded top,
and a static grip bar matching the Mode-menu sheet language (#935). The
real app icon (/icons/icon-192) replaces the generic download tile beside
the name and tagline; the install card gains a Free/no-store meta row and
the iOS hint gains two accent step chips (Share -> Add to Home Screen) as
aria-hidden visual reinforcement of the unchanged accessible sentence.
Stack bottom offset extracted to --pwa-notice-bottom-gap (standalone
override included) so the sheet's flush-bottom math tracks any future
re-anchoring. >=640px keeps the #905 card/toast placements.

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

supabase Bot commented Jul 20, 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 20, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Warning

Review limit reached

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

Next review available in: 12 minutes

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

Plan: Pro Plus

Run ID: a4da2fde-d765-4c17-89c2-5141d0a00569

📥 Commits

Reviewing files that changed from the base of the PR and between 6dfe7ad and 43235d5.

📒 Files selected for processing (1)
  • src/app/globals.css
📝 Walkthrough

Walkthrough

The PWA install prompts now share a bottom-sheet presentation with standardized identity and installation steps. Responsive CSS adjusts phone and standalone positioning, while the review ledger records PWA verification and release-gate results.

Changes

PWA install-sheet redesign

Layer / File(s) Summary
Shared install-sheet UI
src/components/pwa-lifecycle.tsx
Adds reusable grip, app identity, and step-chip components, then applies them to iOS and regular install prompts while preserving existing actions.
Responsive layout and verification records
src/app/globals.css, docs/branch-review-ledger.md
Introduces phone bottom-sheet styling, centralizes notice bottom spacing for normal and standalone modes, and appends two verification records.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Possibly related PRs

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title is concise and accurately reflects the main PWA install-sheet redesign plus review/checkpoint updates.
Description check ✅ Passed The description covers Summary, Verification, Risk and rollout, and Notes with concrete results; the missing governance section is not critical here.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch claude/clinical-kb-pwa-review-asi3wb

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

@BigSimmo
BigSimmo marked this pull request as ready for review July 20, 2026 07:43
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, add credits to your account and enable them for code reviews in your settings.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@src/app/globals.css`:
- Around line 1977-1978: In the CSS rule containing --pwa-notice-bottom-gap, add
an empty line before the position declaration to satisfy the required
declaration spacing.
🪄 Autofix (Beta)

❌ Autofix failed (check again to retry)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 4f9bb5cc-e2ef-45c9-96c3-cc0bf75f0e21

📥 Commits

Reviewing files that changed from the base of the PR and between 51e747e and 0b42b91.

📒 Files selected for processing (3)
  • docs/branch-review-ledger.md
  • src/app/globals.css
  • src/components/pwa-lifecycle.tsx

Comment thread src/app/globals.css
@BigSimmo
BigSimmo enabled auto-merge (squash) July 20, 2026 07:46
@coderabbitai

coderabbitai Bot commented Jul 20, 2026

Copy link
Copy Markdown
Contributor

Note

Autofix is a beta feature. Expect some limitations and changes as we gather feedback and continue to improve it.

The agent ran but didn't make any changes. The issues may already be fixed or require manual intervention.

@BigSimmo
BigSimmo merged commit 237ecd2 into main Jul 20, 2026
16 checks passed
@BigSimmo
BigSimmo deleted the claude/clinical-kb-pwa-review-asi3wb branch July 20, 2026 08:35
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