build(deps-dev): bump @types/node from 20.19.41 to 25.9.2 - #18
build(deps-dev): bump @types/node from 20.19.41 to 25.9.2#18dependabot[bot] wants to merge 1 commit into
Conversation
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 20.19.41 to 25.9.2. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) --- updated-dependencies: - dependency-name: "@types/node" dependency-version: 25.9.2 dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
|
Dependabot tried to update this pull request, but something went wrong. We're looking into it, but in the meantime you can retry the update by commenting |
2 similar comments
|
Dependabot tried to update this pull request, but something went wrong. We're looking into it, but in the meantime you can retry the update by commenting |
|
Dependabot tried to update this pull request, but something went wrong. We're looking into it, but in the meantime you can retry the update by commenting |
|
OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting If you change your mind, just re-open this PR and I'll resolve any conflicts on it. |
…rdening From the full code review (backend / security / stability): - polls: forbid polls in E2E chats (they stored question/options as server- readable plaintext — an E2EE bypass, #18); enforce channel post-role so a subscriber can't post via a poll (#20); validate the :pollId uuid param (#27). - ws: revalidate session/device revocation (JTI denylist + device-active) for EVERY frame, throttled — not only presence_ping, which a client could simply never send to dodge remote logout (#19); enforce the block relationship for call_invite in group chats too, not just 1:1 (#29); pipeline the on-connect active-call Redis scan instead of N sequential round-trips (#46). - ws/registry: per-socket outbound backpressure (drop fan-out/relay frames when a recipient's buffer is backed up → no unbounded heap/OOM, #23); cap concurrent sockets per user (#30). - push: reassign a push endpoint / native FCM token to the current account on (re)subscribe so a shared/handed-over device stops delivering a prior user's notifications (#21, #25). - chats: don't force-add requester-supplied members to public_open/channel chats (harassment vector) — creator only; others join by invite (#28). - app: drop bare http://localhost from the credentialed CORS allowlist (never an app origin; Android uses https://localhost, iOS capacitor://) (#36). - auth: per-account lockout on /login/2fa TOTP guessing, not just per-IP (#40). - totp-replay-guard: TTL 60s→120s to cover the full ±30s code-acceptance span (#41). - call-auth-cache: periodic unref'd sweep of expired entries (slow leak, #45). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…9,31) Post-review Sprint 1. Validated: server test suite green (183/183) against a throwaway Postgres, plus typecheck/lint. - auth /verify (#37): close the username-enumeration oracle — a probe with no client public key returned a distinct PUBLIC_KEY_REQUIRED for free names while existing names fell through to SIGNATURE_INVALID. Now both run the ECDSA check against a dummy key and return an identical 401. (PUBLIC_KEY_CONFLICT is kept — it is the registration "username taken" signal every signup discloses.) - CSRF (#39): global onRequest hook rejecting any state-changing request whose Origin is present but not in the CORS allowlist. Closes the body-less "simple request" gap (/auth/logout, /refresh, /clear-session, /2fa/setup) that a cross-site page could hit with the SameSite=None cookie. Missing Origin (non-browser client) is allowed. - missed-call anti-spoof (#31): encode the invite timestamp in the Redis active-call key and only log a missed call if it rang >= 3s, so a scripted call_invite→call_leave can't inject fake missed-call rows. Regression fixes for two earlier review changes that DB-backed tests caught: - chats.ts: REVERT the #28 "public/channel creator-only" restriction — it broke the legitimate "create a channel/group with initial members/admins" flow (chats-ops channel-ownership test). The harassment concern is marginal in an app that already allows messaging any user by UUID and enforces blocks; a proper invite/accept consent step is deferred. - test maintenance: session-cookie.test.ts asserts on the options object (cookie 2.x, pulled by @fastify/cookie 11, renamed serialize→stringifyCookie); totp-replay-guard.test.ts advances past the new 120s TTL (#41); polls.test.ts creates its poll in a public_open chat since #18 now forbids E2E-chat polls. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Rebasing might not happen immediately, so don't worry if this takes some time.
Note: if you make any changes to this PR yourself, they will take precedence over the rebase.
Bumps @types/node from 20.19.41 to 25.9.2.
Commits
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)