chore: update dependencies, Rust crates and CI action pins - #215
Merged
Merged
Conversation
Bumps every workspace and catalog entry to the latest release that passes the min-release-age filter. Notable: - elysia 1.4.30 fixes a critical RCE (GHSA-gmm9-qwx3-2m3h) in schema compilation - better-auth and @better-auth/passkey 1.7.3: no database migration, but two type changes in apps/api/src/utils/auth.ts - zod 4.5.4 is required by better-auth 1.7.3 - daisyui 5.7.28, @schedule-x/* 4.8.0 and @lucide/vue 1.43.0 need visual QA - @antfu/eslint-config 9.5.1 needs eslint-plugin-perfectionist >= 5.10.1 - rollup-plugin-bundle-stats 4.22.3 needs vite >= 8.2.2 Held back: - typescript stays on 6.0.3: vue-tsc and typescript-eslint cannot run on TypeScript 7, which ships no programmatic API - temporal-polyfill stays on 0.3.2, pinned by @schedule-x/calendar
Refreshes Cargo.lock and raises the pinned floors for tauri-plugin-opener (2.5.5) and tauri-plugin-single-instance (2.4.4), keeping the Rust crates in lockstep with the JS plugin packages. setup-node v7 moves the action to ESM and drops a dummy NODE_AUTH_TOKEN export. Both jobs only set node-version, so nothing else changes.
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.
Routine dependency refresh across every module type: bun/JS workspaces and catalogs, the Rust/Tauri crates, the Docker base images and the GitHub Actions pins.
Notable bumps
<= 1.4.29). We build schemas statically, so we were not exploitable, but the fix is free.@sinclair/typebox >= 0.34andtypescript >= 5are both already satisfied.configureSyncorfingersCrossed.<details>/<summary>children.sx__*class name is unchanged, so our 17 overrides still apply. Real fix included: the current-time indicator no longer leaves a ghost line after midnight.aria-hidden="true"by default and dropped thelucide-*-iconclass.^8.2.2.perfectionist({})inapps/api/eslint.config.jsstill returns the same single config, and the resolved rule map is identical. Needs eslint-plugin-perfectionist>= 5.10.1, bumped to 5.11.0 in the same change.font-sansstack now uses explicit platform fonts instead ofsystem-ui.Held back on purpose
vue-tsccannot run at all (2 of our 4 typecheck targets) and typescript-eslint has closed TS 7 support as not planned. Both are waiting on the TS 7.1 stable API. Our tsconfigs are already TS 7-shaped, so the migration is cheap once the tooling lands. There is no newer 6.x to take.@schedule-x/calendar4.8.0 still pinstemporal-polyfill@0.3.0exactly. 1.x splits Temporal identity in browsers with native Temporal and silently blanks the calendar.test/deps.temporal-schedulex.test.tsguards this.@better-auth/passkey1.7.3 depends on^13.3.1; taking 14.0.1 would split the tree into two copies and break type inference.oven/bunfollows.bun-version(already 1.4.2, the latest Bun),chainguard/glibc-dynamic:latestandmicrocheck:1float, andpostgres:18is the current major.actions/setup-nodehad a newer major. Everything else was already on its latest major.tools/ade-to-json-extensionis untouched. It is outside the bun workspaces and on a separate npm toolchain (eslint 9, TypeScript 5.9, vite 7, unocss); updating it is its own job.Code changes the bumps forced
Both in
apps/api/src/utils/auth.ts, from better-auth 1.7:mapProfileToUsermust now returnOAuthMappedUser, which declaresid?: never— provider identity moved toaccountSubject.return profileis now a type error. Changed toreturn {}: the function only exists for its Discord avatar-refresh side effect, and better-auth already maps name/email/image/emailVerified itself.ctx.paramsis now possibly undefined increateAuthMiddleware, so the/callback/:idredirect readsctx.params?.idand guards on it.The generated
apps/api/src/db/schemas/auth.tswas left as-is on purpose. Re-runninggenerate-better-authdrops theUNIQUEconstraint onpasskey.credential_id(migration0008created it) in favour of a plain index. That is a generator-output difference, not a better-auth change — the plugin declares the samecredentialID: { type: 'string', required: true, index: true }in 1.6.23 and 1.7.3 — so the stricter local constraint is kept.drizzle-kit generatereports no schema changes.Verification
bun run lint-fix && bun run lint && bun run typecheck— clean across all workspacesbun run test:unit— 148 pass, 0 fail (24 files), including the temporal-polyfill × Schedule X guardapps/extensionandapps/app(excluded from the root fan-out) — lint, typecheck and build cleanNODE_ENV=production bun run build— api + web build cleanbun install --frozen-lockfile— cleanbun run validate:workflows— 3 workflows OKbun run docker:build— passes, the full in-container frozen-install → lint → typecheck → build → test:unit pathcargo checkinapps/app/src-tauri— compiles clean on the refreshed lockfileBefore deploying
better-auth 1.7.3 turns on runtime schema validation by default, including production. Our schema passes the check. It also rejects account lookups that match more than one row, so run this once against prod first:
Follow-ups, not done here
@schedule-x/timezone-selectis installed but never imported (App.vuenotes its CSS is intentionally omitted).rollup-plugin-bundle-statsis commented out inapps/web/vite.config.ts; keeping it pins vite to^8.2.2.apps/extension/vite.config.background.ts(JSON import without attributes, extensionless import) andscripts/utils.ts(__dirname). Advisory only — the build succeeds.🤖 Generated with Claude Code