diff --git a/mobile/pubspec.lock b/mobile/pubspec.lock index f84d672090918d..34676069dd4596 100644 --- a/mobile/pubspec.lock +++ b/mobile/pubspec.lock @@ -69,10 +69,10 @@ packages: dependency: "direct main" description: name: background_downloader - sha256: aceacec2b2a72ec3a8862ab5895fcbbc71ab33765f3619d57963f3110dd268e3 + sha256: d27fcaf94f738032f1e6db098230799bf31ae7bf184f173fc9a752fcdae75c0e url: "https://pub.dev" source: hosted - version: "9.5.5" + version: "9.5.6" bonsoir: dependency: "direct overridden" description: @@ -133,10 +133,10 @@ packages: dependency: transitive description: name: build - sha256: a156715e7cd728130c592f30552575908aae5b100005fbc1f0fb16b3c03a3d10 + sha256: "45d14a0fb23e018d8287c32fc98d726ce466b231928ed9b9200f29bd3ccd39ae" url: "https://pub.dev" source: hosted - version: "4.0.6" + version: "4.0.7" build_config: dependency: transitive description: @@ -157,10 +157,10 @@ packages: dependency: "direct dev" description: name: build_runner - sha256: "1523ce62448ebac2c15a8ba5fbad8acac169788658a7dd2a1c2d9c2a9318b9a6" + sha256: "5367e521935b102bdf1e735d2aab461e36b2edca6517662d088dd04cc39f8d16" url: "https://pub.dev" source: hosted - version: "2.15.0" + version: "2.15.1" built_collection: dependency: transitive description: @@ -253,10 +253,10 @@ packages: dependency: "direct main" description: name: connectivity_plus - sha256: "62ffa266d9a23b79fb3fcbc206afc00bb979417ba57b1324c546b5aab95ba057" + sha256: "25cebb79dfe304022550e0c3c893ae051ded07183d2607f7b88473cb3ade33cb" url: "https://pub.dev" source: hosted - version: "7.1.1" + version: "7.3.0" connectivity_plus_platform_interface: dependency: transitive description: @@ -634,10 +634,10 @@ packages: dependency: "direct main" description: name: flutter_udid - sha256: fc599671cbe8b328e509c961ec121880406ed994dde659cc9ece9c7503cd31c7 + sha256: f23555e9d34d5a7dc70fdfa3ab8915b401786879d278568b3c0e801af9a14d2e url: "https://pub.dev" source: hosted - version: "4.1.2" + version: "4.1.6" flutter_web_auth_2: dependency: "direct main" description: @@ -868,10 +868,10 @@ packages: dependency: "direct main" description: name: image_picker - sha256: "91c025426c2881c551100bce834e201c835a170151545f58d17da5180ca7d9ac" + sha256: d8402284df184bc05f4a2210c6c23983b0720f4cd87cbd05c5390a78af602667 url: "https://pub.dev" source: hosted - version: "1.2.2" + version: "1.2.3" image_picker_android: dependency: transitive description: @@ -1250,10 +1250,10 @@ packages: dependency: "direct main" description: name: path_provider - sha256: "50c5dd5b6e1aaf6fb3a78b33f6aa3afca52bf903a8a5298f53101fdaee55bbcd" + sha256: a7f4874f987173da295a61c181b8ee71dab59b332a486b391babf26a1b884825 url: "https://pub.dev" source: hosted - version: "2.1.5" + version: "2.1.6" path_provider_android: dependency: transitive description: @@ -1656,18 +1656,18 @@ packages: dependency: "direct main" description: name: sqlite3 - sha256: "9488c7d2cdb1091c91cacf7e207cff81b28bff8e366f042bad3afe7d34afe189" + sha256: "61c7930bebf32c552ac5808c91bf33802e66711c9216090d3b5579c9f862e80c" url: "https://pub.dev" source: hosted - version: "3.3.2" + version: "3.4.0" sqlite3_connection_pool: dependency: "direct main" description: name: sqlite3_connection_pool - sha256: "9d2b3b398b03c96743fd071521fc665be73c33c9cd5c56d87196baff8d8b4398" + sha256: ad51972d37bdf82929888e4c85e722bd9a0b5ff8ad389f89b1b00d19603c0d2d url: "https://pub.dev" source: hosted - version: "0.2.6" + version: "0.2.7" sqlite3_web: dependency: transitive description: @@ -1864,10 +1864,10 @@ packages: dependency: "direct main" description: name: uuid - sha256: "1fef9e8e11e2991bb773070d4656b7bd5d850967a2456cfc83cf47925ba79489" + sha256: "9b129329f58692f6e6578329498a8fe9fbe98f090beb764ffbb8ee2eadd01dcd" url: "https://pub.dev" source: hosted - version: "4.5.3" + version: "4.6.0" vector_graphics: dependency: transitive description: diff --git a/mobile/pubspec.yaml b/mobile/pubspec.yaml index 7a8d9ca32b21ce..5a83ad7556e9db 100644 --- a/mobile/pubspec.yaml +++ b/mobile/pubspec.yaml @@ -11,10 +11,10 @@ environment: dependencies: async: ^2.13.1 auto_route: ^11.1.0 - background_downloader: ^9.5.4 + background_downloader: ^9.5.6 cast: ^2.1.0 collection: ^1.19.1 - connectivity_plus: ^7.0.0 + connectivity_plus: ^7.3.0 crop_image: ^1.0.17 crypto: ^3.0.7 device_info_plus: ^12.4.0 @@ -31,14 +31,14 @@ dependencies: flutter_local_notifications: ^17.2.4 flutter_secure_storage: ^9.2.4 flutter_svg: ^2.2.4 - flutter_udid: ^4.1.2 + flutter_udid: ^4.1.6 flutter_web_auth_2: ^5.0.2 fluttertoast: ^8.2.14 geolocator: ^14.0.2 home_widget: ^0.9.3 hooks_riverpod: ^2.6.1 http: ^1.6.0 - image_picker: ^1.2.1 + image_picker: ^1.2.3 immich_ui: path: './packages/ui' intl: ^0.20.2 @@ -55,7 +55,7 @@ dependencies: path: generated/openapi package_info_plus: ^8.3.1 path: ^1.9.1 - path_provider: ^2.1.5 + path_provider: ^2.1.6 path_provider_foundation: ^2.6.0 permission_handler: ^11.4.0 photo_manager: 3.9.0 @@ -67,13 +67,13 @@ dependencies: share_plus: ^10.1.4 sliver_tools: ^0.2.12 stream_transform: ^2.1.1 - sqlite3: ^3.3.2 + sqlite3: ^3.4.0 sqlite_async: 0.14.2 - sqlite3_connection_pool: ^0.2.6 + sqlite3_connection_pool: ^0.2.7 thumbhash: 0.1.0+1 timezone: ^0.9.4 url_launcher: ^6.3.2 - uuid: ^4.5.3 + uuid: ^4.6.0 wakelock_plus: ^1.3.3 worker_manager: ^7.2.9 web_socket: ^1.0.1 @@ -95,7 +95,7 @@ dependencies: dev_dependencies: auto_route_generator: ^10.5.0 - build_runner: ^2.13.1 + build_runner: ^2.15.1 # Drift generator drift_dev: ^2.34.0 fake_async: ^1.3.3 diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1e147c2502b8e2..a24e61a8841f84 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1033,8 +1033,8 @@ importers: specifier: ^4.4.6 version: 4.7.4(@typescript/typescript6@6.0.2)(picomatch@4.0.5)(svelte@5.56.8(@typescript-eslint/types@8.66.0)) svelte-eslint-parser: - specifier: ^1.3.3 - version: 1.8.0(svelte@5.56.8(@typescript-eslint/types@8.66.0)) + specifier: ^1.8.1 + version: 1.8.1(svelte@5.56.8(@typescript-eslint/types@8.66.0)) tailwindcss: specifier: ^4.2.4 version: 4.3.3 @@ -10738,8 +10738,8 @@ packages: resolution: {integrity: sha512-bIoJLOmjCO1S9XdY/DcnR5hJxvrDir1PbGChrzXG3vw0/FOliy/fA3dmdhQ441kah4gKv+TwckGzex6wNS5cnQ==} engines: {node: '>=4'} - postcss-selector-parser@7.1.4: - resolution: {integrity: sha512-HeP7D2wyhkR+XaK6v4W8oRF62Dsz4flyuczALJp61GckGm42u1saSSJ/0auvcBqxs3jMRFEcPK34At/0JBKdOg==} + postcss-selector-parser@7.1.5: + resolution: {integrity: sha512-KvvtD7SrlBP7dlgkBghEE3r84CABm5SmV2aNcG4oCA+qDnJ/tvKonFVvwWAyyWUEwxuNawdfEAZKP9zM3oZ2Uw==} engines: {node: '>=4'} postcss-sort-media-queries@5.2.0: @@ -11786,9 +11786,9 @@ packages: svelte: ^4.0.0 || ^5.0.0-next.0 typescript: ^5.0.0 || ^6.0.0 - svelte-eslint-parser@1.8.0: - resolution: {integrity: sha512-mikR1qwIVy3t5WthUoAXkMwxkXvabZP9FJgdx35Ei7EbGWmctva1Pih16Koeor/bdNNq8NXHlwKGS6NkYTawLg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0, pnpm: 10.34.1} + svelte-eslint-parser@1.8.1: + resolution: {integrity: sha512-5zgKBqAf6V8Jyrmr1jViksyG4NKT8NheYwkdxRaMRDAqpGWi9wR8ktcGrAZbfMn/PHUp1BWzAp0cYQECkWuAMA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0, pnpm: 10.34.5} peerDependencies: svelte: ^3.37.0 || ^4.0.0 || ^5.0.0 peerDependenciesMeta: @@ -14135,9 +14135,9 @@ snapshots: '@csstools/postcss-cascade-layers@5.0.2(postcss@8.5.26)': dependencies: - '@csstools/selector-specificity': 5.0.0(postcss-selector-parser@7.1.4) + '@csstools/selector-specificity': 5.0.0(postcss-selector-parser@7.1.5) postcss: 8.5.26 - postcss-selector-parser: 7.1.4 + postcss-selector-parser: 7.1.5 '@csstools/postcss-color-function-display-p3-linear@1.0.1(postcss@8.5.26)': dependencies: @@ -14243,9 +14243,9 @@ snapshots: '@csstools/postcss-is-pseudo-class@5.0.3(postcss@8.5.26)': dependencies: - '@csstools/selector-specificity': 5.0.0(postcss-selector-parser@7.1.4) + '@csstools/selector-specificity': 5.0.0(postcss-selector-parser@7.1.5) postcss: 8.5.26 - postcss-selector-parser: 7.1.4 + postcss-selector-parser: 7.1.5 '@csstools/postcss-light-dark-function@2.0.11(postcss@8.5.26)': dependencies: @@ -14347,7 +14347,7 @@ snapshots: '@csstools/postcss-scope-pseudo-class@4.0.1(postcss@8.5.26)': dependencies: postcss: 8.5.26 - postcss-selector-parser: 7.1.4 + postcss-selector-parser: 7.1.5 '@csstools/postcss-sign-functions@1.1.4(postcss@8.5.26)': dependencies: @@ -14391,13 +14391,13 @@ snapshots: dependencies: postcss: 8.5.26 - '@csstools/selector-resolve-nested@3.1.0(postcss-selector-parser@7.1.4)': + '@csstools/selector-resolve-nested@3.1.0(postcss-selector-parser@7.1.5)': dependencies: - postcss-selector-parser: 7.1.4 + postcss-selector-parser: 7.1.5 - '@csstools/selector-specificity@5.0.0(postcss-selector-parser@7.1.4)': + '@csstools/selector-specificity@5.0.0(postcss-selector-parser@7.1.5)': dependencies: - postcss-selector-parser: 7.1.4 + postcss-selector-parser: 7.1.5 '@csstools/utilities@2.0.0(postcss@8.5.26)': dependencies: @@ -19701,7 +19701,7 @@ snapshots: css-blank-pseudo@7.0.1(postcss@8.5.26): dependencies: postcss: 8.5.26 - postcss-selector-parser: 7.1.4 + postcss-selector-parser: 7.1.5 css-declaration-sorter@7.4.0(postcss@8.5.26): dependencies: @@ -19709,9 +19709,9 @@ snapshots: css-has-pseudo@7.0.3(postcss@8.5.26): dependencies: - '@csstools/selector-specificity': 5.0.0(postcss-selector-parser@7.1.4) + '@csstools/selector-specificity': 5.0.0(postcss-selector-parser@7.1.5) postcss: 8.5.26 - postcss-selector-parser: 7.1.4 + postcss-selector-parser: 7.1.5 postcss-value-parser: 4.2.0 css-loader@6.11.0(webpack@5.108.4(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(esbuild@0.28.2)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(uglify-js@3.19.3)): @@ -20600,7 +20600,7 @@ snapshots: postcss-load-config: 3.1.4(postcss@8.5.26) postcss-safe-parser: 7.0.1(postcss@8.5.26) semver: 7.8.5 - svelte-eslint-parser: 1.8.0(svelte@5.56.8(@typescript-eslint/types@8.66.0)) + svelte-eslint-parser: 1.8.1(svelte@5.56.8(@typescript-eslint/types@8.66.0)) optionalDependencies: svelte: 5.56.8(@typescript-eslint/types@8.66.0) transitivePeerDependencies: @@ -23857,7 +23857,7 @@ snapshots: postcss-attribute-case-insensitive@7.0.1(postcss@8.5.26): dependencies: postcss: 8.5.26 - postcss-selector-parser: 7.1.4 + postcss-selector-parser: 7.1.5 postcss-calc@9.0.1(postcss@8.5.26): dependencies: @@ -23928,12 +23928,12 @@ snapshots: '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) '@csstools/css-tokenizer': 3.0.4 postcss: 8.5.26 - postcss-selector-parser: 7.1.4 + postcss-selector-parser: 7.1.5 postcss-dir-pseudo-class@9.0.1(postcss@8.5.26): dependencies: postcss: 8.5.26 - postcss-selector-parser: 7.1.4 + postcss-selector-parser: 7.1.5 postcss-discard-comments@6.0.2(postcss@8.5.26): dependencies: @@ -23966,12 +23966,12 @@ snapshots: postcss-focus-visible@10.0.1(postcss@8.5.26): dependencies: postcss: 8.5.26 - postcss-selector-parser: 7.1.4 + postcss-selector-parser: 7.1.5 postcss-focus-within@9.0.1(postcss@8.5.26): dependencies: postcss: 8.5.26 - postcss-selector-parser: 7.1.4 + postcss-selector-parser: 7.1.5 postcss-font-variant@5.0.0(postcss@8.5.26): dependencies: @@ -24091,13 +24091,13 @@ snapshots: dependencies: icss-utils: 5.1.0(postcss@8.5.26) postcss: 8.5.26 - postcss-selector-parser: 7.1.4 + postcss-selector-parser: 7.1.5 postcss-value-parser: 4.2.0 postcss-modules-scope@3.2.1(postcss@8.5.26): dependencies: postcss: 8.5.26 - postcss-selector-parser: 7.1.4 + postcss-selector-parser: 7.1.5 postcss-modules-values@4.0.0(postcss@8.5.26): dependencies: @@ -24111,10 +24111,10 @@ snapshots: postcss-nesting@13.0.2(postcss@8.5.26): dependencies: - '@csstools/selector-resolve-nested': 3.1.0(postcss-selector-parser@7.1.4) - '@csstools/selector-specificity': 5.0.0(postcss-selector-parser@7.1.4) + '@csstools/selector-resolve-nested': 3.1.0(postcss-selector-parser@7.1.5) + '@csstools/selector-specificity': 5.0.0(postcss-selector-parser@7.1.5) postcss: 8.5.26 - postcss-selector-parser: 7.1.4 + postcss-selector-parser: 7.1.5 postcss-normalize-charset@6.0.2(postcss@8.5.26): dependencies: @@ -24263,7 +24263,7 @@ snapshots: postcss-pseudo-class-any-link@10.0.1(postcss@8.5.26): dependencies: postcss: 8.5.26 - postcss-selector-parser: 7.1.4 + postcss-selector-parser: 7.1.5 postcss-reduce-idents@6.0.3(postcss@8.5.26): dependencies: @@ -24296,14 +24296,14 @@ snapshots: postcss-selector-not@8.0.1(postcss@8.5.26): dependencies: postcss: 8.5.26 - postcss-selector-parser: 7.1.4 + postcss-selector-parser: 7.1.5 postcss-selector-parser@6.1.4: dependencies: cssesc: 3.0.0 util-deprecate: 1.0.2 - postcss-selector-parser@7.1.4: + postcss-selector-parser@7.1.5: dependencies: cssesc: 3.0.0 util-deprecate: 1.0.2 @@ -25627,14 +25627,14 @@ snapshots: transitivePeerDependencies: - picomatch - svelte-eslint-parser@1.8.0(svelte@5.56.8(@typescript-eslint/types@8.66.0)): + svelte-eslint-parser@1.8.1(svelte@5.56.8(@typescript-eslint/types@8.66.0)): dependencies: eslint-scope: 8.4.0 eslint-visitor-keys: 4.2.1 espree: 10.4.0 postcss: 8.5.26 postcss-scss: 4.0.9(postcss@8.5.26) - postcss-selector-parser: 7.1.4 + postcss-selector-parser: 7.1.5 semver: 7.8.5 optionalDependencies: svelte: 5.56.8(@typescript-eslint/types@8.66.0) diff --git a/server/Dockerfile b/server/Dockerfile index 9d5eb1cccb17ec..c43d4851444527 100644 --- a/server/Dockerfile +++ b/server/Dockerfile @@ -1,4 +1,4 @@ -FROM ghcr.io/immich-app/base-server-dev:202607211135@sha256:83c9ff3f7390111596a2dcd24a746c3f8618d58259dbc7aae36618d153462f18 AS builder +FROM ghcr.io/immich-app/base-server-dev:202608111116@sha256:f53e6bc2aa6e4c7b043e6ec1740448af4ba69e2090411daa7fa1df288bc0131a AS builder ENV COREPACK_ENABLE_DOWNLOAD_PROMPT=0 \ CI=1 \ COREPACK_HOME=/tmp \ @@ -81,7 +81,7 @@ RUN --mount=type=cache,id=pnpm-packages,target=/buildcache/pnpm-store \ --mount=type=cache,id=mise-tools-${TARGETPLATFORM},target=/buildcache/mise \ mise //:plugins -FROM ghcr.io/immich-app/base-server-prod:202607211135@sha256:ced131da7523544fe975cfd25abd67386e712e39496340b437cd95a08d0a18f3 +FROM ghcr.io/immich-app/base-server-prod:202608111116@sha256:15083a121ada9d243c3e717d84c2819a028f214c1f4bf3b39d0b63a299e994b3 WORKDIR /usr/src/app ENV NODE_ENV=production \ diff --git a/server/Dockerfile.dev b/server/Dockerfile.dev index 9a46f41b4ed09f..1570436ac29008 100644 --- a/server/Dockerfile.dev +++ b/server/Dockerfile.dev @@ -1,5 +1,5 @@ # dev build -FROM ghcr.io/immich-app/base-server-dev:202607211135@sha256:83c9ff3f7390111596a2dcd24a746c3f8618d58259dbc7aae36618d153462f18 AS dev +FROM ghcr.io/immich-app/base-server-dev:202608111116@sha256:f53e6bc2aa6e4c7b043e6ec1740448af4ba69e2090411daa7fa1df288bc0131a AS dev COPY --from=ghcr.io/jdx/mise:2026.8.3@sha256:92dbc3f2573926d8974e4641ad8449f16c323130b9f41c39aff19b7b2f500ef6 /usr/local/bin/mise /usr/local/bin/mise diff --git a/web/eslint.config.js b/web/eslint.config.js index fc69385c93774a..f7fd82d75172c7 100644 --- a/web/eslint.config.js +++ b/web/eslint.config.js @@ -10,6 +10,7 @@ import parser from 'svelte-eslint-parser'; import typescriptEslint from 'typescript-eslint'; import fs from 'node:fs'; import path from 'node:path'; +import './lint-env.js'; export default typescriptEslint.config( ...eslintPluginSvelte.configs.recommended, @@ -68,6 +69,7 @@ export default typescriptEslint.config( '**/yarn.lock', '**/svelte.config.js', 'eslint.config.js', + 'lint-env.js', 'tailwind.config.js', 'coverage', 'vite.config.ts', diff --git a/web/lint-env.js b/web/lint-env.js new file mode 100644 index 00000000000000..3394cdb783e531 --- /dev/null +++ b/web/lint-env.js @@ -0,0 +1,5 @@ +// Must be imported before eslint-plugin-svelte / svelte-eslint-parser. +// Enables svelte-eslint-parser's ts.sys hook so typescript-eslint can reuse +// its TypeScript program across .svelte files instead of rebuilding it per +// file (~4x faster lint). See https://github.com/sveltejs/eslint-plugin-svelte/issues/1552 +process.env.SVELTE_ESLINT_PARSER_EXPERIMENTAL_TS_SYS_HOOK ??= '1'; diff --git a/web/package.json b/web/package.json index d709ca0de659e9..ca0274df88cfd7 100644 --- a/web/package.json +++ b/web/package.json @@ -90,6 +90,7 @@ "@types/lodash-es": "^4.17.12", "@types/luxon": "^3.4.2", "@types/qrcode": "^1.5.5", + "@typescript/native": "npm:typescript@^7.0.2", "@vitest/coverage-v8": "^4.0.0", "dotenv": "^17.0.0", "eslint": "^10.2.1", @@ -107,9 +108,8 @@ "rollup-plugin-visualizer": "^7.0.0", "svelte": "5.56.8", "svelte-check": "^4.4.6", - "svelte-eslint-parser": "^1.3.3", + "svelte-eslint-parser": "^1.8.1", "tailwindcss": "^4.2.4", - "@typescript/native": "npm:typescript@^7.0.2", "typescript": "npm:@typescript/typescript6@^6.0.2", "typescript-eslint": "^8.45.0", "vite": "^8.0.0",