Skip to content

feat(lineage): make Columns the default tab in NodeView#1382

Merged
wcchang1115 merged 4 commits into
mainfrom
feature/drc-3468-default-tab-in-nodeview-should-columns-be-the-landing-tab
May 20, 2026
Merged

feat(lineage): make Columns the default tab in NodeView#1382
wcchang1115 merged 4 commits into
mainfrom
feature/drc-3468-default-tab-in-nodeview-should-columns-be-the-landing-tab

Conversation

@wcchang1115
Copy link
Copy Markdown
Collaborator

@wcchang1115 wcchang1115 commented May 19, 2026

PR checklist

  • Ensure you have added or ran the appropriate tests for your PR.
  • DCO signed

What type of PR is this?

UI tweak / small refactor.

What this PR does / why we need it:

Reorders the tabs in NodeView from Lineage → Columns → Code to Columns → Code → Lineage, and makes Columns the default landing tab.

Rationale (from DRC-3468): users most commonly open a node panel to understand what changed (the Columns view). Defaulting to Lineage adds a click for the most common task.

Implementation: columnsTabIndex is now always 0, so the existing useState(0) initializer naturally lands on Columns. lineageTabIndex shifts to 2 when lineageTabContent is provided, otherwise the Lineage tab is not rendered.

Which issue(s) this PR fixes:

Special notes for your reviewer:

  • No test changes: existing NodeView.test.tsx cases don't pass lineageTabContent, so they exercise the Columns=0 branch — identical behavior before and after.
  • Verified with pnpm lint:fix, pnpm type:check, and the full pnpm test suite (3708 passed).

Does this PR introduce a user-facing change?:

```release-note
Columns is now the default tab in the node detail panel. New tab order: Columns → Code → Lineage.
```

wcchang1115 and others added 3 commits May 19, 2026 18:05
Columns is the most common landing target when inspecting a node, so make
it the default tab instead of Lineage. Lineage moves to the third tab
(only rendered when lineageTabContent is provided).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Signed-off-by: Wei-Chun, Chang <wcchang@infuseai.io>
The TSDoc on `lineageTabContent` still claimed "Lineage appears as the
FIRST tab" after 676f3fd flipped the order to Columns → Code → Lineage.
Updated to reflect the actual rendering (LAST tab) and the new default
landing behavior (Columns).

Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Wei-Chun, Chang <wcchang@infuseai.io>
…s set

Existing NodeView tests only exercised the 2-tab branch (no
lineageTabContent), so the new "Columns is default landing tab even when
Lineage exists" behavior had no assertion guarding it. A regression that
re-inverted the tab indices would have passed the suite.

Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Wei-Chun, Chang <wcchang@infuseai.io>
@wcchang1115 wcchang1115 force-pushed the feature/drc-3468-default-tab-in-nodeview-should-columns-be-the-landing-tab branch from 6a48d8f to 1e0cc3a Compare May 19, 2026 10:39
@wcchang1115 wcchang1115 marked this pull request as ready for review May 19, 2026 10:43
Copy link
Copy Markdown
Contributor

@danyelf danyelf left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Elegantly simple. ⛵

@wcchang1115 wcchang1115 merged commit fd8b784 into main May 20, 2026
7 checks passed
@wcchang1115 wcchang1115 deleted the feature/drc-3468-default-tab-in-nodeview-should-columns-be-the-landing-tab branch May 20, 2026 01:51
gcko added a commit that referenced this pull request May 28, 2026
The sister recce-cloud-infra repo has now been bitten twice (PRs #1333,
#1376, #1382) by Dependabot consolidations silently re-bumping a
deliberate @biomejs/biome pin past a known Mac arm64 stack-overflow bug
in 2.4.12 through 2.4.15. The js/biome.json in this repo does not
currently enable the affected nursery rules (noFloatingPromises,
noMisusedPromises, noUnnecessaryConditions), so the bug has not bitten
here yet, but the same consolidation pattern applies, and silent bumps
are easy to miss in lockfile-heavy PRs.

Add a pre-commit guard that reads the staged content of js/package.json,
checks the @biomejs/biome version against an EXPECTED_BIOME constant
(currently 2.4.15, the version this repo runs on today), and blocks the
commit on a mismatch with a clear remediation message. Override with
ALLOW_BIOME_BUMP=1 after verifying biome runs cleanly on macOS arm64
with the nursery rules enabled.

No biome version change here, only the guard. When biome is deliberately
bumped, update EXPECTED_BIOME in this hook in the same commit.

Signed-off-by: Jared Scott <jared.scott@datarecce.io>
even-wei pushed a commit that referenced this pull request May 28, 2026
…1404)

* chore(husky): add pre-commit guard for pinned @biomejs/biome version

The sister recce-cloud-infra repo has now been bitten twice (PRs #1333,
#1376, #1382) by Dependabot consolidations silently re-bumping a
deliberate @biomejs/biome pin past a known Mac arm64 stack-overflow bug
in 2.4.12 through 2.4.15. The js/biome.json in this repo does not
currently enable the affected nursery rules (noFloatingPromises,
noMisusedPromises, noUnnecessaryConditions), so the bug has not bitten
here yet, but the same consolidation pattern applies, and silent bumps
are easy to miss in lockfile-heavy PRs.

Add a pre-commit guard that reads the staged content of js/package.json,
checks the @biomejs/biome version against an EXPECTED_BIOME constant
(currently 2.4.15, the version this repo runs on today), and blocks the
commit on a mismatch with a clear remediation message. Override with
ALLOW_BIOME_BUMP=1 after verifying biome runs cleanly on macOS arm64
with the nursery rules enabled.

No biome version change here, only the guard. When biome is deliberately
bumped, update EXPECTED_BIOME in this hook in the same commit.

Signed-off-by: Jared Scott <jared.scott@datarecce.io>

* chore(husky): address PR #1404 review — fix infra PR refs, harden biome extraction

- Correct sister-repo PR references: #1376#1374 on lines 13 and 66.
  (#1376 is an unrelated docs PR; #1374 is the actual Dependabot
  consolidation re-bump.) Spotted by Copilot and @even-wei.
- Harden the staged-version extraction (Copilot, @even-wei Note 1):
  add `head -1` so a future second `"@biomejs/biome":` occurrence
  (e.g., a pnpm.overrides entry) doesn't yield multi-line output, and
  fail-loud when extraction is empty so a package.json reformat or
  intentional dep removal can no longer silently disable the guard.
  `ALLOW_BIOME_BUMP=1` still overrides both the mismatch and the
  empty-extraction paths.
- Align `--diff-filter=ACM` with the existing JS lint detector below
  for consistency (@even-wei Note 2).

Verified locally via index-blob swap on macOS arm64:
  1. 2.4.99 staged, no override → exit 1, updated error cites #1374
  2. 2.4.99 staged + ALLOW_BIOME_BUMP=1 → exit 0
  3. 2.4.15 staged (current) → exit 0
  4. @biomejs/biome key removed → exit 1, "Could not extract" message
  5. @biomejs/biome key removed + ALLOW_BIOME_BUMP=1 → exit 0
`bash -n` clean; `shellcheck -S warning` silent on the guard block.

Signed-off-by: Jared Scott <jared.scott@reccehq.com>
Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Jared Scott <jared.scott@datarecce.io>

---------

Signed-off-by: Jared Scott <jared.scott@datarecce.io>
Signed-off-by: Jared Scott <jared.scott@reccehq.com>
Co-authored-by: Claude <noreply@anthropic.com>
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.

2 participants