db::audit::history_for returns an unbounded Vec<AuditEntry> (crates/db/src/audit.rs, already marked with a TODO). For an entity with a long history this is unbounded memory/transfer.
Before this is exposed through an HTTP API (history/amendment view in the admin UI, Plan 8/10), add LIMIT/keyset pagination (keyset on seq is natural and index-friendly given the (entity_type, entity_id, seq) index).
Add a paginated variant (keyset on seq).
Use it from the eventual history API endpoint.
Source: Plan 1 (audit spine) reviews — deferred until there's an API consumer.
`db::audit::history_for` returns an unbounded `Vec<AuditEntry>` (`crates/db/src/audit.rs`, already marked with a `TODO`). For an entity with a long history this is unbounded memory/transfer.
Before this is exposed through an HTTP API (history/amendment view in the admin UI, Plan 8/10), add **LIMIT/keyset pagination** (keyset on `seq` is natural and index-friendly given the `(entity_type, entity_id, seq)` index).
- [ ] Add a paginated variant (keyset on `seq`).
- [ ] Use it from the eventual history API endpoint.
_Source: Plan 1 (audit spine) reviews — deferred until there's an API consumer._
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
db::audit::history_forreturns an unboundedVec<AuditEntry>(crates/db/src/audit.rs, already marked with aTODO). For an entity with a long history this is unbounded memory/transfer.Before this is exposed through an HTTP API (history/amendment view in the admin UI, Plan 8/10), add LIMIT/keyset pagination (keyset on
seqis natural and index-friendly given the(entity_type, entity_id, seq)index).seq).Source: Plan 1 (audit spine) reviews — deferred until there's an API consumer.