A callsign search stops at 200 rows while the mobile API docs promise 500 #64

Open
opened 2026-11-03 18:52:33 +00:00 by skippy-bot · 0 comments

Problem

search_callsign caps results at 200, while the published parameter table says the maximum is 500. A client asking for 500 gets at most 200 rows with no truncation flag, so a broad prefix search under-reports and the client cannot tell it was capped.

Evidence

At 2f150f66:

  • lib/aprsme_web/channels/mobile_channel.ex:98 sets @max_search_results 200, applied at :185 with min(@max_search_results).
  • docs/mobile-api.md:274 documents the limit maximum as 500.
  • test/aprsme_web/channels/mobile_channel_test.exs:411 is titled limits to max of 500 but asserts only that results are non-empty.

Expected

The cap and the documentation agree, and the response says when the result set was truncated.

How to verify

Seed 300 senders sharing a prefix, push search_callsign with limit: 500 and count the results: today it is 200.

Acceptance criteria

  • The documented maximum is the enforced maximum.
  • The response reports truncation.
  • The existing test asserts the cap it names.

Effort: S
Lens: api

## Problem `search_callsign` caps results at 200, while the published parameter table says the maximum is 500. A client asking for 500 gets at most 200 rows with no truncation flag, so a broad prefix search under-reports and the client cannot tell it was capped. ## Evidence At `2f150f66`: - `lib/aprsme_web/channels/mobile_channel.ex:98` sets `@max_search_results 200`, applied at `:185` with `min(@max_search_results)`. - `docs/mobile-api.md:274` documents the `limit` maximum as 500. - `test/aprsme_web/channels/mobile_channel_test.exs:411` is titled `limits to max of 500` but asserts only that results are non-empty. ## Expected The cap and the documentation agree, and the response says when the result set was truncated. ## How to verify Seed 300 senders sharing a prefix, push `search_callsign` with `limit: 500` and count the results: today it is 200. ## Acceptance criteria - [ ] The documented maximum is the enforced maximum. - [ ] The response reports truncation. - [ ] The existing test asserts the cap it names. **Effort:** S **Lens:** api
Sign in to join this conversation.
No description provided.