Skip to content

Fix mobile differential compare action#684

Merged
BigSimmo merged 3 commits into
mainfrom
agent/fix-differentials-compare-dock
Jul 16, 2026
Merged

Fix mobile differential compare action#684
BigSimmo merged 3 commits into
mainfrom
agent/fix-differentials-compare-dock

Conversation

@BigSimmo

@BigSimmo BigSimmo commented Jul 15, 2026

Copy link
Copy Markdown
Owner

Summary

  • mount the differential comparison action inside the mobile search dock on submitted differential searches
  • reserve enough bottom space for the combined compare action and composer
  • keep the action dock pinned and pointer-active while results scroll
  • add a mocked mobile Playwright regression test

Validation

  • targeted Playwright regression: passed (Chromium, 1 test)
  • targeted ESLint: passed
  • targeted Prettier check: passed
  • git diff --check: passed
  • npm run ensure in the isolated worktree: timed out before returning a verified URL; required PR CI remains the clean full gate

Summary by CodeRabbit

  • Bug Fixes
    • Improved the mobile/tablet differentials experience by keeping the “Compare selected” action tappable while the results list is scrolled.
    • Prevented the bottom search dock from hiding during scrolling when the differentials comparison add-on is active, and aligned the mobile layout/spacing with the pinned-dock behavior.
  • Tests
    • Added deterministic differential catalogue mocking and a new mobile-only UI test to verify compare-action hit-targeting and dock visibility while scrolling (also revalidated on tablet).
  • Documentation
    • Updated inline UI behavior descriptions for the differentials floating/compare action.

@supabase

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

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 7e3865c9-036a-4c08-93a0-0625cb7cc22b

📥 Commits

Reviewing files that changed from the base of the PR and between 8c159b0 and ea0c88f.

📒 Files selected for processing (4)
  • src/components/clinical-dashboard/differentials-home.tsx
  • src/components/clinical-dashboard/master-search-header.tsx
  • src/lib/mode-home-composer.ts
  • tests/ui-tools.spec.ts
🚧 Files skipped from review as they are similar to previous changes (2)
  • src/components/clinical-dashboard/master-search-header.tsx
  • tests/ui-tools.spec.ts

📝 Walkthrough

Walkthrough

The mobile differentials search flow activates a compare add-on for submitted searches, reserves space for it, and keeps its dock visible while results scroll. UI tests mock differential data and verify the compare action remains visible and tappable.

Changes

Differentials mobile compare dock

Layer / File(s) Summary
Enable and preserve the compare dock
src/components/clinical-dashboard/global-search-shell.tsx, src/components/clinical-dashboard/master-search-header.tsx, src/components/clinical-dashboard/differentials-home.tsx, src/lib/mode-home-composer.ts
The differentials route conditionally enables the mobile compare slot, adjusts composer reserve height, renders the add-on mount point across mobile layouts, and prevents the dock from hiding when active. Related comments describe the mobile/tablet placement.
Mock and test mobile compare interaction
tests/ui-tools.spec.ts
Differential catalogue responses are mocked for presentation and ranked results, and a mobile/tablet test verifies the compare action remains visible and tappable during scrolling.

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

Sequence Diagram(s)

sequenceDiagram
  participant GlobalSearchShell
  participant MasterSearchHeader
  participant DifferentialResults
  GlobalSearchShell->>MasterSearchHeader: Enable mobile compare addon for submitted differential search
  GlobalSearchShell->>MasterSearchHeader: Reserve compare addon height
  DifferentialResults->>MasterSearchHeader: Scroll differential results
  MasterSearchHeader-->>DifferentialResults: Keep compare dock visible
Loading

Possibly related PRs

Suggested reviewers: claude

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly matches the main change: fixing the mobile differential compare action behavior.
Description check ✅ Passed The description covers the summary and validation well, though it doesn't follow the template's exact Verification checklist format.
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 docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch agent/fix-differentials-compare-dock

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

@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/components/clinical-dashboard/master-search-header.tsx`:
- Around line 1191-1195: Update the bottom-composer hidden-state calculation,
including bottomComposerScrollHiddenActive, so add-on docks identified by
usesPhoneFooterDock and !mobileBottomSearchAddonSlotId remain excluded when the
dock is pinned. Preserve the existing scroll-hide behavior for other composers,
and add or update coverage to verify the final result remains above the pinned
dock.
🪄 Autofix (Beta)

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: 5a8f9fa5-36a5-45ec-9c8e-8236a3674ff8

📥 Commits

Reviewing files that changed from the base of the PR and between 2155e35 and 0ad1cfc.

📒 Files selected for processing (3)
  • src/components/clinical-dashboard/global-search-shell.tsx
  • src/components/clinical-dashboard/master-search-header.tsx
  • tests/ui-tools.spec.ts

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

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 0ad1cfc42d

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

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

Copy link
Copy Markdown
Owner Author

@codex resolve actionable Codex review findings for this pull request and current head using the repository instructions. This is the pull request's single automatic repair pass: do not perform a fresh review, create new standalone findings, or request another review. Work only the existing unresolved Codex threads on the current head. Always fix P0 and P1 findings. For P2 and lower findings, fix only clear, scoped, low-risk issues; otherwise disposition them with a concise reason. After fixing or dispositioning a thread, reply in that thread with as the first line, followed by a concise summary; that marker authorizes the workflow to close that exact thread. If human input or new authorization is required, do not use the marker and leave the thread open with the blocker. Finish only after every actionable thread is fixed or dispositioned and closed, or explicitly left open for a human decision. Do not update the branch from main, address unrelated reviews, broaden scope, or create more than one scoped fix commit. Do not use external APIs, paid services, credentials, dependency changes, or broad refactors unless explicitly authorized. Add targeted tests where behavior changes and run the narrowest relevant validation.

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Swish!

Reviewed commit: 0ad1cfc42d

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@BigSimmo
BigSimmo enabled auto-merge July 15, 2026 18:12

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 8c159b0a87

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/components/clinical-dashboard/global-search-shell.tsx
@BigSimmo
BigSimmo merged commit 29dc871 into main Jul 16, 2026
24 checks passed
@BigSimmo
BigSimmo deleted the agent/fix-differentials-compare-dock branch July 17, 2026 05:45
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