Skip to content

Use POST bodies for cross-search filters#1160

Merged
karilint merged 5 commits into
mainfrom
codex/crosssearch-post-filters-493
May 21, 2026
Merged

Use POST bodies for cross-search filters#1160
karilint merged 5 commits into
mainfrom
codex/crosssearch-post-filters-493

Conversation

@karilint
Copy link
Copy Markdown
Collaborator

@karilint karilint commented May 21, 2026

Summary

  • Add POST body variants for cross-search rows, map localities, and CSV export
  • Switch frontend cross-search data requests and CSV export to send filters/sorting/pagination in JSON bodies
  • Keep existing GET endpoints working for backwards compatibility
  • Store shared TableView filter/sorting/pagination state in sessionStorage and keep browser URLs short with a tableState id across all normal list views
  • Prevent refresh/return-to-table from overwriting stored table state with defaults before restoration finishes
  • Add API coverage for the new POST body paths and frontend coverage for shortened/restored table-state URLs

Closes #493

Validation

  • git diff --check
  • npm run lint:backend
  • npm run lint:frontend
  • npm run tsc:backend
  • npm run tsc:frontend
  • cd backend && DOTENV_CONFIG_PATH=../.test.env NODE_OPTIONS='-r dotenv/config' npx jest src/api-tests/crossSearch/get.test.ts src/api-tests/crossSearch/export.test.ts --runInBand --config jest-config.js --detectOpenHandles --forceExit
  • cd frontend && npx jest src/components/TableView/TableView.test.tsx --runInBand
  • npm run lint && npm run tsc via commit hook before the follow-up TableView commits

@karilint karilint marked this pull request as ready for review May 21, 2026 11:24
@karilint karilint merged commit b7c6d54 into main May 21, 2026
3 of 4 checks passed
@karilint karilint deleted the codex/crosssearch-post-filters-493 branch May 21, 2026 11:24
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.

Urls could be shortened by sending filter data in req.body

1 participant