Repository navigation
chore(deps): the bumps from Dependabot's #207, #206 and #11 that are shown safe, in tiers - #214
Merged
Merged
Conversation
…that have no surface of their own Tier 1, patch level: yaml 2.9.0 → 2.9.1, @shadcn/react 0.3.0 → 0.3.1, remark-cjk-friendly 2.3.1 → 2.3.2, drizzle-kit 0.31.10 → 0.31.11, drizzle-orm 0.45.2 → 0.45.3, hono 4.13.7 → 4.13.13, @tanstack/react-router 1.170.27 → 1.170.41, @tanstack/router-plugin 1.168.30 → 1.168.42, @biomejs/biome 2.5.11 → 2.5.15, @types/bun 1.4.0 → 1.4.2. Tier 2, minors of libraries this code only calls: @tabler/icons-react 3.46 → 3.48, @tanstack/react-query 5.101.4 → 5.104.1, tailwind-merge 3.6 → 3.7, zod 4.4.3 → 4.6.6, shadcn 4.17 → 4.21.1, knip 6.38 → 6.39, @types/node 26.2 → 26.6.4, @tauri-apps/cli 2.11.4 → 2.12.1. Why the lockfile is deduplicated by hand: `bun add` of a new version leaves the old one nested under every package that depended on it (`@modelcontextprotocol/sdk/hono: 4.13.7` beside the server's 4.13.13), and the two copies of hono then disagree on `Context` in the typecheck (`main.ts:1137`). Dependabot's lock has one copy; so does this one. Biome 2.5.15 reports the same two warnings as 2.5.11 on this tree and nothing new, so nothing is reformatted and it is not pinned back; the one thing it said was that `biome.json`'s `$schema` still named 2.5.11, so that line moves with it. Co-authored-by: LAF Agent <274876363+laf-agent@users.noreply.github.com>
…1.8, aimock 1.43 — shown live The tier with behaviour, from #207 and #206, each gated and then used in a browser: react and react-dom 19.2.8 → 19.3.0 (with @types/react, @types/react-dom), streamdown 2.5.0 → 2.7.0, @base-ui/react 1.7.0 → 1.8.0, @copilotkit/aimock 1.38.0 → 1.43.0. Streamdown 2.7.0 depends on remend 1.4.0 exactly and imports `INCOMPLETE_IMAGE_PLACEHOLDER` from it. The root `overrides` pinned remend to ^1.3.1 (2af08cb, so Korean emphasis closing against a particle is drawn as emphasis), and with that in force the lock keeps 1.3.1 for streamdown too — Dependabot's #207 has exactly that lock — and Vite refuses to start the app: `No matching export in ".../remend@1.3.1/..."`. The override moves to ^1.4.0, which still forbids what it was there to forbid. Streamdown 2.7 draws three zoom buttons on every diagram, so the renderer's word table gains `resetView`, `zoomIn` and `zoomOut` with their Korean — the table's type is the renderer's own list of words, so a word it gains is a type error here rather than an English label nobody noticed, which is what happened. Left out of this tier, each with its reason in the pull request: @happy-dom/global-registrator 20.14 (the app suite does not finish with it), @copilotkit/react-core and runtime 1.77 (needs a change in copilot.ts), better-auth 1.7 (sign-in source changes), eventsource 5 (would split the copy the MCP SDK requires from the one the entry preloads), @modelcontextprotocol/sdk 1.32 (walks same-origin redirects itself, past plugins/mcp.ts's refusal), prompt-area 0.7 (new peer package, IME rewrite), playwright 1.63 (the browser image's, #22). Co-authored-by: LAF Agent <274876363+laf-agent@users.noreply.github.com>
There was a problem hiding this comment.
🔆 CodeSolar review ✅ Looks good
Dependency bumps across the workspace, with source changes limited to markdown-words.ts (three zoom-button keys for streamdown 2.7), i18n-ko.ts (their Korean translations), and biome.json ($schema updated to 2.5.15). The root overrides remend bump from ^1.3.1 to ^1.4.0 resolves the streamdown 2.7 incompatibility. No issues visible in the diff.
✅ No issues worth flagging.
solar-pro4 (openrouter) · 7 files · +131/-122 · 119.6s · CodeSolar
Comment /codesolar on this PR to re-run the review.
yulmucoffee
added a commit
that referenced
this pull request
Oct 13, 2026
… left #214 and #219 ran each of these and left it out for a reason; without a line here the same pull requests come back every Monday. An ignore stops the weekly proposal, never a security update, and each line says what has to be true for it to come out. Co-authored-by: LAF Agent <274876363+laf-agent@users.noreply.github.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
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.
What this changes
The version bumps from Dependabot's #207 (production group), #206 (development group) and #11 (eventsource) that can be shown safe, in one branch, in tiers — each tier gated on its own so a failure names its package. Every package left out is listed below with the reason. Besides
package.jsonfiles andbun.lock, three source lines moved: the markdown renderer's word table gained the three words streamdown 2.7 draws on a diagram, with their Korean, andbiome.json's$schemanames the new biome.Dependabot's own branches fail CI: #207's typecheck (
copilot.ts:956, CopilotKit 1.77 changed theagentsoption's type) and build (genericOAuthClientis no longer exported by better-auth 1.7.7;authorizationUrlParamsis no longer a function), and #206's app tests (205 failures). Read fromgh run view --log-failedof runs 38175689937 and 38175493186. #207's lock also leaves streamdown 2.7.0 on remend 1.3.1, which the rootoverridespins, and streamdown 2.7.0 imports a name remend 1.3.1 does not export — the app does not even start (measured here before the override moved, see Proof).Contextin the typecheck,main.ts:1137)pretypecheckregenerates the route tree with it)biome lint .reports the same 2 warnings as before and nothing new;format:checkclean, nothing reformatted;biome.json's$schemamoved to 2.5.15 (the only thing 2.5.15 said)@shadcn/registrykeeps its own zod 3)@shadcn/registry)submitter, resize batching)markdown-words.tsgainsresetView·zoomIn·zoomOutwith Korean (a type error otherwise, by design)INCOMPLETE_IMAGE_PLACEHOLDERfrom it; the rootoverridespinned ^1.3.1 (2af08cb, Korean emphasis against a particle), and with it in force Vite refused to start the app. The override keeps its purpose (nothing below 1.3.1) at ^1.4.0; the Korean-emphasis tests of the app are in the gateagent-connection-live.test.tsis its one user; passes)account-copy.test.tsanddraft.test.ts, and a direct run of the app suite was still not done after 22 minutes; both killed. #206's CI shows the same suite with 205 failures. (bun resolved ^20.14.5 to 20.14.6; not bisected further)agent-computer/Dockerfile, which #22 bumpsserver/src/copilot.ts(theagentsfactory's type changed; #207's typecheck fails there), which this PR may not touch; a deliberate upgrade of its owngenericOAuthClientis gone frombetter-auth/client/plugins(#207's app build fails) andauthorizationUrlParamsis no longer a function (server/src/auth/index.ts:179); that is OAuth and sessions, which sign-in being off in dev cannot exerciseeventsourceonly sosrc/index.tsandscripts/test-preload.tscan evaluate the very copy the MCP SDK willrequire()before the boot race the comments there record. The SDK's range is^3.0.2, so bumping the server's to 5 splits them into two copies (#11's lock nestseventsource@3.0.7under the SDK) and the preload guards the wrong one — the race comes back and #11's green CI (one boot at a time) cannot see itfetch(its PR 2902);server/src/plugins/mcp.tssetsredirect: "manual"and refuses every 3xx with an audit row (laf:mcp_redirect_refused), so the new behaviour would walk a same-origin redirect past that refusal. A deliberate change to a security path, not a bumpcn(a new dependency), and 0.6.8 rewrites IME composition handling (Enter, keyCode 229, blur) — the Korean composer's path, which a headless check cannot type into. Not shown safe hereWhere it runs
No new state, listener, port or schedule.
Boundary and audit
No change to any acting call, refusal or record. The one bump that would have changed a boundary's behaviour (the MCP SDK's redirect handling) is left out for that reason.
Korean
Three new words, the diagram zoom buttons streamdown 2.7 draws: "Reset the zoom" · "Zoom in" · "Zoom out" → 원래 크기로 · 확대 · 축소, in
i18n-ko.tsbeside the other renderer words.t()(viaMARKDOWN_WORDS), Korean in the same change.markdown-words.test.tswalks the table. With the"Zoom in"Korean line deleted that test fails (every one of them has Korean: 3 pass, 1 fail); restored, 4 pass.The gate
Run on the final head (rebased on main at c5d4ab2) with
LAF_TEST_DB_SUFFIX=dp LAF_TEST_WORKERS=2, 2026-10-13 17:21–17:24 KST:bun run typecheck: every workspace exit 0.bunx biome lint .: 2 warnings and 1 info, the same as on main (server/tests/computer-browsers.test.ts:714andunattended-facts.test.ts:343noConfusingVoidType;agent-bot/tests/reasoning.test.ts:238useIndexOf — fixable, not touched), 0 new.bun run format:check: clean.bun run test:ci: server 4671 / floor 4630 · app 2663 / 2446 · agent-computer 656 / 620 · root 1749 / 1714, exit 0.Each tier was gated on its own before the next went in (tier 1+2 alone, before the rebase: 4671 · 2663 · 656 · 1747, exit 0; tier 3 before the rebase: the same).
Proof
Live, on this branch, a database of its own (
openbot_dplive, migrated with drizzle-kit 0.31.11), server on :3411, Vite on :3412, headless Chrome through Playwright:laf_thread_runs.cost_usd): "안녕! 한 줄로 자기소개 해줘." answered in one line; "사과, 배, 감을 표 하나와 번호 목록으로…" drew a table with 표 복사 · 표 내려받기 · 크게 보기 controls, a numbered list and bold; "오늘 날씨 어때?" drew the weather card (서울특별시 · 위치를 아직 몰라요, the week's forecast, 출처: 기상청). The reply text was watched every 500 ms until it stopped changing — it rendered past its first chunk and settled./settingsdrew. Zero page errors in the console across both scripts (one 404 for a resource the dev server does not serve).No matching export in "…/remend@1.3.1/…" for import "INCOMPLETE_IMAGE_PLACEHOLDER"fromstreamdown@2.7.0/dist/chunk-D32TOXHM.jsand the page did not load (HTTP 000). After: 200 and everything above.🤖 Generated with Claude Code