Files
iamxvbaba 8f682c07d5 admin(review console): fix "Load older" order and the re-review follow-ups
Maintainer repair for the #167 re-review of 25d9375f.

Blocking: "Load older messages" prepended the older page to a newest-first
list that MessagePreview reverses, so it showed under the newest message.
It is appended now.

Live media:
- LiveMedia probes each candidate key with a one-byte read and returns
  ErrLiveMediaTooLarge for an object over 16 MiB before reading it. The
  admin API maps it to 413 and the panel answers 413 with a plain-text
  reason and the same nosniff / CSP sandbox headers.
- Responses are Cache-Control: no-store again, at both layers.
- parseMedia reads the top-level kind and the id of the right object, so
  documents get their download link. Number literals are quoted before
  JSON.parse, so 64-bit ids never become JS numbers.
- Tests: LiveMedia over the real files service on LocalFS (sniffing,
  allowlist, key checks, the cap and the probe), /v1/media and panel proxy
  headers, a messages.read gate test for /api/live/*, and a DSN-gated
  dialog paging test with tied and zero dates.

Messenger:
- The dialog cursor is keyed on before_peer_id, since top_message_date is
  0 for dialogs created by a scheduled message, a TTL or a chat theme.
- The dialog list has its own stale-response guard for owner switches and
  "Load more chats".
- Bubbles show the box id that "Delete selected" takes.
- Detail pages preview the 50 messages ending at the opened one and keep
  it in view.
- ?focus=env jumps once, so Status can be opened afterwards.
- The shell title and the lit tab use the longest matching tab path, so
  group pages say Groups and detail routes light their tab; /premium is
  an alias of the Premium tab.
- The remaining hardcoded strings go through i18n (en, zh, ru).

Docs: /api/live/* rows document the cursor, has_more, media types, status
codes, headers and messages.read; "Adding a page" says the shell renders
the tab bar, and the generator now fails on a <SectionTabs> in a page.
AGENTS.md, .env.example and comments use the current section names.
web/dist is rebuilt.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
8f682c07d5 · 2026-11-05 14:44:03 +08:00
History
..