Conversation
bionicman
force-pushed
the
feat/paused-member-card-behavior-pr
branch
2 times, most recently
from
September 9, 2026 23:47
f712e6a to
ffaa070
Compare
bionicman
force-pushed
the
feat/paused-member-card-behavior-pr
branch
from
September 10, 2026 12:44
ffaa070 to
eecc70b
Compare
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.
Description
Paused workspace members currently remain available for new card assignments
and mentions, with no indication that they are paused. Hiding them everywhere
would create the opposite problem: existing ownership and historical comments
would become difficult to understand.
This change treats pause as an eligibility state rather than a history rewrite:
Pausedlabel and mutedavatar;
that board, place them after current members, and identify their status;
invitedkeeps its existing behavior and is not treated as paused.The API enforces assignment eligibility so non-UI clients cannot bypass it.
Member status is included in existing card and board payloads; the UI does not
add per-comment or per-avatar requests.
Type of change
Checklist
Testing
pnpm --filter @kan/api exec vitest run src/routers/card-members.test.tspnpm --filter @kan/web exec vitest run src/views/board/memberFilters.test.tspnpm --filter @kan/db typecheckpnpm --filter @kan/api exec tsc --noEmit --jsx preserveLinked issue
Closes #575.
The workspace-scoping prerequisite was merged separately in #576.
The unit-test mock correction required by the description-normalization
baseline was merged in #585. This branch is now rebased onto that fixed
baseline.
Screenshots
The screenshots use a synthetic Middle-earth workspace. Boromir is a retained
historical assignee after being paused; Faramir is the active assignee taking
over the work.
Card member selector and historical comments
Board member filter