Files
multica/server/internal
Naiyuan Qing 1141981eeb fix(inbox): tighten review feedback on legacy compatibility surface
- inbox.go: precise wording on legacy cap semantics — it's 200 distinct
  *issues* (newest entry per issue), not 200 raw rows. Same for the
  unread-badge degradation note. Add structured slog at the legacy
  entrypoint with X-Client-Platform / X-Client-Version so we can track
  install-base on the legacy contract (cf. MUL-1795 A1 follow-up).

- client.ts: listInbox always sends ?limit, defaulting to 50 when no
  param is passed. The server identifies legacy callers by the absence
  of every pagination param; if a future filter (e.g. ?status=unread)
  ships without a default limit, it would otherwise fall into the
  legacy 200-cap branch by accident.

- schemas.ts: comment why dedup transform's localeCompare on created_at
  is correct (RFC3339 strings are lexicographically ordered).

- inbox_test.go: fetchInboxLegacy now asserts the response body starts
  with '[' so a future refactor that wraps the legacy body silently
  cannot pass these tests. Add TestListInbox_LegacyDedupBeforeCap to
  pin the dedup-then-cap interaction (250 same-issue items collapse
  to 1 row, not fill the 200 cap).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-07 16:31:18 +08:00
..