Skip to content

chore: зависимости — минорные и патч-обновления из Dependabot #431 без Stripe-мажоров (#434) - #437

Merged
efymd9 merged 2 commits into
mainfrom
chore/deps-minors-434
Oct 9, 2026
Merged

efymd9 merged 2 commits into
mainfrom
chore/deps-minors-434

Conversation

@efymd9

@efymd9 efymd9 commented Oct 9, 2026

Copy link
Copy Markdown
Owner

Что и зачем

Dependabot #431 (20 обновлений) конфликтует с main после vitest 5 (#430) и смешивает минорные обновления с тремя мажорами Stripe. Этот PR поднимает всё из #431, кроме stripe, @stripe/stripe-js, @stripe/react-stripe-js (они в #433 и здесь не тронуты ни в package.json, ни в локе — у stripe@22.6.2 в локе сменился только суффикс пира @types/node).

Как делалось: спеки в package.json поправлены руками (без pnpm update, который пересортировывает и расширяет спеки), лок перегенерирован pnpm install от лока main. Обычный install с новыми спеками выбирал версии свежее #431 (Sentry 11.6.0, Clerk 7.9.13, vite 8.3.4, posthog-js 1.438.4…). Changelog'и по спеке читались ровно до версий #431, поэтому лок закреплён на них приёмом «закрепить точную версию → install → вернуть ^». Диф package.json совпадает с #431 построчно, кроме трёх строк Stripe. eslint оставлен на "^10", как и в #431: поднят только лок.

