dependabot[bot]
19160bbe82
build(deps): Bump the production group across 1 directory with 21 updates
...
Bumps the production group with 21 updates in the / directory:
| Package | From | To |
| --- | --- | --- |
| [turbo](https://github.com/vercel/turborepo ) | `2.9.17` | `2.9.18` |
| [@logtape/logtape](https://github.com/dahlia/logtape/tree/HEAD/packages/logtape ) | `2.1.1` | `2.1.3` |
| [isbot](https://github.com/omrilotan/isbot ) | `5.1.41` | `5.1.42` |
| [nodemailer](https://github.com/nodemailer/nodemailer ) | `8.0.10` | `8.0.11` |
| [@types/nodemailer](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/nodemailer ) | `8.0.0` | `8.0.1` |
| [@expo/metro-runtime](https://github.com/expo/expo ) | `56.0.14` | `56.0.15` |
| [@maplibre/maplibre-react-native](https://github.com/maplibre/maplibre-react-native ) | `11.3.3` | `11.3.4` |
| [expo](https://github.com/expo/expo/tree/HEAD/packages/expo ) | `56.0.9` | `56.0.11` |
| [expo-constants](https://github.com/expo/expo/tree/HEAD/packages/expo-constants ) | `56.0.17` | `56.0.18` |
| [expo-dev-client](https://github.com/expo/expo/tree/HEAD/packages/expo-dev-client ) | `56.0.19` | `56.0.20` |
| [expo-file-system](https://github.com/expo/expo/tree/HEAD/packages/expo-file-system ) | `56.0.7` | `56.0.8` |
| [expo-linking](https://github.com/expo/expo/tree/HEAD/packages/expo-linking ) | `56.0.13` | `56.0.14` |
| [expo-location](https://github.com/expo/expo/tree/HEAD/packages/expo-location ) | `56.0.16` | `56.0.17` |
| [expo-notifications](https://github.com/expo/expo/tree/HEAD/packages/expo-notifications ) | `56.0.16` | `56.0.17` |
| [expo-router](https://github.com/expo/expo/tree/HEAD/packages/expo-router ) | `56.2.9` | `56.2.10` |
| [expo-sqlite](https://github.com/expo/expo/tree/HEAD/packages/expo-sqlite ) | `56.0.4` | `56.0.5` |
| [@codemirror/view](https://github.com/codemirror/view ) | `6.43.0` | `6.43.1` |
| [pg-boss](https://github.com/timgit/pg-boss ) | `12.18.2` | `12.18.3` |
| [@sentry/node](https://github.com/getsentry/sentry-javascript ) | `10.56.0` | `10.57.0` |
| [@sentry/react](https://github.com/getsentry/sentry-javascript ) | `10.53.1` | `10.57.0` |
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node ) | `22.19.20` | `22.19.21` |
Updates `turbo` from 2.9.17 to 2.9.18
- [Release notes](https://github.com/vercel/turborepo/releases )
- [Changelog](https://github.com/vercel/turborepo/blob/main/RELEASE.md )
- [Commits](https://github.com/vercel/turborepo/compare/v2.9.17...v2.9.18 )
Updates `@logtape/logtape` from 2.1.1 to 2.1.3
- [Changelog](https://github.com/dahlia/logtape/blob/main/CHANGES.md )
- [Commits](https://github.com/dahlia/logtape/commits/2.1.3/packages/logtape )
Updates `isbot` from 5.1.41 to 5.1.42
- [Changelog](https://github.com/omrilotan/isbot/blob/main/CHANGELOG.md )
- [Commits](https://github.com/omrilotan/isbot/compare/v5.1.41...v5.1.42 )
Updates `nodemailer` from 8.0.10 to 8.0.11
- [Release notes](https://github.com/nodemailer/nodemailer/releases )
- [Changelog](https://github.com/nodemailer/nodemailer/blob/master/CHANGELOG.md )
- [Commits](https://github.com/nodemailer/nodemailer/compare/v8.0.10...v8.0.11 )
Updates `@types/nodemailer` from 8.0.0 to 8.0.1
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases )
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/nodemailer )
Updates `@types/nodemailer` from 8.0.0 to 8.0.1
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases )
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/nodemailer )
Updates `@expo/metro-runtime` from 56.0.14 to 56.0.15
- [Changelog](https://github.com/expo/expo/blob/main/CHANGELOG.md )
- [Commits](https://github.com/expo/expo/commits )
Updates `@maplibre/maplibre-react-native` from 11.3.3 to 11.3.4
- [Release notes](https://github.com/maplibre/maplibre-react-native/releases )
- [Changelog](https://github.com/maplibre/maplibre-react-native/blob/main/CHANGELOG.md )
- [Commits](https://github.com/maplibre/maplibre-react-native/compare/v11.3.3...v11.3.4 )
Updates `expo` from 56.0.9 to 56.0.11
- [Changelog](https://github.com/expo/expo/blob/main/CHANGELOG.md )
- [Commits](https://github.com/expo/expo/commits/HEAD/packages/expo )
Updates `expo-constants` from 56.0.17 to 56.0.18
- [Changelog](https://github.com/expo/expo/blob/main/CHANGELOG.md )
- [Commits](https://github.com/expo/expo/commits/HEAD/packages/expo-constants )
Updates `expo-dev-client` from 56.0.19 to 56.0.20
- [Changelog](https://github.com/expo/expo/blob/main/CHANGELOG.md )
- [Commits](https://github.com/expo/expo/commits/HEAD/packages/expo-dev-client )
Updates `expo-file-system` from 56.0.7 to 56.0.8
- [Changelog](https://github.com/expo/expo/blob/main/packages/expo-file-system/CHANGELOG.md )
- [Commits](https://github.com/expo/expo/commits/HEAD/packages/expo-file-system )
Updates `expo-linking` from 56.0.13 to 56.0.14
- [Changelog](https://github.com/expo/expo/blob/main/CHANGELOG.md )
- [Commits](https://github.com/expo/expo/commits/HEAD/packages/expo-linking )
Updates `expo-location` from 56.0.16 to 56.0.17
- [Changelog](https://github.com/expo/expo/blob/main/CHANGELOG.md )
- [Commits](https://github.com/expo/expo/commits/HEAD/packages/expo-location )
Updates `expo-notifications` from 56.0.16 to 56.0.17
- [Changelog](https://github.com/expo/expo/blob/main/CHANGELOG.md )
- [Commits](https://github.com/expo/expo/commits/HEAD/packages/expo-notifications )
Updates `expo-router` from 56.2.9 to 56.2.10
- [Changelog](https://github.com/expo/expo/blob/main/CHANGELOG.md )
- [Commits](https://github.com/expo/expo/commits/HEAD/packages/expo-router )
Updates `expo-sqlite` from 56.0.4 to 56.0.5
- [Changelog](https://github.com/expo/expo/blob/main/packages/expo-sqlite/CHANGELOG.md )
- [Commits](https://github.com/expo/expo/commits/HEAD/packages/expo-sqlite )
Updates `@codemirror/view` from 6.43.0 to 6.43.1
- [Changelog](https://github.com/codemirror/view/blob/main/CHANGELOG.md )
- [Commits](https://github.com/codemirror/view/commits )
Updates `pg-boss` from 12.18.2 to 12.18.3
- [Release notes](https://github.com/timgit/pg-boss/releases )
- [Commits](https://github.com/timgit/pg-boss/compare/12.18.2...12.18.3 )
Updates `@sentry/node` from 10.56.0 to 10.57.0
- [Release notes](https://github.com/getsentry/sentry-javascript/releases )
- [Changelog](https://github.com/getsentry/sentry-javascript/blob/develop/CHANGELOG.md )
- [Commits](https://github.com/getsentry/sentry-javascript/compare/10.56.0...10.57.0 )
Updates `@sentry/react` from 10.53.1 to 10.57.0
- [Release notes](https://github.com/getsentry/sentry-javascript/releases )
- [Changelog](https://github.com/getsentry/sentry-javascript/blob/develop/CHANGELOG.md )
- [Commits](https://github.com/getsentry/sentry-javascript/compare/10.53.1...10.57.0 )
Updates `@types/node` from 22.19.20 to 22.19.21
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases )
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node )
---
updated-dependencies:
- dependency-name: "@codemirror/view"
dependency-version: 6.43.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production
- dependency-name: "@expo/metro-runtime"
dependency-version: 56.0.15
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production
- dependency-name: "@logtape/logtape"
dependency-version: 2.1.3
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production
- dependency-name: "@maplibre/maplibre-react-native"
dependency-version: 11.3.4
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production
- dependency-name: "@sentry/node"
dependency-version: 10.57.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production
- dependency-name: "@sentry/react"
dependency-version: 10.57.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production
- dependency-name: "@types/node"
dependency-version: 22.19.21
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production
- dependency-name: "@types/nodemailer"
dependency-version: 8.0.1
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: production
- dependency-name: "@types/nodemailer"
dependency-version: 8.0.1
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: production
- dependency-name: expo
dependency-version: 56.0.11
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production
- dependency-name: expo-constants
dependency-version: 56.0.18
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production
- dependency-name: expo-dev-client
dependency-version: 56.0.20
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production
- dependency-name: expo-file-system
dependency-version: 56.0.8
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production
- dependency-name: expo-linking
dependency-version: 56.0.14
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production
- dependency-name: expo-location
dependency-version: 56.0.17
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production
- dependency-name: expo-notifications
dependency-version: 56.0.17
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production
- dependency-name: expo-router
dependency-version: 56.2.10
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production
- dependency-name: expo-sqlite
dependency-version: 56.0.5
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production
- dependency-name: isbot
dependency-version: 5.1.42
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production
- dependency-name: nodemailer
dependency-version: 8.0.11
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production
- dependency-name: pg-boss
dependency-version: 12.18.3
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production
- dependency-name: turbo
dependency-version: 2.9.18
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: production
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-06-11 19:22:35 +00:00
Ullrich Schäfer
855244747c
journal: typed job seam + Komoot credentials through the manager
...
Two related fixes from the architecture review:
Typed job seam. Job payloads were `unknown` end-to-end: every handler
opened with `job.data as SomePayload`, every enqueue site passed a bare
string queue name and an unchecked object, and a typo meant a runtime
failure in a background worker. packages/jobs gains defineJob(), which
keeps the payload typed inside the handler and performs the
contravariance cast once inside the package. The journal declares all
14 queues and their payload shapes in app/jobs/payloads.ts; enqueue()/
enqueueOptional() and defineJournalJob() key off that map, so enqueue
sites and handlers cannot drift and queue names are compile-checked.
Komoot credential bypass. The bulk-import route enqueued the raw
credentials JSONB in the pg-boss payload, skipping withFreshCredentials
entirely: credentials sat at rest in the job table, were never
refreshed if stale, and markNeedsRelink never fired. The payload now
carries only the serviceId; the handler resolves fresh credentials
through the ConnectedServiceManager at execution time, and marks the
import batch failed (instead of leaving it pending forever) when
credential resolution itself fails.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-10 02:05:24 +02:00
Ullrich Schäfer
b0b58d36fb
chore(ts): eliminate the remaining 4 \as any\ casts in production code
...
Followup to #447 . The audit ran on \`as unknown as\` first; this PR
closes out \`as any\` separately. After this, \`grep -rn ' as any\\b'
apps/ packages/\` returns 0 (excluding tests and node_modules).
## Sites fixed
**\`apps/journal/server.ts\`** + **\`packages/jobs/src/types.ts\`** —
\`komootBulkImportJob as any\`. The job had a typed payload
(\`JobDefinition<KomootBulkImportData>\`) but the worker's
\`JobDefinition[]\` array forced a contravariance cast at every site
that mixed typed and untyped jobs. Dropped the generic from
\`JobDefinition\` entirely; handlers narrow their own \`job.data\`. Only
one job (komoot-bulk-import) used the generic, so the surface is tiny.
**\`apps/journal/app/lib/connected-services/fit.ts\`** + same pattern in
\`routes/sync.import.\$provider.server.ts\` — \`parser.parse(buffer as any,
(err: unknown, d: any) => ...)\`. fit-file-parser's TypeScript types
require \`Buffer<ArrayBuffer>\` specifically; a generic Node \`Buffer\`
is structurally \`Buffer<ArrayBufferLike>\` (which includes
SharedArrayBuffer). The runtime accepts either, so narrowed the cast
to \`as Buffer<ArrayBuffer>\` — still a cast, but precise about what
we're asserting and why. Removed the \`(err, d: any) => …\` ad-hoc
callback typings; the library exports a proper \`FitParserCallback\`.
**\`apps/mobile/lib/editor/RouteMap.tsx\`** — \`onLongPress\` handler
took \`(event: any)\`. maplibre-react-native v11 generates the event
type via React Native codegen but doesn't re-export it as a public
TypeScript type. Replaced with a local structural slice of the parts
we actually read.
Net: 4 \`as any\` sites in prod code → 0. \`pnpm typecheck\` / \`lint\` /
\`test\` all green.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-26 07:11:02 +02:00
dependabot[bot]
eec904971d
Bump the production group with 19 updates
...
Bumps the production group with 19 updates:
| Package | From | To |
| --- | --- | --- |
| [expo](https://github.com/expo/expo/tree/HEAD/packages/expo ) | `55.0.17` | `55.0.19` |
| [@sentry/vite-plugin](https://github.com/getsentry/sentry-javascript-bundler-plugins ) | `5.2.0` | `5.2.1` |
| [eslint](https://github.com/eslint/eslint ) | `10.2.1` | `10.3.0` |
| [jsdom](https://github.com/jsdom/jsdom ) | `29.0.2` | `29.1.1` |
| [react-i18next](https://github.com/i18next/react-i18next ) | `17.0.4` | `17.0.6` |
| [turbo](https://github.com/vercel/turborepo ) | `2.9.6` | `2.9.8` |
| [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint ) | `8.59.0` | `8.59.1` |
| [jose](https://github.com/panva/jose ) | `6.2.2` | `6.2.3` |
| [nodemailer](https://github.com/nodemailer/nodemailer ) | `8.0.6` | `8.0.7` |
| [zod](https://github.com/colinhacks/zod ) | `4.3.6` | `4.4.2` |
| [@gorhom/bottom-sheet](https://github.com/gorhom/react-native-bottom-sheet ) | `5.2.10` | `5.2.13` |
| [@sentry/cli](https://github.com/getsentry/sentry-cli ) | `3.4.0` | `3.4.1` |
| [@sentry/react-native](https://github.com/getsentry/sentry-react-native ) | `8.9.1` | `8.10.0` |
| [expo-dev-client](https://github.com/expo/expo/tree/HEAD/packages/expo-dev-client ) | `55.0.28` | `55.0.30` |
| [expo-dev-menu](https://github.com/expo/expo/tree/HEAD/packages/expo-dev-menu ) | `55.0.24` | `55.0.26` |
| [expo-notifications](https://github.com/expo/expo/tree/HEAD/packages/expo-notifications ) | `55.0.20` | `55.0.22` |
| [pg-boss](https://github.com/timgit/pg-boss ) | `12.18.0` | `12.18.2` |
| [@sentry/node](https://github.com/getsentry/sentry-javascript ) | `10.50.0` | `10.51.0` |
| [@sentry/react](https://github.com/getsentry/sentry-javascript ) | `10.49.0` | `10.51.0` |
Updates `expo` from 55.0.17 to 55.0.19
- [Changelog](https://github.com/expo/expo/blob/main/CHANGELOG.md )
- [Commits](https://github.com/expo/expo/commits/HEAD/packages/expo )
Updates `@sentry/vite-plugin` from 5.2.0 to 5.2.1
- [Release notes](https://github.com/getsentry/sentry-javascript-bundler-plugins/releases )
- [Changelog](https://github.com/getsentry/sentry-javascript-bundler-plugins/blob/main/CHANGELOG.md )
- [Commits](https://github.com/getsentry/sentry-javascript-bundler-plugins/compare/5.2.0...5.2.1 )
Updates `eslint` from 10.2.1 to 10.3.0
- [Release notes](https://github.com/eslint/eslint/releases )
- [Commits](https://github.com/eslint/eslint/compare/v10.2.1...v10.3.0 )
Updates `jsdom` from 29.0.2 to 29.1.1
- [Release notes](https://github.com/jsdom/jsdom/releases )
- [Commits](https://github.com/jsdom/jsdom/compare/v29.0.2...v29.1.1 )
Updates `react-i18next` from 17.0.4 to 17.0.6
- [Changelog](https://github.com/i18next/react-i18next/blob/master/CHANGELOG.md )
- [Commits](https://github.com/i18next/react-i18next/compare/v17.0.4...v17.0.6 )
Updates `turbo` from 2.9.6 to 2.9.8
- [Release notes](https://github.com/vercel/turborepo/releases )
- [Changelog](https://github.com/vercel/turborepo/blob/main/RELEASE.md )
- [Commits](https://github.com/vercel/turborepo/compare/v2.9.6...v2.9.8 )
Updates `typescript-eslint` from 8.59.0 to 8.59.1
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases )
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md )
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.59.1/packages/typescript-eslint )
Updates `jose` from 6.2.2 to 6.2.3
- [Release notes](https://github.com/panva/jose/releases )
- [Changelog](https://github.com/panva/jose/blob/main/CHANGELOG.md )
- [Commits](https://github.com/panva/jose/compare/v6.2.2...v6.2.3 )
Updates `nodemailer` from 8.0.6 to 8.0.7
- [Release notes](https://github.com/nodemailer/nodemailer/releases )
- [Changelog](https://github.com/nodemailer/nodemailer/blob/master/CHANGELOG.md )
- [Commits](https://github.com/nodemailer/nodemailer/compare/v8.0.6...v8.0.7 )
Updates `zod` from 4.3.6 to 4.4.2
- [Release notes](https://github.com/colinhacks/zod/releases )
- [Commits](https://github.com/colinhacks/zod/compare/v4.3.6...v4.4.2 )
Updates `@gorhom/bottom-sheet` from 5.2.10 to 5.2.13
- [Release notes](https://github.com/gorhom/react-native-bottom-sheet/releases )
- [Changelog](https://github.com/gorhom/react-native-bottom-sheet/blob/master/CHANGELOG.md )
- [Commits](https://github.com/gorhom/react-native-bottom-sheet/compare/v5.2.10...v5.2.13 )
Updates `@sentry/cli` from 3.4.0 to 3.4.1
- [Release notes](https://github.com/getsentry/sentry-cli/releases )
- [Changelog](https://github.com/getsentry/sentry-cli/blob/master/CHANGELOG.md )
- [Commits](https://github.com/getsentry/sentry-cli/compare/3.4.0...3.4.1 )
Updates `@sentry/react-native` from 8.9.1 to 8.10.0
- [Release notes](https://github.com/getsentry/sentry-react-native/releases )
- [Changelog](https://github.com/getsentry/sentry-react-native/blob/main/CHANGELOG.md )
- [Commits](https://github.com/getsentry/sentry-react-native/compare/8.9.1...8.10.0 )
Updates `expo-dev-client` from 55.0.28 to 55.0.30
- [Changelog](https://github.com/expo/expo/blob/main/CHANGELOG.md )
- [Commits](https://github.com/expo/expo/commits/HEAD/packages/expo-dev-client )
Updates `expo-dev-menu` from 55.0.24 to 55.0.26
- [Changelog](https://github.com/expo/expo/blob/main/CHANGELOG.md )
- [Commits](https://github.com/expo/expo/commits/HEAD/packages/expo-dev-menu )
Updates `expo-notifications` from 55.0.20 to 55.0.22
- [Changelog](https://github.com/expo/expo/blob/main/CHANGELOG.md )
- [Commits](https://github.com/expo/expo/commits/HEAD/packages/expo-notifications )
Updates `pg-boss` from 12.18.0 to 12.18.2
- [Release notes](https://github.com/timgit/pg-boss/releases )
- [Commits](https://github.com/timgit/pg-boss/compare/12.18.0...12.18.2 )
Updates `@sentry/node` from 10.50.0 to 10.51.0
- [Release notes](https://github.com/getsentry/sentry-javascript/releases )
- [Changelog](https://github.com/getsentry/sentry-javascript/blob/develop/CHANGELOG.md )
- [Commits](https://github.com/getsentry/sentry-javascript/compare/10.50.0...10.51.0 )
Updates `@sentry/react` from 10.49.0 to 10.51.0
- [Release notes](https://github.com/getsentry/sentry-javascript/releases )
- [Changelog](https://github.com/getsentry/sentry-javascript/blob/develop/CHANGELOG.md )
- [Commits](https://github.com/getsentry/sentry-javascript/compare/10.49.0...10.51.0 )
---
updated-dependencies:
- dependency-name: expo
dependency-version: 55.0.19
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production
- dependency-name: "@sentry/vite-plugin"
dependency-version: 5.2.1
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: production
- dependency-name: eslint
dependency-version: 10.3.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: production
- dependency-name: jsdom
dependency-version: 29.1.1
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: production
- dependency-name: react-i18next
dependency-version: 17.0.6
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: production
- dependency-name: turbo
dependency-version: 2.9.8
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: production
- dependency-name: typescript-eslint
dependency-version: 8.59.1
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: production
- dependency-name: jose
dependency-version: 6.2.3
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production
- dependency-name: nodemailer
dependency-version: 8.0.7
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production
- dependency-name: zod
dependency-version: 4.4.2
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production
- dependency-name: "@gorhom/bottom-sheet"
dependency-version: 5.2.13
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production
- dependency-name: "@sentry/cli"
dependency-version: 3.4.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production
- dependency-name: "@sentry/react-native"
dependency-version: 8.10.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production
- dependency-name: expo-dev-client
dependency-version: 55.0.30
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production
- dependency-name: expo-dev-menu
dependency-version: 55.0.26
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production
- dependency-name: expo-notifications
dependency-version: 55.0.22
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production
- dependency-name: pg-boss
dependency-version: 12.18.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production
- dependency-name: "@sentry/node"
dependency-version: 10.51.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production
- dependency-name: "@sentry/react"
dependency-version: 10.51.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-05-03 08:33:39 +00:00
dependabot[bot]
c65b909aef
Bump the production group with 28 updates
...
Bumps the production group with 28 updates:
| Package | From | To |
| --- | --- | --- |
| [expo](https://github.com/expo/expo/tree/HEAD/packages/expo ) | `55.0.15` | `55.0.17` |
| [i18next](https://github.com/i18next/i18next ) | `26.0.6` | `26.0.8` |
| [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint ) | `8.58.2` | `8.59.0` |
| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest ) | `4.1.4` | `4.1.5` |
| [nodemailer](https://github.com/nodemailer/nodemailer ) | `8.0.5` | `8.0.6` |
| [@expo/metro-runtime](https://github.com/expo/expo ) | `55.0.9` | `55.0.10` |
| [@gorhom/bottom-sheet](https://github.com/gorhom/react-native-bottom-sheet ) | `5.2.9` | `5.2.10` |
| [@maplibre/maplibre-react-native](https://github.com/maplibre/maplibre-react-native ) | `11.0.0` | `11.0.2` |
| [@sentry/cli](https://github.com/getsentry/sentry-cli ) | `3.3.5` | `3.4.0` |
| [@sentry/react-native](https://github.com/getsentry/sentry-react-native ) | `8.8.0` | `8.9.1` |
| [expo-constants](https://github.com/expo/expo/tree/HEAD/packages/expo-constants ) | `55.0.14` | `55.0.15` |
| [expo-dev-client](https://github.com/expo/expo/tree/HEAD/packages/expo-dev-client ) | `55.0.27` | `55.0.28` |
| [expo-dev-menu](https://github.com/expo/expo/tree/HEAD/packages/expo-dev-menu ) | `55.0.23` | `55.0.24` |
| [expo-file-system](https://github.com/expo/expo/tree/HEAD/packages/expo-file-system ) | `55.0.16` | `55.0.17` |
| [expo-linking](https://github.com/expo/expo/tree/HEAD/packages/expo-linking ) | `55.0.13` | `55.0.14` |
| [expo-notifications](https://github.com/expo/expo/tree/HEAD/packages/expo-notifications ) | `55.0.19` | `55.0.20` |
| [expo-router](https://github.com/expo/expo/tree/HEAD/packages/expo-router ) | `55.0.12` | `55.0.13` |
| [expo-splash-screen](https://github.com/expo/expo/tree/HEAD/packages/expo-splash-screen ) | `55.0.18` | `55.0.19` |
| [expo-system-ui](https://github.com/expo/expo/tree/HEAD/packages/expo-system-ui ) | `55.0.15` | `55.0.16` |
| [pg-boss](https://github.com/timgit/pg-boss ) | `12.15.0` | `12.18.0` |
| [@react-router/dev](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dev ) | `7.14.1` | `7.14.2` |
| [@react-router/node](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-node ) | `7.14.1` | `7.14.2` |
| [@react-router/serve](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-serve ) | `7.14.1` | `7.14.2` |
| [@sentry/node](https://github.com/getsentry/sentry-javascript ) | `10.49.0` | `10.50.0` |
| [@sentry/react](https://github.com/getsentry/sentry-javascript ) | `10.48.0` | `10.49.0` |
| [@tailwindcss/vite](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite ) | `4.2.2` | `4.2.4` |
| [react-router](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router ) | `7.14.1` | `7.14.2` |
| [tailwindcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss ) | `4.2.2` | `4.2.4` |
Updates `expo` from 55.0.15 to 55.0.17
- [Changelog](https://github.com/expo/expo/blob/main/CHANGELOG.md )
- [Commits](https://github.com/expo/expo/commits/HEAD/packages/expo )
Updates `i18next` from 26.0.6 to 26.0.8
- [Release notes](https://github.com/i18next/i18next/releases )
- [Changelog](https://github.com/i18next/i18next/blob/master/CHANGELOG.md )
- [Commits](https://github.com/i18next/i18next/compare/v26.0.6...v26.0.8 )
Updates `typescript-eslint` from 8.58.2 to 8.59.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases )
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md )
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.59.0/packages/typescript-eslint )
Updates `vitest` from 4.1.4 to 4.1.5
- [Release notes](https://github.com/vitest-dev/vitest/releases )
- [Commits](https://github.com/vitest-dev/vitest/commits/v4.1.5/packages/vitest )
Updates `nodemailer` from 8.0.5 to 8.0.6
- [Release notes](https://github.com/nodemailer/nodemailer/releases )
- [Changelog](https://github.com/nodemailer/nodemailer/blob/master/CHANGELOG.md )
- [Commits](https://github.com/nodemailer/nodemailer/compare/v8.0.5...v8.0.6 )
Updates `@expo/metro-runtime` from 55.0.9 to 55.0.10
- [Changelog](https://github.com/expo/expo/blob/main/CHANGELOG.md )
- [Commits](https://github.com/expo/expo/commits )
Updates `@gorhom/bottom-sheet` from 5.2.9 to 5.2.10
- [Release notes](https://github.com/gorhom/react-native-bottom-sheet/releases )
- [Changelog](https://github.com/gorhom/react-native-bottom-sheet/blob/master/CHANGELOG.md )
- [Commits](https://github.com/gorhom/react-native-bottom-sheet/compare/v5.2.9...v5.2.10 )
Updates `@maplibre/maplibre-react-native` from 11.0.0 to 11.0.2
- [Release notes](https://github.com/maplibre/maplibre-react-native/releases )
- [Changelog](https://github.com/maplibre/maplibre-react-native/blob/main/CHANGELOG.md )
- [Commits](https://github.com/maplibre/maplibre-react-native/compare/v11.0.0...v11.0.2 )
Updates `@sentry/cli` from 3.3.5 to 3.4.0
- [Release notes](https://github.com/getsentry/sentry-cli/releases )
- [Changelog](https://github.com/getsentry/sentry-cli/blob/master/CHANGELOG.md )
- [Commits](https://github.com/getsentry/sentry-cli/compare/3.3.5...3.4.0 )
Updates `@sentry/react-native` from 8.8.0 to 8.9.1
- [Release notes](https://github.com/getsentry/sentry-react-native/releases )
- [Changelog](https://github.com/getsentry/sentry-react-native/blob/main/CHANGELOG.md )
- [Commits](https://github.com/getsentry/sentry-react-native/compare/8.8.0...8.9.1 )
Updates `expo-constants` from 55.0.14 to 55.0.15
- [Changelog](https://github.com/expo/expo/blob/main/CHANGELOG.md )
- [Commits](https://github.com/expo/expo/commits/HEAD/packages/expo-constants )
Updates `expo-dev-client` from 55.0.27 to 55.0.28
- [Changelog](https://github.com/expo/expo/blob/main/CHANGELOG.md )
- [Commits](https://github.com/expo/expo/commits/HEAD/packages/expo-dev-client )
Updates `expo-dev-menu` from 55.0.23 to 55.0.24
- [Changelog](https://github.com/expo/expo/blob/main/CHANGELOG.md )
- [Commits](https://github.com/expo/expo/commits/HEAD/packages/expo-dev-menu )
Updates `expo-file-system` from 55.0.16 to 55.0.17
- [Changelog](https://github.com/expo/expo/blob/main/CHANGELOG.md )
- [Commits](https://github.com/expo/expo/commits/HEAD/packages/expo-file-system )
Updates `expo-linking` from 55.0.13 to 55.0.14
- [Changelog](https://github.com/expo/expo/blob/main/CHANGELOG.md )
- [Commits](https://github.com/expo/expo/commits/HEAD/packages/expo-linking )
Updates `expo-notifications` from 55.0.19 to 55.0.20
- [Changelog](https://github.com/expo/expo/blob/main/CHANGELOG.md )
- [Commits](https://github.com/expo/expo/commits/HEAD/packages/expo-notifications )
Updates `expo-router` from 55.0.12 to 55.0.13
- [Changelog](https://github.com/expo/expo/blob/main/CHANGELOG.md )
- [Commits](https://github.com/expo/expo/commits/HEAD/packages/expo-router )
Updates `expo-splash-screen` from 55.0.18 to 55.0.19
- [Changelog](https://github.com/expo/expo/blob/main/CHANGELOG.md )
- [Commits](https://github.com/expo/expo/commits/HEAD/packages/expo-splash-screen )
Updates `expo-system-ui` from 55.0.15 to 55.0.16
- [Changelog](https://github.com/expo/expo/blob/main/CHANGELOG.md )
- [Commits](https://github.com/expo/expo/commits/HEAD/packages/expo-system-ui )
Updates `pg-boss` from 12.15.0 to 12.18.0
- [Release notes](https://github.com/timgit/pg-boss/releases )
- [Commits](https://github.com/timgit/pg-boss/compare/12.15.0...12.18.0 )
Updates `@react-router/dev` from 7.14.1 to 7.14.2
- [Release notes](https://github.com/remix-run/react-router/releases )
- [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router-dev/CHANGELOG.md )
- [Commits](https://github.com/remix-run/react-router/commits/@react-router/dev@7.14.2/packages/react-router-dev )
Updates `@react-router/node` from 7.14.1 to 7.14.2
- [Release notes](https://github.com/remix-run/react-router/releases )
- [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router-node/CHANGELOG.md )
- [Commits](https://github.com/remix-run/react-router/commits/@react-router/node@7.14.2/packages/react-router-node )
Updates `@react-router/serve` from 7.14.1 to 7.14.2
- [Release notes](https://github.com/remix-run/react-router/releases )
- [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router-serve/CHANGELOG.md )
- [Commits](https://github.com/remix-run/react-router/commits/@react-router/serve@7.14.2/packages/react-router-serve )
Updates `@sentry/node` from 10.49.0 to 10.50.0
- [Release notes](https://github.com/getsentry/sentry-javascript/releases )
- [Changelog](https://github.com/getsentry/sentry-javascript/blob/develop/CHANGELOG.md )
- [Commits](https://github.com/getsentry/sentry-javascript/compare/10.49.0...10.50.0 )
Updates `@sentry/react` from 10.48.0 to 10.49.0
- [Release notes](https://github.com/getsentry/sentry-javascript/releases )
- [Changelog](https://github.com/getsentry/sentry-javascript/blob/develop/CHANGELOG.md )
- [Commits](https://github.com/getsentry/sentry-javascript/compare/10.48.0...10.49.0 )
Updates `@tailwindcss/vite` from 4.2.2 to 4.2.4
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases )
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md )
- [Commits](https://github.com/tailwindlabs/tailwindcss/commits/v4.2.4/packages/@tailwindcss-vite )
Updates `react-router` from 7.14.1 to 7.14.2
- [Release notes](https://github.com/remix-run/react-router/releases )
- [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router/CHANGELOG.md )
- [Commits](https://github.com/remix-run/react-router/commits/react-router@7.14.2/packages/react-router )
Updates `tailwindcss` from 4.2.2 to 4.2.4
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases )
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md )
- [Commits](https://github.com/tailwindlabs/tailwindcss/commits/v4.2.4/packages/tailwindcss )
---
updated-dependencies:
- dependency-name: expo
dependency-version: 55.0.17
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production
- dependency-name: i18next
dependency-version: 26.0.8
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: production
- dependency-name: typescript-eslint
dependency-version: 8.59.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: production
- dependency-name: vitest
dependency-version: 4.1.5
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: production
- dependency-name: nodemailer
dependency-version: 8.0.6
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production
- dependency-name: "@expo/metro-runtime"
dependency-version: 55.0.10
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production
- dependency-name: "@gorhom/bottom-sheet"
dependency-version: 5.2.10
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production
- dependency-name: "@maplibre/maplibre-react-native"
dependency-version: 11.0.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production
- dependency-name: "@sentry/cli"
dependency-version: 3.4.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production
- dependency-name: "@sentry/react-native"
dependency-version: 8.9.1
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production
- dependency-name: expo-constants
dependency-version: 55.0.15
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production
- dependency-name: expo-dev-client
dependency-version: 55.0.28
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production
- dependency-name: expo-dev-menu
dependency-version: 55.0.24
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production
- dependency-name: expo-file-system
dependency-version: 55.0.17
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production
- dependency-name: expo-linking
dependency-version: 55.0.14
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production
- dependency-name: expo-notifications
dependency-version: 55.0.20
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production
- dependency-name: expo-router
dependency-version: 55.0.13
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production
- dependency-name: expo-splash-screen
dependency-version: 55.0.19
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production
- dependency-name: expo-system-ui
dependency-version: 55.0.16
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production
- dependency-name: pg-boss
dependency-version: 12.18.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production
- dependency-name: "@react-router/dev"
dependency-version: 7.14.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production
- dependency-name: "@react-router/node"
dependency-version: 7.14.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production
- dependency-name: "@react-router/serve"
dependency-version: 7.14.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production
- dependency-name: "@sentry/node"
dependency-version: 10.50.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production
- dependency-name: "@sentry/react"
dependency-version: 10.49.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production
- dependency-name: "@tailwindcss/vite"
dependency-version: 4.2.4
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production
- dependency-name: react-router
dependency-version: 7.14.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production
- dependency-name: tailwindcss
dependency-version: 4.2.4
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-04-26 08:37:27 +00:00
Ullrich Schäfer
c2e8461f9c
Upgrade pg-boss from 10 to 12
...
Supersedes dependabot #264 — this one involves code changes that PR
couldn't make.
## Breaking changes in our usage surface
### v12: default export removed → named `PgBoss` export
Affects every file that imports the SDK:
- `packages/jobs/src/boss.ts`: `import PgBoss` → `import { PgBoss }`
- `packages/jobs/src/worker.ts`: same for the type import
- `packages/jobs/src/types.ts`: `PgBoss.Job<T>` → `Job<T>` (types.ts
re-exports `Job` at the package root in v12)
### v11: queue names restricted to `[A-Za-z0-9_.-]`
Colon `:` is no longer allowed. Renamed the two journal queues that
had it:
- `demo-bot:generate` → `demo-bot-generate`
- `demo-bot:prune` → `demo-bot-prune`
The planner's `expire-sessions` was already valid.
### v12: minimum Node 22.12
Not a code change for us — journal + planner Dockerfiles are on
`node:25-slim`, CI runners on 24.
## Regression guard
Added `assertValidJobName()` in `@trails-cool/jobs`, called by
`startWorker()` before any side effects. Pg-boss v11+ silently accepts
an invalid name then rejects the underlying SQL call later — we fail
loudly at boot instead. Unit tests cover the character-class rule
and exercise the exact old-name (`demo-bot:generate`) as a
regression fence.
## Prod rollout note
Pg-boss v11 dropped the auto-migration path from v10. On deploy, the
live `pgboss` schema from v10 won't migrate cleanly. Simplest path:
`DROP SCHEMA pgboss CASCADE` before the first v12 worker starts —
our jobs are all cron-scheduled and will re-register themselves on
boot, so there's nothing durable to preserve in the queue.
## Verified
- `pnpm typecheck` / `pnpm lint` / `pnpm test` — all clean
- `pnpm exec playwright test --workers=2` — 50/50 passed
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-19 23:01:11 +02:00
Ullrich Schäfer
f75dd12f59
Fix pg-boss queue creation before work registration
...
pg-boss v10 requires explicit queue creation via `createQueue()` before
`schedule()` or `work()` can reference a queue. Without this, the planner
crashes on startup in fresh databases (like CI) with "Queue not found".
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 09:08:19 +02:00
Ullrich Schäfer
32c5fbde8f
Add pg-boss background job queue with session expiry
...
Add @trails-cool/jobs package wrapping pg-boss for durable background job
execution using the existing PostgreSQL database. Wire up planner session
expiry as the first scheduled job (hourly, 7-day TTL) — this was previously
dead code that never ran. Add placeholder worker to journal for future
Komoot import and federation jobs.
Infrastructure: grant grafana_reader access to pgboss schema, add job queue
health panels to Service Health dashboard, add failed job alert.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 21:17:24 +02:00