mirror of
https://gh.wpcy.net/https://github.com/discourse/discourse.git
synced 2026-06-19 05:59:26 +08:00
The manage-reports list showed every core report first, then every Data
Explorer query, because pagination walked one provider at a time. Switch
to keyset pagination merged across providers so the available list is
one globally title-sorted stream.
Providers now implement `list_all(search:, after:, limit:)`, returning
their rows sorted by [title.downcase, key] after the cursor; the
controller merges a page-worth from each and emits a `{title, key}`
cursor. Data Explorer pushes the keyset into SQL with `COLLATE "C"` so
its ordering matches Ruby's byte order and rows can't be skipped or
duplicated at page boundaries.
|
||
|---|---|---|
| .. | ||
| admin_dashboard_report_provider_spec.rb | ||