Пакет Было Стало
@clerk/localizations 4.21.0 4.22.0
@clerk/nextjs 7.9.8 7.9.11 (транзитивно @clerk/backend 3.22.0 → 3.23.1)
@mux/mux-node 15.3.0 15.5.0
@mux/mux-player-react 3.13.4 3.14.0
@mux/mux-video-react 0.31.4 0.31.5 (транзитивно @mux/playback-core 0.35.4 → 0.36.0)
@sentry/nextjs 11.1.0 11.4.0
@vercel/blob 2.8.0 2.8.1
lucide-react 1.49.0 1.52.0
posthog-js 1.435.3 1.436.1 (транзитивно @posthog/browser-common 0.9.0 → 0.9.3, @posthog/core 1.55.3 → 1.57.3)
posthog-node 5.54.1 5.55.0
resend 6.31.0 6.32.0
shadcn 4.21.0 (спека ^4.19.1) 4.21.3
@types/node 24.19.0 24.19.1
eslint 10.11.0 10.12.0 (спека ^10 без изменений)
jsdom 30.1.1 30.1.2
@chromatic-com/storybook 5.3.1 5.4.0
vite 8.3.1 8.3.3
stripe / @stripe/stripe-js / @stripe/react-stripe-js 22.6.2 / 9.17.0 / 6.12.0 без изменений (#433)

Что в changelog'ах важно для нас

@sentry/nextjs 11.1.0 → 11.4.0 (lib/observability.ts, контракт приватности). Релизы 11.2.0, 11.3.0 и 11.4.0 прочитаны целиком, включая internal.

  • Новых каналов сбора по умолчанию нет. Семантика dataCollection, traceLifecycle и beforeSendSpan/withStaticSpan не менялась. Session Replay и Feedback по умолчанию не включаются, INP не трогали.
  • 11.2.0: в @sentry/node по умолчанию включён dedupeIntegration. Он только убирает повтор одной и той же ошибки подряд, нового сбора нет. Hono-автоинструментация нас не касается.
  • 11.3.0, fix(core, node, bun, deno): Align server span client address with event IP getsentry/sentry-javascript#24767: client.address у серверных спанов теперь берётся через getClientIPAddress, который читает больше заголовков (X-Real-IP, CF-Connecting-IP, Forwarded, X-Client-IP). Проверено в установленном коде (@sentry/node/build/esm/integrations/http/httpServerSpansIntegration.js): атрибут ставится только при client.getDataCollectionOptions().userInfo, а у нас webDataCollection() → userInfo: false. Для нас ничего не меняется; client.port за прокси теперь пустой.
  • 11.3.0: span links cache_origin у use cache и route provider Next.js. Это id спанов и параметризованные имена маршрутов, они не добавляют URL с данными. 11.4.0 — только SvelteKit 3 и Remix 3.

@mux/mux-video-react 0.31.4 → 0.31.5 / @mux/mux-player-react 3.13.4 → 3.14.0 (правила hero- и watch-плеера в CLAUDE.md).

  • Сами обёртки только синхронизируют версии. Исходники mux-video-react/src, mux-video/src и mux-player*/src между тегами не менялись: сверено через compare API muxinc/elements.
  • Код меняется только в @mux/playback-core 0.36.0: главы из session data com.apple.hls.chapters и AbortSignal на teardown для fetch плейлиста и глав. setupMux / disableCookies / disableTracking и путь повторного подключения Mux Data из 0.31.3 не тронуты.
  • mux-embed (SDK Mux Data) формально поднят в playback-core с 5.16.1 до 5.18.1. Но лок main уже держал mux-embed@5.18.1, как и hls.js@1.7.3, media-chrome@4.19.3 и castable-video@1.1.16, так что рантайм Mux Data не меняется ни на байт.

@clerk/nextjs 7.9.8 → 7.9.11, @clerk/backend 3.22.0 → 3.23.1 (lib/authorized-parties.ts).

  • 7.9.9: убрана точка в конце текста ошибки. 7.9.11: images.clerkstage.dev удалён из дефолтного CSP connect-src. Backend 3.23.0 добавил invitations.deleteInvitation и claim act у OAuth-токенов.
  • Проверка azp в установленном @clerk/backend 3.23.1 та же: if (!azp || !authorizedParties.includes(azp)). Исключение на /api/v1 для нативных токенов без azp по-прежнему нужно и работает.

@mux/mux-node 15.3.0 → 15.5.0 (подпись вебхука).

posthog-js 1.435.3 → 1.436.1 (проверен попутно: этот SDK тоже собирает данные).

  • 1.435.6 / @posthog/browser-common 0.9.1: oppref, click id ChatGPT Ads, добавлен в campaign params SDK. Если ?oppref= есть в URL, он уходит свойством события oppref и свойством персоны $initial_oppref, так же, как SDK уже отправляет fbclid/gclid. Читается только из URL, куку __oppref SDK не читает. PostHog у нас работает только при cookie_consent.marketing, и это то же согласие, под которым стоит пиксель OpenAI. Дописал в обе строки PostHog в .claude/skills/gdpr/references/data-map.md, как Dependabot: недельная волна 18.09 (#241, 22 обновления) — влить миноры/патчи, мажоры отдельно; ignore typescript-мажора в mobile-группе (#240) #242 делал для $fbc/$fbp.
  • @posthog/core 1.57.0 «Capture WebMCP tool intent by default» касается только WebMCP-инструментов, которые регистрирует страница. У нас их нет.
  • Остальное: батчинг $fbc/$fbp, rageclick-игнорлист, починка реплея на cross-origin iframe, логотип опросов. Нового для нас нет.

Остальные (@vercel/blob, resend, posthog-node, shadcn, lucide-react, vite, jsdom, eslint, @chromatic-com/storybook, @types/node, @clerk/localizations) — патчи и миноры без изменений API, которым мы пользуемся. Голдены Lab (lucide-react) проверяет CI.

Как проверено

Локально, по коду выхода, в worktree от свежего origin/main (pnpm install, cd mobile && npm ci):

  • pnpm lint — exit 0
  • pnpm typecheck — exit 0
  • pnpm test:unit (unit + mobile) — exit 0, 155 файлов / 2047 тестов
  • pnpm qa:styles — exit 0
  • pnpm install --frozen-lockfile — лок согласован с package.json
  • Пришпиленные контракты отдельно, vitest run --project unit --reporter=verbose: components/watch/player.test.tsx, lib/observability.test.ts, lib/observability.sdk.test.ts, lib/log-audit.test.ts, app/api/webhooks/mux/signature.test.ts, lib/authorized-parties.test.ts, proxy.test.ts — 7 файлов / 260 тестов, все зелёные
  • pnpm ls --depth 0: каждая из 17 версий — ровно из chore(deps): bump the npm group with 20 updates #431, Stripe-тройка на месте

Истории Lab с голденами в Chromium — в CI (web (lint · types · tests)).

Критерии #434 по пунктам

  • Поднять до версий из chore(deps): bump the npm group with 20 updates #431 всё, кроме трёх Stripe-пакетов — да: таблица выше, лок закреплён ровно на них.
  • Лок регенерировать — да, pnpm install от лока main, вручную не правился.
  • chore(deps): bump the npm group with 20 updates #431 закрыть со ссылкой на этот PR и Stripe-мажоры: stripe 22→23, @stripe/stripe-js 9→10, @stripe/react-stripe-js 6→7 (из Dependabot #431) #433 — да, после открытия этого PR.
  • CI зелёный, включая истории с голденами — см. чеки PR.
  • components/watch/player.test.tsx против настоящего @mux/mux-video-react — зелёный (0.31.5).
  • Приватность Sentry: lib/observability*.test.ts, лог-аудит — зелёные (observability.test.ts, observability.sdk.test.ts против реального SDK 11.4.0, log-audit.test.ts).
  • Подпись вебхука Mux: app/api/webhooks/mux/signature.test.ts — зелёный (реальный SDK 15.5.0).
  • Changelog'и Sentry 11.2–11.4 и mux-video-react 0.31.5 прочитаны; нет новых каналов сбора по умолчанию и изменений Mux Data при смене согласия — да, разбор выше. Единственное изменение IP-логики в Sentry закрыто нашим userInfo: false. В Mux код обёрток и путь Mux Data не менялись.

Отложено / реестр

Новых строк в docs/registry.md нет: PR не вводит заглушек. Новый факт про @mux/mux-node (15.5.0 — последний релиз) отписан в #289, где переименование в @mux/ts уже стоит. Обновить строку реестра и gotchas — работа этого issue.

GDPR: Sentry SDK видит данные — в 11.2–11.4 новых опций сбора по умолчанию нет, IP в серверных спанах закрыт нашим dataCollection.userInfo: false. Mux Data — рантайм mux-embed тот же (5.18.1), обёртки и путь согласия не менялись. Попутная находка: posthog-js с 1.435.6 отправляет в PostHog click id ChatGPT Ads oppref из URL (только при маркетинговом согласии). Карта данных обновлена в этом PR. Если владелец не хочет отправлять click id в PostHog, есть только общий выключатель mask_personal_data_properties, и он замаскирует все click id, не только oppref. Это отдельное решение, в этом PR конфиг не менялся.

Closes #434

🤖 Generated with Claude Code

https://claude.ai/code/session_0184yUssUtNnEmKVaft78cbT

…з Stripe-мажоров (#434)

Подняты 17 пакетов до версий из #431 (лок держит ровно их, не свежее):
@clerk/localizations 4.22.0, @clerk/nextjs 7.9.11, @mux/mux-node 15.5.0,
@mux/mux-player-react 3.14.0, @mux/mux-video-react 0.31.5, @sentry/nextjs
11.4.0, @vercel/blob 2.8.1, lucide-react 1.52.0, posthog-js 1.436.1,
posthog-node 5.55.0, resend 6.32.0, shadcn 4.21.3, @types/node 24.19.1,
eslint 10.12.0 (спека "^10" как в #431), jsdom 30.1.2,
@chromatic-com/storybook 5.4.0, vite 8.3.3. stripe, @stripe/stripe-js и
@stripe/react-stripe-js не тронуты — #433.

Карта данных: posthog-js с 1.435.6 собирает из URL click id ChatGPT Ads
`?oppref` (свойство события + $initial_oppref) — дописано в обе строки
PostHog, как #242 дописал $fbc/$fbp.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0184yUssUtNnEmKVaft78cbT
@vercel

vercel Bot commented Oct 9, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
matio Ready Ready Preview Oct 9, 2026 11:09am UTC
matio-staging Ready Ready Preview Oct 9, 2026 11:09am UTC

Request Review

@github-actions

github-actions Bot commented Oct 9, 2026

Copy link
Copy Markdown

Покрытие

=============================== Coverage summary ===============================
Statements   : 56.61% ( 5108/9023 )
Branches     : 50.35% ( 3403/6758 )
Functions    : 49.84% ( 1120/2247 )
Lines        : 57.36% ( 4526/7890 )
================================================================================

Изменённые строки (diff-cover, порог 85%)

-------------
Diff Coverage
Diff: origin/main...HEAD, staged and unstaged changes
-------------
No lines with coverage information in this diff.
-------------

This branch was successfully deployed

2 active deployments
Preview – matio-staging — 583c3bda Deployed Oct 9, 2026 by vercel[bot]
Preview – matio — 583c3bda Deployed Oct 9, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Зависимости: минорные и патч-обновления из Dependabot #431 (без Stripe-мажоров — #433)

1 participant