fix(task-board): no card renders nowhere - #6727
Merged
Merged
Conversation
The last way a card could disappear. A card the board cannot place — a Studio-native one on a converted board, or any status no column accounts for — was rendered by nothing at all. It gets its own lane at the end now. Not hidden, and not re-filed under a column Studio picked: re-filing is a decision only the org can make, and hiding is exactly the invisibility this exists to prevent. The lane goes away when its last card leaves, the same way a column the tracker dropped does. That is the third time the same answer has been right — a column the tracker deleted is kept while occupied, a card in no column blocks the delete, and now a status with no column still draws. Whenever Studio would have to guess where someone's card belongs, showing it where it is beats moving it somewhere we chose. Studio's own board accounts for every canonical status, so nothing is ever unplaced there and this cannot start inventing lanes.
decocms Bot
pushed a commit
that referenced
this pull request
Aug 28, 2026
PR: #6727 fix(task-board): no card renders nowhere Bump type: patch - decocms (apps/api/package.json): 4.303.1 -> 4.303.2 - @decocms/native (apps/native/package.json): 4.303.1 -> 4.303.2 Deploy-Scope: web
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.
The last way a card could disappear.
A card the board cannot place — a Studio-native one on a converted board, or any status no column accounts for — was rendered by nothing at all. Not misfiled, not hidden: absent.
It gets its own lane at the end now. Not hidden, and not re-filed under a column Studio picked: re-filing is a decision only the org can make, and hiding is exactly the invisibility this exists to prevent. The lane goes away when its last card leaves, the same way a column the tracker dropped does.
That is the third time the same answer has been right in this series:
ON DELETE RESTRICT)Whenever Studio would have to guess where someone's card belongs, showing it where it is beats moving it somewhere we chose.
Studio's own board accounts for every canonical status, so nothing is ever unplaced there and this cannot start inventing lanes.
How did you verify your code works?
Three cases in
config.test.ts, chosen as the bounds rather than the happy path:Fazendoplaced,triageanddonenot), asserting the unplaced ones land at the end and are not marked hideable, since hiding them is the failure mode;apps/web/src: 3054 pass / 114 fail against a baseline of 3051 / 114, measured by checking outorigin/main's tree, re-running, and restoring. Same failures, three more tests.bun run check0 errors,lintat baseline,knipclean.Not verified, flagging honestly:
assertBoardHasColumnrejects the write, so the card snaps back with an error toast. Dragging out — the thing you actually want — works. It is a rough edge I chose not to paper over by hiding the lane, since hiding is the bug; making those lanes drop-hostile in the DnD layer is the real fix and it is not here.Screenshots/Demonstration
Not captured. On every org today — all of them on Studio's board — the lane list is byte-identical to before.
How to Test
Migration Notes
None. Client-only, no schema or API change.
Review Checklist
Summary by cubic
Fixes the task board so cards with no matching column render in an unplaced lane at the end instead of disappearing.
Written for commit 7056dc8. Summary will update on new commits.