Repository navigation
Show only open cards on a Project board, with finished ones in one collapsed group - #1870
Conversation
8a0e1b9 to
1f34afa
Compare
|
Verdict: PASS at 1f34afa Ran at this tip: Review notes:
|
…llapsed group Replayed onto main 82305b3 by Replay: merge #1872 (Project team, #1860) into this branch and keep both sides of core/src/client/project-board.js — main's Project-team block and this branch's done group in the same pane — plus both additions in core/src/client/i18n.js and docs/subsystems/core-client.md; main's core/test/project-board-panels.test.js and role-labels.js stay as they are, and core/client.js and patches/ds-bot/ are regenerated from the merged core/. ds-bot-patches check (10 patches, core/ == ds-bot/ + patches), build-client --check, core lint, arch-docs (19 files) and the affected project-board/i18n/client-bundle tests are green here. Replayed-by: Replay
1f34afa to
c8e0c46
Compare
|
Verdict: PASS at c8e0c46 Tip is the rebase of fix/1855-project-board-done-group onto main Checks at this tip: Ran at this tip: Red-first: one revert of one changed source file ( Not run: the full |
Written-by: Dev
Fixes #1855
Owner: Dev
Reviewer: Reviewer
Tip SHA: 8a0e1b9
Base: 09309f7
Docs-not-needed: no —
docs/subsystems/core-host.mdanddocs/subsystems/core-client.mdare updated in this commit.What changed
projectBoard()projected every card a Project owns regardless of column, so a Project with months of history opened on 191 finished cards beside the 9 still in flight. The rows are now the cards outside thedonecolumn; the finished cards ride on the same read under a newdonekey, in the same row shape and the same order, andcounts.donestill counts every one of them — so the header and the #1829 metrics read exactly as before. Nothing else is filtered: a rework, a blocked and a waiting card stay rows.project-boardanswersdonebesidetasks, and the pane draws that archive as one<details>group that starts collapsed, after the queue groups and before the Decisions/Meetings record. The view also folds a terminal row into the archive when a host still sends it inrows, so no finished card is ever painted as a row of work in flight.Rendering choice (the owner decision left it to Dev): no row cap and no lazy mount — the group is a
<details>withoutopen, so the rows exist in the DOM and the browser paints none of them until the reader expands the group. 191 rows is a trivial element count; a cap would silently hide part of the Project's record.counts.done: 191, and the endpoint carriesdone: 191; a card that turns done leaves the rows and raises the count by one;rework/blocked/waitingstay rows.<details>with noopenon first paint with the header still readingDone: 191.core/client.jsandpatches/ds-bot/are generated, never hand-edited:npm run buildincore/, and the three edited-upstream sections (0001i18n.js,0002store.js,0008client.js) plus the five whole-file mirrors.generateneeds git, which this host does not have, so the sections were rebuilt with a git-free patience diff in the stored format and proven bynode scripts/ds-bot-patches.mjs check(see "Ran").Live host check on "FlyBot 开发" (
project-1fe64499) not run: that host is not reachable from this workstation. The shape it now returns is pinned by the tests (9 rows,Done: 191).Ran at this tip
Green: 53/53 on the four board files; 10 patches apply cleanly and
core/equalsds-bot/+ patches;client.jsmatchessrc/client; 0 U+FFFD; plugins 541/127/135/316 pass, workflow scripts 554 pass (2 skipped), interop 37, live-e2e 24. Reverting the source change (hostopen = rows, clientlist.push(row)) turns 7 of those 47 tests red.Core suite: 2244 tests, 2242 pass, 2 fail — both environmental on this host, not touched by this change:
empty diff passes(needs git for the arch-docs base diff) and theusage.sqlitefixture case (needspython3).Not run:
npm run verifyend to end — it stops atarch-docs, which cannot diff againstorigin/mainwithout git; every other step of it was run separately above. The smoke test is not applicable (nocore/index.jsorcore/src/host/turn/delivery change; the host change is the read-only board project). The pin check insideds-bot-patchesprintsskipped pin (no git); CI runs it with git.Checkpoint
{
"pr": 1870,
"claim": "Dev",
"issue": 1855,
"summary": "The Project board painted every finished card as a row, so a Project with months of history opened on 191 已完成 cards. The host board now answers only non-terminal cards as rows and carries the finished cards in a separate
donelist of the same shape;counts.doneand the metrics are unchanged. The pane draws that list as one<details>group that starts collapsed, so the board opens on the work in flight and the header keepsDone: <count>.","files": [
"core/src/host/project-board.js",
"core/src/host/store.js",
"core/src/client/project-board.js",
"core/src/client/i18n.js",
"core/client.js",
"core/test/project-board.test.js",
"core/test/project-board-view.test.js",
"patches/ds-bot/0008-client-bundle.patch",
"patches/ds-bot/files/src/host/project-board.js",
"docs/subsystems/core-host.md",
"docs/subsystems/core-client.md",
"changelog.d/1855-project-board-done-group.fixed.md"
],
"checks": {
"ran": "cd core && TZ=UTC node --import ./test/harness-resolve.mjs --test --test-concurrency=1 test/project-board*.test.js; node scripts/ds-bot-patches.mjs check; node core/scripts/build-client.mjs --check; node .github/scripts/check-mojibake.mjs --check",
"result": "green",
"at": "8a0e1b9d8408b4eca9019be7d46117919cad318e"
},
"next": "none — ready for review"
}