Skip to content

Loading/order algorithm + cancellation + pagination #61654

Description

@pringelmann

Replace find()/updateResults() with a dedicated search controller module implementing the issue's per-category state machine (loading / loaded / blocked / failed) with the ~1500ms reorder, so results stop reshuffling on screen. Pin the preferred order up front and fill slots in place. Apps-first ordering is already in PR #60827; review the rest of the order here.

  • results don't reorder once rendered (state machine + 1500ms promote/demote)
  • loading ends when all non-blocked providers finish, not the first
  • a new query cancels in-flight requests and ignores stale responses
  • load-more / "More from" appends and respects the server cursor / isPaginated
  • dev toggle to delay/fail a provider (to demo the blocked/failed states)

Metadata

Metadata

Assignees

Type

No type
No fields configured for issues without a type.

Projects

Status
No status
Status
To triage

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions