Repository navigation
fix(webapp): say when the board is showing fewer cards than match - #537
Merged
Merged
Conversation
Congrats! CodSpeed is installed 🎉
You will start to see performance impacts in the reports once the benchmarks are run from your default branch.
|
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.
Refs #461, #466. Found during the chantier's completeness pass, after all seven workstreams had merged.
The bug
BOARD_TASKS_PER_PAGEwas200.PaginationParams::per_page(libs/pagination/src/lib.rs:24) clamps every listing toMAX_PER_PAGE = 100, andGET /tasksgoes through it (list.rs:294).Asking for more does not fail and does not warn. It comes back with 100. So a board in an organization past a hundred tasks was missing cards with no indication, while its own doc comment claimed the opposite:
Every column count was wrong, and the counts are what a board is read for.
The fix
The constant is now honest.
100, with a comment saying that it is the ceiling rather than a preference, that raising it buys nothing until the clamp moves, and that the board says when a listing was cut instead.The board reads
pagination.total— how many tasks match the current filters, which is not how many came back — and says so above the columns when the two differ:Rendered in an
<output>beside the columns rather than in place of them: the cards that did come back are still the ones being worked on. It sits above the columns and inside the same card as the filter bar, so it survives a filtered board coming back empty.Three tests
says how many cards it is showing when the match set is larger— the notice, with its numbers.says nothing when every matching card came back— the ordinary board stays quiet.keeps saying it while a card is being moved— the one worth explaining. The optimistic move rewritesdatain the cache entry; if it droppedpaginationon the way, the notice would blink off on every drag and return at the refetch. A board that forgets it is truncated while you work in it is worse than one that never said so. The test moves a card with the keyboard and asserts the notice holds.That third test replaced a worse one. The first version asserted "says nothing when the match set is smaller than the page", which pins an incoherent state — the server cannot return more rows than it counts. The real risk was never a
totalbelow the page size; it waspaginationbeing lost by the write path.Two existing assertions moved from
per_page: 200to100, argument and expectation together: they were pinning the value this change corrects.What this does not do
It does not raise the cap, and it does not paginate per column. Both are real options — the first is a one-line change to
MAX_PER_PAGEwith consequences for every other listing, the second is a redesign of the board's read. This change makes the existing limit visible, which is the part that was wrong rather than merely small.Verification