Restore the "All" page size in signal-list; fix the #5573 e2e intermittents - #5576
Merged
norman-abramovitz merged 2 commits intoJul 5, 2026
Conversation
The signal-list migration dropped the legacy app-paginator's "All" (-1) page-size option — app-paginator itself is no longer rendered anywhere, so the feature silently vanished from every list (e2e/cloudfoundry#5573 was the only thing noticing, via a flake). Restore it at the shared layer: - ViewPipeline treats pageSize <= 0 as "no slicing" (single page) - signal-list offers All (-1, labelled "All") in card view; table views deliberately keep concrete sizes and the setViewMode snap reverts All on switch — validated against the effective option set so a per-view remembered All survives returning to card view - range counter reports the full window for All - pager select/range gain data-test hooks (page-size, page-range) - filter input regains Escape-to-clear and a name-filter hook Unit tests: ViewPipeline All paging; option sets per view; snap behavior both directions; -1 accepted, 0/garbage still rejected. Refs cloudfoundry#5573
Both cloudfoundry#5573 intermittents were specs targeting UI the migration replaced, not app races: - endpoints: the spec asserted the legacy cards-default view, but the migrated endpoints list is table-primary by design and has no card template. The "intermittency" was persisted viewMode state varying across runs. Assert table rows instead; the list harness learns signal-list view detection (plain <table> / card-grid, count-based so a missing legacy element can't hang the auto-wait) and card-grid children as cards. - pagination: app-paginator is rendered nowhere, so goToOrgsPage never found its selectors — under the 90s budget that surfaced as a skip, over it as a bare timeout (the "flake"). Rewritten against the signal-list pager (page-size/page-range hooks, single view toggle, en-dash range, per-list + per-view size memory), with condition waits replacing fixed delays and navigation budgets that keep the no-data path a clean skip. Refs cloudfoundry#5573
norman-abramovitz
approved these changes
Jul 5, 2026
norman-abramovitz
left a comment
Contributor
There was a problem hiding this comment.
Investigated and verified: All option restored at the shared signal-list layer with per-view snap semantics; specs realigned to migrated UI; residual platform-blip resilience tracked in #5577.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What the investigation found (#5573)
Neither "intermittent" was an app race — both specs were asserting UI that the signal-list migration replaced:
EndpointsSignalConfigService) and provides no card template; persistedviewModestate made results vary run to run.app-paginatoris no longer rendered anywhere in the app, so the spec's selectors could never match. Under the 90s test budget the two-attempt navigation helper surfaced that as a skip (looked green); over it, as a bare timeout — the "flake" was a skip-vs-timeout race. Along the way this exposed a real feature loss: the "All" page-size option (and the option ladders' All entry) shipped on app-paginator and vanished in the migration.Changes
App — restore All at the shared layer (
4302fd0e):ViewPipelinetreatspageSize <= 0as no slicing (single page)All(-1) in card view; table views deliberately keep concrete sizes, and the view-mode snap validates against the effective option set so a per-view remembered All survives returning to card viewdata-testhooks; filter input regains Escape-to-clearE2E — realign specs (
6f2eafea):Verification
Residual finding (separate issue to follow)
The orgs page can wedge on "Loading organizations…" when its in-flight CF fetches are canceled: jetstream logs 502 "context canceled" for orgs/apps/spaces,
EndpointDataServicerecords the error, and nothing retries. This is the remaining true intermittent behind the pagination skips — evidence (request timelines, jetstream logs) is in the investigation notes. Also observed while auditing: local SQLite runsjournal_mode=deletewith nobusy_timeout, and ~60e2e-*orgs have accumulated on the shared test CF.Closes #5573