You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
fix(subspace): leave hidden phases out of the Post Index - #10533
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.
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.
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.
The index now excludes hidden phases in line with the visible tabs. No actionable merge-blocking risk was identified.
Pre-merge checks: 4 · 1
Failed checks: 1 warning
Check name
Status
Explanation
Resolution
Docstring Coverage
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 checks: 4 passed
Check name
Status
Explanation
Description Check
Check skipped - CodeRabbit’s high-level summary is enabled.
Title check
The title clearly and concisely describes the main change: excluding hidden phases from the subspace Post Index.
Linked Issues check
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
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.
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>
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
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.
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
Commits
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