Repository navigation
NickAkhmetov/MUI 9 QA follow-ups and organ cell types dataset links - #4113
Merged
Merged
Conversation
- Sort the organ's indexed dataset UUIDs. Elasticsearch returns these tied-score hits in a different order on each request, so when the cell types section mounted its ATACseq tab, SWR revalidation changed the cell population plot's request keys and reloaded the plot. - Stretch TableTabs panel children to the panel's width, so bulk data transfer tab contents fill the section. - Put the SectionDescription info icon in a body1 line box with vertical-align: middle, so it centers on the first line of text. - Pass the cell types table's matched datasets through useSCFindIDAdapter. They are already UUIDs, so the old hubmap_id lookup matched nothing and "View Datasets" linked to an unfiltered search. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
john-conroy
reviewed
Oct 29, 2026
Comment on lines
+189
to
+192
| const datasetUUIDs = (searchData?.hits?.hits.map((h) => h._id) ?? []).filter((id) => id != null); | ||
| // These hits all tie on score, so ES returns them in a different order on each request. Sort them so | ||
| // that SWR revalidating this query (e.g. when the cell types section mounts its ATACseq tab) doesn't | ||
| // change the request keys that callers like the cell population plot build from this list. | ||
| const datasetUUIDs = (searchData?.hits?.hits.map((h) => h._id) ?? []).filter((id) => id != null).sort(); |
Collaborator
There was a problem hiding this comment.
Should we not just apply a sort in the ES query?
Collaborator
Author
There was a problem hiding this comment.
Yes, that's simpler. Done in 2e38f43: the query now has sort: [{ _id: 'asc' }], the same as the shared ID queries in useSearchData.ts, and the client-side .sort() is gone.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
john-conroy
approved these changes
Oct 29, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Fixes three issues QA found after the MUI 9 upgrade (#4082), plus one older bug on the organ page. None of the three QA issues is caused by MUI 9 itself.
useIndexedDatasetsForOrgancall then revalidates the Elasticsearch query that the plot shares. Every hit in that query has the same score, so Elasticsearch can return the hits in a different order on each request. The plot builds its scFind count request keys from that list in order, so a new order meant new keys, a refetch and the loading skeleton.useIndexedDatasetsForOrgan's query now sorts by_id.StyledTabPanelis a row flexbox, so its child was only as wide as its content. Production has the same CSS but a narrower main column, so the gap did not show there. Children of the panel now getflexGrow: 1. The Collections and Publications sections had their own workarounds for this, and those are now redundant. I left them in place.body1line box withvertical-align: middle, so it centers on the first line of text. This replaces themarginTopoffset on the text. The icon also looks lower in QA for a separate reason: from NickAkhmetov/CAT-1550 Say and See Front-end Integration / Back-end Enhancements #3983 until NickAkhmetov/Update Say & See to udi-yac 0.9.0, fix chart field changes #4111,udi-yac's stylesheet applied a Tailwind preflight rule,svg { vertical-align: middle }, to every icon in the app. NickAkhmetov/Update Say & See to udi-yac 0.9.0, fix chart field changes #4111 scoped that rule to.udi-yac, so icons went back tobaseline. This PR does not restore the global rule.useUUIDsFromHubmapIdslooked them up byhubmap_id.keyword. No document matched, so the button got an empty UUID filter and the search showed all datasets. The cell now uses the existinguseSCFindIDAdapter, which accepts both UUIDs and HuBMAP IDs. I deleteduseUUIDsFromHubmapIds, which had no other callers.Design Documentation/Original Tickets
N/A. These came from QA of the MUI 9 upgrade (#4082).
Testing
pnpm testpnpm tscManual checks against a local dev server:
/organs/lung: switching the cell types tabs from ATACseq to RNAseq and back no longer refetchescell-type-countor reloads the plot./organs/lung, "adventitial fibroblast" row (27/45): "View Datasets" now opens a search with 27 results. Before, it showed all 9,727 datasets.Screenshots/Video
N/A
Checklist
CHANGELOG-mui-9-qa-followups.md)🤖 Generated with Claude Code