Skip to content

chore(api,infra): the Meilisearch client and server are many versions apart, and nothing tests the wire #1216

Description

@joacominatel

Source. Found while assessing dependabot PR #1123 (meilisearch 0.58 → 0.60), 2026-08-04.

lazyit version

v1.10.0 (dev)

Context

The Meilisearch client and server are far apart, and the gap is pre-existing rather than introduced by any recent bump:

Upstream tests client 0.58 against server v1.42, 0.59 against v1.48 and 0.60 against v1.50. Our server is v1.12.3 — many minors behind every one of those.

Nothing is known to be broken: the 0.58→0.60 client diff is purely additive for every route this repo uses, and the only changed signatures are on experimental endpoints we do not call. But that conclusion rests on reading the diff, not on an observed round-trip — no test in this repo makes a wire call to Meilisearch (SearchService is mocked everywhere), so neither CI nor the local suites would notice a client/server incompatibility. The typecheck is the entire signal.

What should happen

Decide the client/server version policy and make it checkable, rather than letting the two drift independently:

  • Bring the server up to a version the pinned client is actually tested against, or pin the client to one tested against v1.12 — whichever matches how we want to treat search (ADR-0035).
  • Add at least one test that makes a real call against the pinned server image, so a client/server break is caught by CI instead of by an operator's empty search results. If that requires a service container in CI, say so and scope it — an honest "we chose not to" is better than a mocked test that implies coverage it does not have.
  • Record the intended relationship somewhere durable, so the next dependabot bump can be judged against a stated policy instead of re-derived each time.

Areas it touches

backend · infra

References

#1123 (the bump that surfaced this) · ADR-0035 (Meilisearch, and its prod gap closed earlier) · apps/api/src/search/** · compose.yaml (the server pin)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:backendBackend — NestJS API, Prisma, domain logicarea:infraInfrastructure — Docker, CI/CD, deployment, configauto-generatedOpened by an agent — review mepriority:normalDefault prioritytype:choreMaintenance, configuration, tooling

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions