Repository navigation
workflow: Hand a task names each lane's Project in its pick list - #2242
Conversation
Two lanes from different Projects read the same inside the assign dialog: the target row carried the name and the chain, never the Project the list row already draws. The dialog now repeats that badge from the same projects listing, and a lane with no Project draws none.
|
Verdict: PASS at 65914e2 Ran at this tip: Red first, as required: on the tip tree with only Review points:
Not run here: the full |
Fixes #2241
Owner: Dev
Written-by: Dev-1
Reviewer: Birfy
Claim-Id: 0b70a4567eb74831a7cb661cebd26ae2
Branch: dev/1-p450-assign-dialog-project
Base: 7d1f1bb
Tier: T2 (gate reading at this tip:
computedTier = T2,exemptFromPass = false;plugins/**matches, and the highest matching path tier wins)Tree: 35f280d730782100cfa77720c836488f47abb342
Verified tree: 35f280d730782100cfa77720c836488f47abb342 —
npm run verifyran on this tree in local commit 4c2f74b811194c7fac9558a7cfb0243bc0b60dfd, which was never pushed and which GitHub cannot resolvePushed head: 65914e2 (same tree 35f280d730782100cfa77720c836488f47abb342, generated from it by the push path)
Files: 4 changed, +88/−4
Single parent: 7d1f1bb
What changes
The
Hand a task to a Workflowdialog drew each lane's name and chain, never its Project, so twolanes from different Projects read exactly alike at the moment a card is handed over. The list row
already repeats that badge from the same
projectslisting (client.js:2232), soAssignModalnow takes
projects, resolves the name once throughprojectName(id), and draws the samewf-projspan after theWorkflowbadge on every target row (wf-t1).A lane with no
projectIddraws no badge at all, not anUnassignedplaceholder (owner decision in#2241): the dialog is a choice, not the list, so the absent badge already says "no Project" and a
placeholder would add one more sentence to translate for no information. The list row's own
Unassignedbranch stays exactly as it was.Nothing else moves. The assign call gains no
projectIdargument,confirmAssign's submit body isbyte-identical (the third test pins it), the card row is untouched, and
AssignModal's existingerrorslot keeps the shape #2237 gave it.Docs: the Project paragraph of
docs/subsystems/workflow.mdnow names the dialog. Changelog:changelog.d/2241-hand-a-task-project-badge.added.md.Red first
Run on the live base
7d1f1bb7with the test file from this branch and the source at that base(
git show 7d1f1bb7:plugins/workflow/client.js > plugins/workflow/client.js):Read against the issue's own two counter-cases:
not ok 149shows the base draws zero Projectbadges in the dialog, and
ok 150is already green there — this change must leave the submit bodyalone, and the third test keeps it that way.
With the fix in place the same file runs
# tests 150 / # pass 150 / # fail 0.Files
4 files, +88/−4:
plugins/workflow/client.js(+8/−3 — one prop, one resolver, one badge),plugins/workflow/test/client.test.js(+78),docs/subsystems/workflow.md(+1/−1),changelog.d/2241-hand-a-task-project-badge.added.md(+1).Ran
7d1f1bb7, thenTZ=UTC node --test plugins/workflow/test/client.test.js→150/150/0on the fixed tip, andnpm --prefix plugins/workflow test→392/392/0.TZ=UTC ARCH_DOCS_BASE=7d1f1bb7ed2f097beb5376eb48f08cfeed794c3b npm run verify→ exit 0,4569/4569/0: core 2674, social 570, tree 131, timeline 140, workflow 392,
.github/scripts599, interop 37, live-e2e 26.
arch-docs: OK (4 changed file(s));ok core/ equals ds-bot/ + patches/ds-bot/;ok 10 patches apply cleanly in order;ok patches/ds-bot/ is what generate writes (generate is a no-op);build-client.mjs --checkgreen; all four packed plugins imported; thechangelog.d/check green.
Not run
core/index.jsandcore/src/host/are untouched.packagejob's typecheck, actionlint and pack check —npm run verifydoes not run them.npm_config_cachepointed at a workspace directory for this run:~/.npmis read-only in thissandbox and the plugin lint's
npm packstep writes a cache. Nothing else in the suite dependson it.
Checkpoint
{
"pr": 2242,
"claim": "Dev",
"issue": 2241,
"summary": "The Hand a task to a Workflow dialog now names each lane's Project on its target row, reusing the wf-proj badge and projects listing the list row already draws, so two lanes from different Projects no longer read alike at the pick point. A lane with no Project draws no badge, by owner decision, instead of an Unassigned placeholder. The assign call gains no projectId argument and confirmAssign's submit body is unchanged. Docs and a changelog fragment name the dialog.",
"files": [
"plugins/workflow/client.js",
"plugins/workflow/test/client.test.js",
"docs/subsystems/workflow.md",
"changelog.d/2241-hand-a-task-project-badge.added.md"
],
"checks": {
"ran": "TZ=UTC ARCH_DOCS_BASE=7d1f1bb7ed2f097beb5376eb48f08cfeed794c3b npm run verify",
"result": "green",
"at": "65914e2fa53c26c0bc43ae3420b379c7ea8bf1c2"
},
"next": "T2: waiting for Birfy's PASS at head 65914e2; the pushed head carries the identical tree 35f280d7."
}