Skip to content

feat: define paused member card behavior - #586

Open
bionicman wants to merge 2 commits into
kanbn:mainfrom
habralab:feat/paused-member-card-behavior-pr
Open

bionicman wants to merge 2 commits into
kanbn:mainfrom
habralab:feat/paused-member-card-behavior-pr

Conversation

@bionicman

@bionicman bionicman commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

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:

  • paused members cannot be newly assigned or mentioned;
  • existing assignments survive and can still be removed;
  • selected paused assignees remain visible with a Paused label and muted
    avatar;
  • board filters retain paused members only while they are assigned somewhere on
    that board, place them after current members, and identify their status;
  • comment attribution remains readable and gains a compact status label;
  • reactivation restores normal eligibility without changing historical data;
  • invited keeps 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

  • Bug fix
  • Feature (requires an approved issue — see below)
  • Refactor / chore
  • Documentation

Checklist

  • I have linked the related issue below
  • My code follows the existing style and conventions
  • I have tested my changes locally
  • I have included screenshots for any UI changes

Testing

  • pnpm --filter @kan/api exec vitest run src/routers/card-members.test.ts
  • pnpm --filter @kan/web exec vitest run src/views/board/memberFilters.test.ts
  • pnpm --filter @kan/db typecheck
  • pnpm --filter @kan/api exec tsc --noEmit --jsx preserve

Linked 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

Card member selector, light

Card member selector, dark

Board member filter

Board member filter, light

Board member filter, dark

@bionicman
bionicman force-pushed the feat/paused-member-card-behavior-pr branch 2 times, most recently from f712e6a to ffaa070 Compare September 9, 2026 23:47
bionicman added a commit to habralab/kan that referenced this pull request Sep 10, 2026
Import the reviewed paused-member assignment, display, and board-filter policy as one downstream layer.

Downstream-Source-Branch: feat/paused-member-card-behavior-pr

Downstream-Source-Base: 630a4dc

Downstream-Source-Tip: f712e6a

Upstream-PR: kanbn#586
@bionicman
bionicman force-pushed the feat/paused-member-card-behavior-pr branch from ffaa070 to eecc70b Compare September 10, 2026 12:44
bionicman added a commit to habralab/kan that referenced this pull request Sep 15, 2026
Import the reviewed paused-member assignment, display, and board-filter policy as one downstream layer.

Downstream-Source-Branch: feat/paused-member-card-behavior-pr

Downstream-Source-Base: 630a4dc

Downstream-Source-Tip: f712e6a

Upstream-PR: kanbn#586
bionicman added a commit to habralab/kan that referenced this pull request Sep 15, 2026
Import the reviewed paused-member assignment, display, and board-filter policy as one downstream layer.

Downstream-Source-Branch: feat/paused-member-card-behavior-pr

Downstream-Source-Base: 630a4dc

Downstream-Source-Tip: f712e6a

Upstream-PR: kanbn#586
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Define paused-member behavior for card assignments and historical content

1 participant