chore(deps): group the node-datachannel family in Renovate and update it to v0.33.4 - #642
Conversation
Deploying mouseterm with
|
| Latest commit: |
cddbfd6
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://c37eb8b8.mouseterm.pages.dev |
| Branch Preview URL: | https://daily-review-runs-3485546447.mouseterm.pages.dev |
dormouse-bot
left a comment
There was a problem hiding this comment.
Feedback on work in progress — the config change itself is correct, and this isn't a merge verdict. Mark the PR ready when you want the full review.
The grouping fixes the throw, but it does not make the family green on its own, and the description reads as though it does ("None of the seven can go green alone, and the set will not even out until all of them land together"). website/src/data/dependencies-npm.json carries a version field for all seven packages, and nothing regenerates it on a Renovate branch — the Dependency disclosure is current step in ci.yml runs the generator and fails on any diff under website/src/data/. So the single grouped 0.33.4 PR arrives red too, just for the stale-snapshot reason rather than the throw. The difference that matters is that a grouped PR is fixable with one node website/scripts/generate-deps.js commit, where a split one throws before it can produce a snapshot at all — that's the payoff worth stating, rather than "the set evens out."
Worth saying in the PR body, and arguably in the rule's description too, so the next session that picks up the grouped PR knows a regeneration commit is expected rather than treating the red as a regression in the grouping.
f0ceacf to
aa3a52b
Compare
Lands the whole 0.33.2 -> 0.33.4 bump in one commit: the core package plus all six prebuilt platform packages the sidecar declares beside it, the lockfile, and the regenerated dependency disclosure. Renovate split this round into seven PRs (#637, #639, #640, #643, #644, #645, #647) and every one of them is red on its own, because website/scripts/generate-deps.js requires the declared siblings to sit at the same version. The renovate.json group in the previous commit prevents the next round from splitting; this commit clears the current one. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HHoyvmFzcmMyFbsTSp8FmL
aa3a52b to
8c6d3f4
Compare
…sclosure commit Renovate never runs website/scripts/generate-deps.js, so the grouped PR arrives with a stale website/src/data/dependencies-npm.json and a red `Dependency disclosure is current` step — one commit to clear, where a split bump throws before it can produce a snapshot at all. Without the note the next session reads that red as the grouping not working. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HHoyvmFzcmMyFbsTSp8FmL
|
Good catch, and it survived the rewrite — taken in You were right that the grouping alone does not make the family green: Renovate never runs The PR itself has also grown past the config change: it now carries the 0.33.2 → 0.33.4 bump for all seven packages, the lockfile, and the regenerated disclosure, so the currently-open round is cleared rather than left for a future grouped PR. #637, #639, #640, #643, #644, #645, and #647 close as duplicates of it. |
dormouse-bot
left a comment
There was a problem hiding this comment.
Feedback on work in progress, not a merge verdict — mark it ready when you want the full one.
The mechanics check out: the lockfile diff is version-only (no new transitive packages), the regenerated snapshot is what generate-deps.js produces for the six root-declared prebuilds plus core, and the new rule mirrors the five existing lockstep groups.
One correction to the reasoning both the PR body and the rule's description carry: the seven split PRs do not all fail the same way. The six prebuild PRs throw, as described — but #647, the core-only bump, does not. Its Build & Test fails on the stale-snapshot diff, because core is a plain dependency that installs fine and the six root-declared prebuilds still describe each other at 0.33.2.
What that run prints is the better argument for keeping core in the group than "ships a prebuild nothing loads", because it is observable rather than inferred: the snapshot generate-deps.js wants to write there lists every prebuild at "0.33.2, 0.33.4" — the host's prebuild resolves twice, once from the root pin and once nested under the new core, and the five absent siblings inherit that two-version set through the sibling-description path. So a core-only bump is not blocked at all; it is one commit from landing a disclosure that states the nested-vs-root split as fact on the public supply-chain page. The group rule is what prevents that, not the generator.
Suggestion inline on the description; the PR body's "Why the split PRs are all red" section needs the same split.
…he throw A prebuild-only bump throws, because no declared sibling sits at the new version. A core-only bump does not: it installs cleanly, the prebuild then resolves twice — once from the root pin, once nested under the new core — and the regenerated disclosure lists every prebuild at both versions, as #647's `Build & Test` shows ("version": "0.33.2, 0.33.4" on all six rows). The description covered only the first half. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HHoyvmFzcmMyFbsTSp8FmL
Lands the
node-datachannel0.33.2 → 0.33.4 round as one PR, and stops the next round from splitting the same way.Why the split PRs are all red — in two different ways
Renovate splits every
node-datachannelrelease into seven PRs — one per prebuilt platform package plus the core package — and each one is red on its own.website/scripts/generate-deps.jsdescribes the five platforms pnpm did not install from whichever sibling it did, matching on the exact version string; that is the "optional, declared by a product root" rule indocs/specs/security-supply-chain.md-> Disclosure. The six prebuild-only PRs make it throw, so theDependency disclosure is currentstep inci.ymlfails before it writes anything:The core-only PR (#647) fails differently: core installs cleanly and brings its own
optionalDependenciesat the new version, so each prebuild resolves twice — once from the root pin, once nested under the new core — and the regenerated snapshot carries both, which the step then rejects as a diff:Either way none of the seven can go green alone, and the set does not even out until all of them land together.
What this PR does
chore(renovate): bump the node-datachannel prebuild family as one groupadds the lockstep group the family needs, in the same shape as the five that already exist for react, react-router, tailwindcss, storybook, vite, and xterm. Renovate runs Mondays (* * * * 1), so from the next run the family arrives as a single grouped PR. That grouped PR will still be red on arrival — Renovate does not run the disclosure generator, sowebsite/src/data/dependencies-npm.jsonis stale until someone commitsnode website/scripts/generate-deps.js. The payoff of grouping is that this is one commit to clear, where a split bump throws before it can produce a snapshot at all. The rule'sdescriptionsays so, so the next session does not read that red as the grouping failing.chore(deps): update the node-datachannel family to v0.33.4clears the round that is already open: core plus all six prebuilds instandalone/sidecar/package.json, the lockfile, and the regeneratedwebsite/src/data/dependencies-npm.json.The core
node-datachannelpackage is in the group deliberately, not just the@node-datachannel/*prebuilds. It declares its ownoptionalDependenciesat its own version, and the addon resolves its platform binary relative to its own directory — so bumping the six platform packages while core stays at 0.33.2 leaves the nested 0.33.2 binary loading and ships the sidecar-root 0.33.4 copy unused. The upstream fix the bump is for would not reach the runtime.Supersedes
Closing as duplicates of this one: #637, #639, #640, #643, #644, #645, #647.
Why the renovate.json change was opened here rather than in a review
Three separate
tend-reviewsessions reached this same conclusion independently — on #637, #639, and #640 — each wrote out the rule, and each declined to open it because two sibling sessions were looking at the same family at the same moment. The daily run census is where those three views meet, so this is the consolidation rather than a fourth independent derivation.Verified rather than assumed:
optionalSiblingsAtSameVersioninwebsite/scripts/generate-deps.jsis the sibling-at-same-version rule and throws otherwise; all seven split PRs reportBuild & Test: FAILURE;.github/renovate.jsonparses after the edit.pnpm testpasses locally on this branch (threestandalone/sidecarshell-integration cases fail identically onmainon this machine — macOS's Terminal session-restore banner leaks into capturedbashoutput — and pass on the CI runner).🤖 Generated with Claude Code
https://claude.ai/code/session_01HHoyvmFzcmMyFbsTSp8FmL