Skip to content

chore: upgrade @databiosphere/findable-ui to v61.0.0 (#5031) - #5032

Merged
NoopDog merged 1 commit into
mainfrom
frano-m/5031-findable-ui-v61
Nov 11, 2026
Merged

NoopDog merged 1 commit into
mainfrom
frano-m/5031-findable-ui-v61

Conversation

@frano-m

@frano-m frano-m commented Nov 11, 2026 •

Copy link
Copy Markdown
Contributor

Closes #5031

What changed

  • @databiosphere/findable-ui goes from ^60.0.0 to ^61.0.0 in package.json, and package-lock.json resolves 61.0.0. This also brings in the 60.0.1 patch.
  • ky goes from ^1 to ^1.10.0 in package.json, to match findable-ui v61's new peer range. The lockfile already resolved ky 1.14.3, so no installed version changes.
  • site-config/anvil-cmg/dev/config.ts keeps sort: "entryId" in dataSource.defaultListParams, with a comment saying that it now only orders the build-time dataset fetch in getStaticPaths.

Why

findable-ui v61.0.0 is the latest release (release notes). It is a breaking release, but none of its breaking changes need code changes here:

  • This repo does not import closeAndRestoreFocus, the filter Checkbox, isNodeBoolean, lib/components/utils or useEntityList.
  • Every site config sets versionInfo: true, so the footer's version-chip change has no effect.
  • ExploreView in pages/[entityListType]/index.tsx still receives statically loaded entities the way v61 expects.

v61's explore list now sends only size from defaultListParams, so the AnVIL sort looks unused. It is not. getStaticPaths builds the AnVIL dataset detail pages with findable-ui's fetchAllEntities, which still merges defaultListParams into every request. Removing sort would change that paging from the unique entryId to the API's default order. The comment records this so the key is not removed later.

Assumptions I made

  • Each AnVIL explore tab's default order now comes only from its own tableOptions.initialState.sorting. I confirmed in the browser that Datasets, Donors, BioSamples, Activities and Files each request their configured sort column.
  • The new keyboard behaviour, where focus moves into a filter panel when it opens, comes from findable-ui and needs no app-side change.
  • The 9 skipped AnVIL catalog e2e tests come from an existing describe.skip in e2e/anvil-catalog/anvilcatalog-sort.spec.ts, not from this change.

How to verify

Definition of done from #5031:

  • @databiosphere/findable-ui is at ^61.0.0 in package.json and 61.0.0 in package-lock.json. (Step 1)
  • ky is at ^1.10.0 in package.json. (Step 1)
  • npx tsc --noEmit, lint, and the builds for every site config (HCA DCP, AnVIL, AnVIL catalog, LungMAP) pass. (Steps 2 and 3)
  • Unit tests (npm test) and e2e tests (npx playwright test) pass. (Step 4)
  • Index pages on HCA DCP, AnVIL and LungMAP load, paginate, sort and filter as before, and each AnVIL tab opens in its configured default order. (Steps 5 and 6)
  • Opening a filter panel moves keyboard focus into it, and closing it returns focus to the filter that opened it. (Step 7)

Steps:

  1. Open package.json and package-lock.json. findable-ui should be ^61.0.0 and 61.0.0, and ky should be ^1.10.0.
  2. Run npm ci, then npx tsc --noEmit and npm run lint. There should be no type errors and no lint errors.
  3. Run npm run build-ma-dev:hca-dcp, npm run build-cc-dev:anvil-cmg, npm run build-dev:anvil-catalog and npm run build-dev:lungmap. Each build should succeed.
  4. Run npx jest --ci, npm run test:anvil-cmg and npm run test:anvil-catalog. Nothing should be running on port 3000 first, because the e2e configs reuse any server already there. Locally, 282 unit tests, 132 AnVIL tests and 48 AnVIL catalog tests passed.
  5. Run npm run dev:anvil-cmg and open each tab. Each tab should open sorted by its configured default column (for example Files by file name), and the list request should not include sort=entryId. Page forward, change the sort, and apply a filter. The list and counts should update.
  6. Repeat step 5's load, paginate and filter checks with npm run dev:hca-dcp and npm run dev:lungmap.
  7. On any index page, tab to a filter in the sidebar and press Enter. Focus should move to the panel's first option. Press Escape. Focus should return to the filter button.

Screenshots

data-browser-5031-filter-panel-keyboard-focus-desktop data-browser-5031-anvil-files-default-sort-desktop

🤖 Generated with Claude Code
🐦 Built with cc-claude-tools

Raise `ky` to `^1.10.0` to match findable-ui v61's peer range. Keep
`sort: "entryId"` in the AnVIL `defaultListParams` and note that it now
only orders the build-time dataset fetch in `getStaticPaths`.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: cc-claude-tools <cc-claude-tools@clevercanary.com>

Copilot AI 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.

🟢 Approval recommended

No active review issues are reported for the dependency update and accompanying configuration comment.

No open issues 🎉

What changed in this PR

Upgrades the data browser’s shared @databiosphere/findable-ui dependency to v61.0.0 for #5031 and aligns the declared ky range with its peer requirement.

Changes:

  • Updates findable-ui to ^61.0.0, with the lockfile resolving 61.0.0.
  • Raises the ky range to ^1.10.0 without changing its installed version.
  • Adds a comment explaining why AnVIL retains sort: "entryId" for build-time dataset fetching; no configuration behavior changes.
File Description
site-config/​anvil-cmg/​dev/​config.ts Documents the retained build-time dataset sort.
package.json Updates the findable-ui and ky dependency ranges.
package-lock.json Locks findable-ui to v61.0.0 and synchronizes dependency metadata.

Review effort: Balanced

@frano-m
frano-m marked this pull request as ready for review November 11, 2026 06:49

@NoopDog NoopDog left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Thanks. I traced the getStaticPaths path through fetchAllEntities into v61's fetchEntitiesFromQuery, and the AnVIL sort does still reach the build-time dataset fetch, so the comment is accurate. None of v61's removed exports are imported here, and lint, type check, unit tests and the AnVIL build all pass locally.

@NoopDog
NoopDog merged commit 0dad587 into main Nov 11, 2026
5 checks passed
@frano-m
frano-m deleted the frano-m/5031-findable-ui-v61 branch November 11, 2026 08:03
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.

Upgrade @databiosphere/findable-ui to v61.0.0

3 participants