Skip to content

fix(subspace): leave hidden phases out of the Post Index - #10533

Open
valentinyanakiev wants to merge 1 commit into
developfrom
fix/10069-bug-on-subspace-level-when-a-pha
Open

valentinyanakiev wants to merge 1 commit into
developfrom
fix/10069-bug-on-subspace-level-when-a-pha

Conversation

@valentinyanakiev

@valentinyanakiev valentinyanakiev commented Nov 2, 2026 •

Copy link
Copy Markdown
Member

Fixes #10069

Summary

On a subspace, a phase hidden in Settings → Layout disappeared from the tab strip, but its posts still showed up in the Post Index dialog, grouped under the hidden phase's name at the end. Now the Post Index shows only the visible phases, in the same order as the tab strip.

Root cause

CrdSubspaceIndexDialogConnector grouped every callout in the calloutsSet by its flow state. It used the visible phase names (useCrdSubspace.ts filters them with filterVisibleStates) only to sort those groups, so it never dropped the groups whose state is not visible.

Fix

src/main/crdPages/subspace/dialogs/CrdSubspaceIndexDialogConnector.tsx now builds the groups from phaseNames, the visible phases in innovation-flow order. Each group collects its callouts sorted by sortOrder, and empty groups are dropped. Callouts in a hidden phase are left out, and so are callouts whose state is not in the tab strip at all: a stale state or no flow state, which used to fall into a trailing '—' group. That makes the index match the tabs exactly.

Tests

New src/main/crdPages/subspace/dialogs/CrdSubspaceIndexDialogConnector.test.tsx mocks useCalloutsSet with callouts in a hidden phase and in two visible phases (listed out of order). It asserts that the hidden phase heading and its post are absent, and that the visible phases render in flow order with their posts. Before the fix it failed because the 'Hidden phase' heading was rendered; after the fix it passes.

Verification

  • pnpm vitest run on the new test before the fix: failed ('Hidden phase' heading rendered)
  • pnpm vitest run src/main/crdPages/subspace: 7 files / 36 tests passed
  • pnpm run typecheck:native: passed
  • biome ci on both touched files: clean; eslint on src/main/crdPages/subspace/dialogs: clean
  • biome ci over the whole repo still reports errors, all in files this change does not touch (e.g. src/core/ui/icon/SvgIcon.tsx, src/core/utils/csv/csvExport.ts), so they were there before
  • full pnpm vitest run: 5703 passed, 7 failed in 4 files that have nothing to do with this change (CallOverlayHost, CrdOrgSettingsRoutes, VCProfileTabView, SignUpCrdRoute.suspense). Each failure took about 1s, which looks like a timeout under load, and the failing set differed between two runs. Those 4 files rerun on their own: 50/50 passed

Commits

  • e26b9b3 fix(subspace): leave hidden phases out of the Post Index

Delivered by Brokkr run land-the-client-web-slice-of-wor-c7ef9d6e: Claude implements, the repository's own gates verify offline, and Codex judges. CodeRabbit findings are answered by the run's watch loop.

🤖 Generated with Claude Code

@coderabbitai

coderabbitai Bot commented Nov 2, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

Important

Review skipped

Review was skipped as selected files did not have any reviewable changes.

Run configuration
Commits

Reviewing files that changed from the base of the PR and between d45fa26 and e26b9b3.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • Trigger review

No actionable comments were generated in the recent review.

Walkthrough

The subspace post index now groups callouts by the visible flow states in phaseNames. It omits callouts without a matching visible state and retains sorting within each phase. A connector test checks the visible headings and posts.

Changes

Subspace post index

Layer / File(s) Summary
Visible phase grouping
src/main/crdPages/subspace/dialogs/CrdSubspaceIndexDialogConnector.tsx, src/main/crdPages/subspace/dialogs/CrdSubspaceIndexDialogConnector.test.tsx
The connector groups callouts by phaseNames, sorts them by sortOrder, and omits empty groups. Callouts without a matching visible flow state are excluded. The test checks that hidden phases and their posts do not appear, and that visible headings follow phaseNames order.

Estimated code review effort: 2 (Simple) | ~10 minutes

Suggested reviewers: techsmyth

Merge Risk: Minimal · previous review d45fa

The index now excludes hidden phases in line with the visible tabs. No actionable merge-blocking risk was identified.

Pre-merge checks: Passed 4 · Failed 1

Failed Failed checks: 1 warning

Check name Status Explanation Resolution
Docstring Coverage Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentat… Write docstrings for the functions missing them to satisfy the coverage threshold.
Passed Passed checks: 4 passed
Check name Status Explanation
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check Passed The title clearly and concisely describes the main change: excluding hidden phases from the subspace Post Index.
Linked Issues check Passed Issue [#10069] requires hidden phases to be absent from the subspace Post Index. The connector now creates groups only from phaseNames, which represents the visible tab-strip phases, and filters cal…
Out of Scope Changes check Passed The changes are limited to the Post Index connector and a focused regression test. Filtering stale or missing flow states and dropping empty groups supports the same requirement that the index matches…
Full details: Linked Issues check

Explanation

Issue [#10069] requires hidden phases to be absent from the subspace Post Index. The connector now creates groups only from phaseNames, which represents the visible tab-strip phases, and filters callouts by each visible state. The added test verifies that the hidden phase heading and post are absent. It also verifies visible phase order.

Full details: Out of Scope Changes check

Explanation

The changes are limited to the Post Index connector and a focused regression test. Filtering stale or missing flow states and dropping empty groups supports the same requirement that the index matches the visible phase tabs. No unrelated product behavior is changed.

Full details: Docstring Coverage

Explanation

Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentation-only edits and deletions within surviving functions are included; unchanged diff context and fully deleted functions are excluded. Analyzed 1 functions across 2 files.

Resolution

Write docstrings for the functions missing them to satisfy the coverage threshold.

Finishing Touches
Generate docstrings
  • Commit to this branch
  • Create a new PR
Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

CodeRabbit Verify

  • Run CodeRabbit Verify to test the changes in this pull request.
Recent review info
Run configuration
Commits

Reviewing files that changed from the base of the PR and between 44d90b7 and d45fa26.

Files selected for processing: 2
  • src/main/crdPages/subspace/dialogs/CrdSubspaceIndexDialogConnector.test.tsx
  • src/main/crdPages/subspace/dialogs/CrdSubspaceIndexDialogConnector.tsx

Included review availability: This review used your included allowance. 3 included reviews remain after this review. Your included PR review attempts over the past 7 days set your current allowance at 5 reviews per hour.

The index grouped every callout in the calloutsSet by flow state and only
sorted the groups by the visible phase names, so a hidden phase's posts
still trailed at the end. Build the groups from the visible phases instead.

Refs #10069

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@valentinyanakiev
valentinyanakiev force-pushed the fix/10069-bug-on-subspace-level-when-a-pha branch from d45fa26 to e26b9b3 Compare November 3, 2026 09:01
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.

BUG: On Subspace level, when a phase is hidden, it is still displayed on Post index

1 participant