Skip to content

Port upstream search, thumbnail, geometry, and cache improvements - #14

Merged
ewlarson merged 1 commit into
developfrom
feature/upstream-0.9.1-ports
Sep 12, 2026
Merged

ewlarson merged 1 commit into
developfrom
feature/upstream-0.9.1-ports

Conversation

@ewlarson

Copy link
Copy Markdown
Collaborator

This selectively ports shared backend improvements reviewed through geobtaa/api 0.9.1. Encoded facet values now survive parsing, date-range-only records gain index years, CONTENTdm/OSU manifests resolve through the correct image services, and static maps/viewers handle projected geometry and points correctly.

The PR also adds opt-in AND faceting across search, facet values, and H3 maps, with separate cache keys and preserved facet links. Existing OR semantics remain the default. Optional Redis response compression uses an OGM version marker and leaves HTTP bodies, ETags, TTLs, and durable records unchanged; compressed writes are disabled by default.

Scope and compatibility

  • Adapts upstream eb89c10, 131fa98, f6e6573, 4389011, 4ca8e5f, 9ee88fe, 80dcd59, and 5b35609, with regression tests.
  • Preserves OGM Level 0 IIIF handling, endpoint-owned thumbnail queueing, durable coverage state, harvesting, identity, and basemap provider.
  • Retains existing app.identity version reporting. Dependency updates, Boolean grouping, visibility policy, institutional fields, and production configuration remain separate work.
  • Records the complete review and implementation provenance in docs/upstream_reconciliation.md, docs/upstream_review_2026-09-12.md, and docs/upstream_ports_0.9.1.md; the full-import baseline is unchanged.

Validation

  • Full backend suite in disposable Python 3.11 containers with ParadeDB 0.18.11, Elasticsearch 9.0.0, Redis 7.4.6, and OGM's locked FastAPI/Starlette versions: 1,919 passed, 82 skipped, 1 non-strict xpass.
  • Application coverage: 62.87%, above the 50% gate.
  • make lint-check, make identity-check, and git diff --check pass.

Rollout notes

Reindexing repairs existing year-facet documents; persisted metadata requires re-ingestion or a separate backfill. Static-map cache variants advance automatically, while affected resolved/failed thumbnails need bounded regeneration. Enable compression only after all readers support the codec, and account for existing compressed entries before rolling back to older readers. No production reindexing, regeneration, or deployment is performed by this PR.

@ewlarson
ewlarson marked this pull request as ready for review September 12, 2026 16:50
@ewlarson
ewlarson merged commit 3d0f5ff into develop Sep 12, 2026
3 checks passed
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