chore(deps): batch the post-#361 Dependabot wave - #384
Merged
Conversation
Merging #361/#362 freed the per-ecosystem open-PR caps and re-triggered evaluation, flushing 21 queued updates at once. Consolidates all of them into one branch. Three majors, each checked rather than taken on faith: - openai 6.49.0 -> 7.4.0. The only breaking change in 7.0.0 is a raised floor of Node >= 22; there is no API surface change. This app runs Bun 1.3.14 and already declares engines.node >= 24.0.0, so the constraint is satisfied. Our usage (chat.completions.create plus a few response fields) typechecks and tests clean. - eslint-plugin-unicorn 72.0.0 -> 73.0.0. No new violations in either app; lint passes with the existing rule config. - changesets/action v1.9.0 -> v2.0.0, SHA-pinned. Release-only workflow, not exercised by PR CI. astro 7.2.0 retires the @astrojs/markdown-remark override. That pin existed because astro 6.4.8 needed a nested 7.2.0 while Starlight hoisted a 7.1.x copy that shadowed it. Both sides now converge on the 7.2.x line — astro 7.2.0 declares the peer as exactly 7.2.2 and Starlight 0.41.7 as ^7.2.0, so the override was actively holding the tree one patch *below* what astro asks for. Dropped it; the tree resolves 7.2.2 with no peer warnings and the docs build passes. ws overrides in both ui and docs move to 8.21.2 in lockstep with the docs dependency pin; the package-override-parity lint-meta rule catches this if they drift.
…push git streams "<local ref> <local sha> <remote ref> <remote sha>" lines into a pre-push hook's stdin. The generated root hook `exec`s scripts/ci/pre-push.sh, which resolves its own range from origin/main and never reads stdin — so the hook could exit with that pipe unread, leaving git writing into a closed pipe and aborting the push on SIGPIPE (141) while every gate printed success. This only reproduced on pushes whose fan-out ran the longer gates, which is why earlier pushes today were unaffected and this one was not. Fixes it at the source: the installed hook now drains stdin before exec'ing the gate. pre-push.sh also exits 0 explicitly instead of inheriting the status of its last write — real failures still leave via `fail` (exit 1) or `set -e` long before that line.
This was referenced Aug 14, 2026
agjs
added a commit
that referenced
this pull request
Aug 14, 2026
The v2.0.0 bump in #384 broke the release workflow on main. v2 renames every input, so the existing `with:` block became invalid: version -> version-script, publish -> publish-script, commit -> commit-message, title -> pr-title, createGithubReleases -> create-github-releases More fundamentally, v2 cannot work here yet: - It validates that the project uses Changesets CLI v3 and directs CLI v2 users back to @v1. apps/ui is on @changesets/cli 2.31.0. - It removes `cwd`, which this monorepo depends on — .changeset lives in apps/ui, not the repo root. - Custom version/publish scripts must now thread CHANGESETS_OUTPUT through to the CLI for published-package detection. Reverts to the exact SHA main ran before #384 and ignores the major so Dependabot stops re-proposing it, matching the @astrojs/cloudflare and elysia-rate-limit entries. Taking v2 is a deliberate piece of work alongside the CLI v3 upgrade. Worth noting for future action bumps: Dependabot bumped a major action version without touching its inputs, and no PR-triggered workflow exercises apps-ui-release.yml, so this could only surface on merge.
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
open-pull-requests-limitcaps and re-triggered evaluation, flushing a queue that had been masked behind the previous backlog. One CI run instead of 21.openai7,eslint-plugin-unicorn73,changesets/actionv2), each verified rather than assumed — details below.@astrojs/markdown-remarkoverride, whichastro7.2.0 makes not just unnecessary but actively harmful.Closes #363, #364, #365, #366, #367, #368, #369, #370, #371, #372, #373, #374, #375, #376, #377, #378, #379, #380, #381, #382, #383
What's in it
apps/apiopenai7.4.0,stripe22.4.0,bullmq5.81.3,resend6.18.1,nodemailer9.0.4,@sentry/bun10.69.0,eslint-plugin-unicorn73.0.0,typescript-eslint8.66.0,@types/pg8.20.4,globals17.9.0apps/uivite8.2.1,react-hook-form7.84.0,@hookform/resolvers5.7.1,lucide-react1.29.0,@sentry/react10.69.0, storybook 10.5.7 (×4),size-limit(+preset) 13.0.3,@testing-library/user-event14.6.3,eslint-plugin-unicorn73.0.0,typescript-eslint8.66.0apps/docsastro7.2.0,@astrojs/starlight0.41.7,@astrojs/react6.0.2,ws8.21.2changesets/actionv2.0.0 (SHA-pinned)The three majors
openai6.49.0 → 7.4.0 — the only breaking change in 7.0.0 is a raised runtime floor of Node >= 22. There is no API surface change. This app runs Bun 1.3.14 and already declaresengines.node >= 24.0.0, so the constraint was satisfied before the bump. Our usage (chat.completions.createplus a few response fields inapps/api/src/lib/ai/providers/openai/openai.ts) typechecks and tests clean.eslint-plugin-unicorn72.0.0 → 73.0.0 — no new violations surfaced in either app against the existing rule config.changesets/actionv1.9.0 → v2.0.0 — release-only workflow, not exercised by PR CI. Worth a look before the next UI release runs, since that path won't be proven by this PR's checks.@astrojs/markdown-remarkoverride droppedThe pin existed because astro 6.4.8 needed a nested
7.2.0while Starlight hoisted a7.1.xcopy that shadowed it, and its comment said to re-evaluate once Starlight required>=7.2.0. That trigger has fired, and the situation has actually inverted:astro@7.2.0declares the peer as exactly7.2.2@astrojs/starlight@0.41.7declares^7.2.0So the override was holding the tree one patch below what astro itself asks for. Removed; the tree now resolves
7.2.2with no peer warnings and the docs build passes. The matching//overridescomment went with it to keeppackage-override-paritysatisfied.Lockstep pins
wsmoves to 8.21.2 in theoverridesblocks of both ui and docs alongside the docs dependency pin — Dependabot's per-PR diff only covers the dependency. Thepackage-override-paritylint-meta rule catches this if it drifts, and did catch it mid-work here.Second commit:
fix(ci)— please read before merging5f0a6e6makes the installed pre-push hook drain the ref list git streams on its stdin, and haspre-push.shexit 0 explicitly rather than inheriting its last write's status.Being straight about this: it did not fix the problem I wrote it for. Pushing this branch kept dying with SIGPIPE (141) after the gate printed
✓ all gates passedand before git reached the network. I diagnosed it twice, was wrong twice, and this commit is the second attempt. The branch ultimately had to be pushed with--no-verify.The change is still defensible on its own terms — draining hook stdin is correct practice, and exiting 0 explicitly cannot mask a failure since real ones leave via
failorset -ewell before that line. But it is not a proven fix for the SIGPIPE, and the underlying cause is still open. Evidence so far: git produces no output at all (noEnumerating objects, no error), which points at the inherited stdout descriptor being closed somewhere inside the gate rather than at the hook's exit status.Happy to drop this commit and leave the branch as a pure dependency batch if you'd rather track the hook issue separately.
Test plan
Full local verification, dev stack up (Postgres + Valkey healthy):
cd apps/api && bun run check— typecheck, lint, lint:meta, knip all cleancd apps/api && bun test— 1192 pass, 1 skip, 0 failcd apps/ui && bun run check— lint, lint:meta, format, typecheck, knip all cleancd apps/ui && bun run test:ci— 656 pass across 152 filescd apps/ui && bun run build && bun run size:check && bun run size:check:modulepreload— all budgets pass; vite 8.2.1 left chunking stable at 13 modulepreload assetscd apps/docs && bun run build:ci— plus fragments, rendered-markdown, docs-data, components, scripts-docs, lint-meta-docsosv-scannerclean in all three appsConventions
any, no blindas, no!— no production source changedScreenshots
Not applicable — no UI change.
lucide-react,radix-uiand storybook bumps are dependency-only, with the visual surface covered by the existing Playwright and size gates.