Repository navigation
fix(web): show a nested session's own group badge and allow moving it to a group - #347
Conversation
… to a group In Custom mode a subtree is placed by its root, so a child session renders under its parent in the parent's section. A child filed in another group had no visible sign of that group. A nested row now shows its own group chip when its normalised group id differs from its direct parent's (phaseSidebarNestedRowShowsCustomGroup, with unit tests). "Move to group" is offered on every row. The old gate (treeParentKey == null) hid it on orphaned top-level rows, whose parent is not rendered, not on nested rows as its comment said. AGENTS.md: Tushar's Manager session may merge a green, reviewed PR into stage by its own judgement and verify it on stagebkt3; bkmain still needs Tushar, asked once on the Manager's batched Toolyard decision card. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
In Custom mode, a row chip (Running shelf rows and nested rows filed in another group than their parent) now shows the group's registry label, the same spelling as the section header, and falls back to the row's own label. Other modes are unchanged. Adds helper tests for whitespace and case normalisation and for two rows with no group. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Thread transfer impact
This comment will update automatically after the next completed run. |
|
Manager merge to
|
Production evidence (2026-10-23, after the bkmain promotion #348)Verified with tools
Not verified visually
Remaining check (Tushar, about 2 minutes, on https://bkt3.dev.beknown.live)
|
|
Visual acceptance on production (supersedes the earlier note that no visual check was done): Tushar checked bkt3 after the cdf2769 deploy and selected "Both sidebar checks passed" (Toolyard rq_6d3dd26d11de4c28, 2026-10-24 09:46 UTC). Under Custom grouping, the nested children show their own group badge, and right-click on a nested row shows "Move to group". |
What changed
phaseSidebarCustomGroupIdForRow), so "Today" and "today" are the same group. A nested row in its parent's group, or with no group, shows no chip. Top-level rows keep the old behaviour. In Custom mode, the chip shows the group's registry label (the same spelling as the section header). Other modes are unchanged.treeParentKey == null.treeParentKeycomes fromnode.orphanedFrom, which is set only on top-level rows whose parent is not rendered. So the old gate hid the item on those orphaned rows, not on nested rows as its comment said. The new code removes the gate and updates the comment.AGENTS.mdmerge authority. Tushar's Manager session may merge a green, reviewed PR intostageby its own judgement, then verify it on stagebkt3.dev.beknown.live. A merge or promotion tobkmainstill needs Tushar. The Manager asks once, as one item on its batched Toolyard decision card, because abkmaindeploy restarts bkt3 and stops live sessions. Theexpbkmainpre-authorisation text stays.docs/user/thread-sidebar.mdexplains the nested chip.The decision is a small pure helper,
phaseSidebarNestedRowShowsCustomGroup, inapps/web/src/components/sidebar/PhaseGroupedSidebar.logic.ts, with unit tests. Scope is web and desktop (desktop shows the web UI). Mobile is out of scope.Why
Tushar's Manager session files the sessions it drives as children under itself (
t3_link_session). Each child keeps its own custom group, for example "Today". Tushar, 2026-10-23: "currently when a session is under a another group because its a child sesion of a parent belonging to the parent its now showing that small group things what you can do is create a small PR for bkt3 to enable this and make sure to follow this as it is".For
AGENTS.md, Tushar approved this rule on 2026-10-23: "the Manager merges a green PR to stage by its own judgement, after a check on stagebkt3. Each promotion to bkmain is one item on the batched Toolyard decision card, because it stops your live sessions. You then pick the time."How I tested
phaseSidebarNestedRowShowsCustomGroupcases), typecheck, lint and the fork-marker check.stage, check on stagebkt3.dev.beknown.live:🤖 Generated with Claude Code