From ad0dbf0315361190201351492d5d14796f8d9691 Mon Sep 17 00:00:00 2001 From: Jason Rasmussen Date: Wed, 25 Sep 2024 16:54:42 -0400 Subject: [PATCH 1/3] fix(web): delete non-empty album (#12937) --- .../[[photos=photos]]/[[assetId=id]]/+page.svelte | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/web/src/routes/(user)/albums/[albumId=id]/[[photos=photos]]/[[assetId=id]]/+page.svelte b/web/src/routes/(user)/albums/[albumId=id]/[[photos=photos]]/[[assetId=id]]/+page.svelte index b11bf9b8aa9ef..3df4a25b83e1f 100644 --- a/web/src/routes/(user)/albums/[albumId=id]/[[photos=photos]]/[[assetId=id]]/+page.svelte +++ b/web/src/routes/(user)/albums/[albumId=id]/[[photos=photos]]/[[assetId=id]]/+page.svelte @@ -169,12 +169,13 @@ const handleToggleEnableActivity = async () => { try { - album = await updateAlbumInfo({ + await updateAlbumInfo({ id: album.id, updateAlbumDto: { isActivityEnabled: !album.isActivityEnabled, }, }); + await refreshAlbum(); notificationController.show({ type: NotificationType.Info, message: $t('activity_changed', { values: { enabled: album.isActivityEnabled } }), @@ -277,7 +278,7 @@ }; const refreshAlbum = async () => { - album = await getAlbumInfo({ id: album.id, withoutAssets: true }); + data.album = await getAlbumInfo({ id: album.id, withoutAssets: true }); }; const handleAddAssets = async () => { @@ -330,12 +331,13 @@ const handleAddUsers = async (albumUsers: AlbumUserAddDto[]) => { try { - album = await addUsersToAlbum({ + await addUsersToAlbum({ id: album.id, addUsersDto: { albumUsers, }, }); + await refreshAlbum(); viewMode = ViewMode.VIEW; } catch (error) { From 63ad3c83732eff4fd71be7c8619d3b8ee5e55f2b Mon Sep 17 00:00:00 2001 From: Alex Date: Thu, 26 Sep 2024 19:45:39 +0700 Subject: [PATCH 2/3] chore(mobile): invalidate api repository for new sign in instance (#12940) * chore(mobile): invalidate api repository for new sign in instasnce * add comments --- mobile/lib/utils/provider_utils.dart | 16 ++++++++++++++++ mobile/lib/widgets/forms/login/login_form.dart | 4 ++++ 2 files changed, 20 insertions(+) create mode 100644 mobile/lib/utils/provider_utils.dart diff --git a/mobile/lib/utils/provider_utils.dart b/mobile/lib/utils/provider_utils.dart new file mode 100644 index 0000000000000..3eac55089dcd4 --- /dev/null +++ b/mobile/lib/utils/provider_utils.dart @@ -0,0 +1,16 @@ +import 'package:hooks_riverpod/hooks_riverpod.dart'; +import 'package:immich_mobile/repositories/activity_api.repository.dart'; +import 'package:immich_mobile/repositories/album_api.repository.dart'; +import 'package:immich_mobile/repositories/asset_api.repository.dart'; +import 'package:immich_mobile/repositories/partner_api.repository.dart'; +import 'package:immich_mobile/repositories/person_api.repository.dart'; +import 'package:immich_mobile/repositories/user_api.repository.dart'; + +void invalidateAllApiRepositoryProviders(WidgetRef ref) { + ref.invalidate(userApiRepositoryProvider); + ref.invalidate(activityApiRepositoryProvider); + ref.invalidate(partnerApiRepositoryProvider); + ref.invalidate(albumApiRepositoryProvider); + ref.invalidate(personApiRepositoryProvider); + ref.invalidate(assetApiRepositoryProvider); +} diff --git a/mobile/lib/widgets/forms/login/login_form.dart b/mobile/lib/widgets/forms/login/login_form.dart index 14a4e89dd6066..51383fe1950f0 100644 --- a/mobile/lib/widgets/forms/login/login_form.dart +++ b/mobile/lib/widgets/forms/login/login_form.dart @@ -16,6 +16,7 @@ import 'package:immich_mobile/providers/asset.provider.dart'; import 'package:immich_mobile/providers/authentication.provider.dart'; import 'package:immich_mobile/providers/backup/backup.provider.dart'; import 'package:immich_mobile/providers/server_info.provider.dart'; +import 'package:immich_mobile/utils/provider_utils.dart'; import 'package:immich_mobile/utils/version_compatibility.dart'; import 'package:immich_mobile/widgets/common/immich_logo.dart'; import 'package:immich_mobile/widgets/common/immich_title_text.dart'; @@ -186,6 +187,9 @@ class LoginForm extends HookConsumerWidget { // This will remove current cache asset state of previous user login. ref.read(assetProvider.notifier).clearAllAsset(); + // Invalidate all api repository provider instance to take into account new access token + invalidateAllApiRepositoryProviders(ref); + try { final isAuthenticated = await ref.read(authenticationProvider.notifier).login( From 60679a63695bc67055c8291a234f3441b94b0289 Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 26 Sep 2024 14:51:27 +0000 Subject: [PATCH 3/3] chore: version v1.116.0 --- cli/package-lock.json | 6 +++--- cli/package.json | 2 +- docs/static/archived-versions.json | 4 ++++ e2e/package-lock.json | 8 ++++---- e2e/package.json | 2 +- machine-learning/pyproject.toml | 2 +- mobile/android/fastlane/Fastfile | 4 ++-- mobile/ios/fastlane/Fastfile | 2 +- mobile/openapi/README.md | 2 +- mobile/pubspec.yaml | 2 +- open-api/immich-openapi-specs.json | 2 +- open-api/typescript-sdk/package-lock.json | 4 ++-- open-api/typescript-sdk/package.json | 2 +- open-api/typescript-sdk/src/fetch-client.ts | 2 +- server/package-lock.json | 4 ++-- server/package.json | 2 +- web/package-lock.json | 6 +++--- web/package.json | 2 +- 18 files changed, 31 insertions(+), 27 deletions(-) diff --git a/cli/package-lock.json b/cli/package-lock.json index 6e148fbe09a13..c66d663576e6c 100644 --- a/cli/package-lock.json +++ b/cli/package-lock.json @@ -1,12 +1,12 @@ { "name": "@immich/cli", - "version": "2.2.19", + "version": "2.2.20", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@immich/cli", - "version": "2.2.19", + "version": "2.2.20", "license": "GNU Affero General Public License version 3", "dependencies": { "fast-glob": "^3.3.2", @@ -52,7 +52,7 @@ }, "../open-api/typescript-sdk": { "name": "@immich/sdk", - "version": "1.115.0", + "version": "1.116.0", "dev": true, "license": "GNU Affero General Public License version 3", "dependencies": { diff --git a/cli/package.json b/cli/package.json index 287974e49b5f4..ba2f8468226d4 100644 --- a/cli/package.json +++ b/cli/package.json @@ -1,6 +1,6 @@ { "name": "@immich/cli", - "version": "2.2.19", + "version": "2.2.20", "description": "Command Line Interface (CLI) for Immich", "type": "module", "exports": "./dist/index.js", diff --git a/docs/static/archived-versions.json b/docs/static/archived-versions.json index 18f3b0e40f3d5..992aaa6d4b5d2 100644 --- a/docs/static/archived-versions.json +++ b/docs/static/archived-versions.json @@ -1,4 +1,8 @@ [ + { + "label": "v1.116.0", + "url": "https://v1.116.0.archive.immich.app" + }, { "label": "v1.115.0", "url": "https://v1.115.0.archive.immich.app" diff --git a/e2e/package-lock.json b/e2e/package-lock.json index 73c6ac61753e9..63ad7be469cf7 100644 --- a/e2e/package-lock.json +++ b/e2e/package-lock.json @@ -1,12 +1,12 @@ { "name": "immich-e2e", - "version": "1.115.0", + "version": "1.116.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "immich-e2e", - "version": "1.115.0", + "version": "1.116.0", "license": "GNU Affero General Public License version 3", "devDependencies": { "@eslint/eslintrc": "^3.1.0", @@ -45,7 +45,7 @@ }, "../cli": { "name": "@immich/cli", - "version": "2.2.19", + "version": "2.2.20", "dev": true, "license": "GNU Affero General Public License version 3", "dependencies": { @@ -92,7 +92,7 @@ }, "../open-api/typescript-sdk": { "name": "@immich/sdk", - "version": "1.115.0", + "version": "1.116.0", "dev": true, "license": "GNU Affero General Public License version 3", "dependencies": { diff --git a/e2e/package.json b/e2e/package.json index 6a6f2d9b76721..80bf261a03512 100644 --- a/e2e/package.json +++ b/e2e/package.json @@ -1,6 +1,6 @@ { "name": "immich-e2e", - "version": "1.115.0", + "version": "1.116.0", "description": "", "main": "index.js", "type": "module", diff --git a/machine-learning/pyproject.toml b/machine-learning/pyproject.toml index cc7f74dfa9bf5..8d1539a79b07d 100644 --- a/machine-learning/pyproject.toml +++ b/machine-learning/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "machine-learning" -version = "1.115.0" +version = "1.116.0" description = "" authors = ["Hau Tran "] readme = "README.md" diff --git a/mobile/android/fastlane/Fastfile b/mobile/android/fastlane/Fastfile index 18243f55023bb..6a6454bfe986b 100644 --- a/mobile/android/fastlane/Fastfile +++ b/mobile/android/fastlane/Fastfile @@ -35,8 +35,8 @@ platform :android do task: 'bundle', build_type: 'Release', properties: { - "android.injected.version.code" => 159, - "android.injected.version.name" => "1.115.0", + "android.injected.version.code" => 160, + "android.injected.version.name" => "1.116.0", } ) upload_to_play_store(skip_upload_apk: true, skip_upload_images: true, skip_upload_screenshots: true, aab: '../build/app/outputs/bundle/release/app-release.aab') diff --git a/mobile/ios/fastlane/Fastfile b/mobile/ios/fastlane/Fastfile index 870c9b8e31f44..1cc5524c40093 100644 --- a/mobile/ios/fastlane/Fastfile +++ b/mobile/ios/fastlane/Fastfile @@ -19,7 +19,7 @@ platform :ios do desc "iOS Release" lane :release do increment_version_number( - version_number: "1.115.0" + version_number: "1.116.0" ) increment_build_number( build_number: latest_testflight_build_number + 1, diff --git a/mobile/openapi/README.md b/mobile/openapi/README.md index e337c4831f5eb..9f2261e03d8e6 100644 --- a/mobile/openapi/README.md +++ b/mobile/openapi/README.md @@ -3,7 +3,7 @@ Immich API This Dart package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: -- API version: 1.115.0 +- API version: 1.116.0 - Generator version: 7.8.0 - Build package: org.openapitools.codegen.languages.DartClientCodegen diff --git a/mobile/pubspec.yaml b/mobile/pubspec.yaml index 0f75463547d6b..a219b6ddb1575 100644 --- a/mobile/pubspec.yaml +++ b/mobile/pubspec.yaml @@ -2,7 +2,7 @@ name: immich_mobile description: Immich - selfhosted backup media file on mobile phone publish_to: 'none' -version: 1.115.0+159 +version: 1.116.0+160 environment: sdk: '>=3.3.0 <4.0.0' diff --git a/open-api/immich-openapi-specs.json b/open-api/immich-openapi-specs.json index d0864675a172b..bb0aa83009863 100644 --- a/open-api/immich-openapi-specs.json +++ b/open-api/immich-openapi-specs.json @@ -7409,7 +7409,7 @@ "info": { "title": "Immich", "description": "Immich API", - "version": "1.115.0", + "version": "1.116.0", "contact": {} }, "tags": [], diff --git a/open-api/typescript-sdk/package-lock.json b/open-api/typescript-sdk/package-lock.json index dfc107ac3c784..3ab9ac0583a35 100644 --- a/open-api/typescript-sdk/package-lock.json +++ b/open-api/typescript-sdk/package-lock.json @@ -1,12 +1,12 @@ { "name": "@immich/sdk", - "version": "1.115.0", + "version": "1.116.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@immich/sdk", - "version": "1.115.0", + "version": "1.116.0", "license": "GNU Affero General Public License version 3", "dependencies": { "@oazapfts/runtime": "^1.0.2" diff --git a/open-api/typescript-sdk/package.json b/open-api/typescript-sdk/package.json index 7773f3b71c537..45a1fada32eb1 100644 --- a/open-api/typescript-sdk/package.json +++ b/open-api/typescript-sdk/package.json @@ -1,6 +1,6 @@ { "name": "@immich/sdk", - "version": "1.115.0", + "version": "1.116.0", "description": "Auto-generated TypeScript SDK for the Immich API", "type": "module", "main": "./build/index.js", diff --git a/open-api/typescript-sdk/src/fetch-client.ts b/open-api/typescript-sdk/src/fetch-client.ts index 85710af49c294..63597d49bc6c1 100644 --- a/open-api/typescript-sdk/src/fetch-client.ts +++ b/open-api/typescript-sdk/src/fetch-client.ts @@ -1,6 +1,6 @@ /** * Immich - * 1.115.0 + * 1.116.0 * DO NOT MODIFY - This file has been generated using oazapfts. * See https://www.npmjs.com/package/oazapfts */ diff --git a/server/package-lock.json b/server/package-lock.json index 65e9df8d9eb90..57c8dd7146732 100644 --- a/server/package-lock.json +++ b/server/package-lock.json @@ -1,12 +1,12 @@ { "name": "immich", - "version": "1.115.0", + "version": "1.116.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "immich", - "version": "1.115.0", + "version": "1.116.0", "license": "GNU Affero General Public License version 3", "dependencies": { "@nestjs/bullmq": "^10.0.1", diff --git a/server/package.json b/server/package.json index ab6ebeec41f47..8ba20f6b3bc23 100644 --- a/server/package.json +++ b/server/package.json @@ -1,6 +1,6 @@ { "name": "immich", - "version": "1.115.0", + "version": "1.116.0", "description": "", "author": "", "private": true, diff --git a/web/package-lock.json b/web/package-lock.json index b652f58ce0624..172c315570d43 100644 --- a/web/package-lock.json +++ b/web/package-lock.json @@ -1,12 +1,12 @@ { "name": "immich-web", - "version": "1.115.0", + "version": "1.116.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "immich-web", - "version": "1.115.0", + "version": "1.116.0", "license": "GNU Affero General Public License version 3", "dependencies": { "@formatjs/icu-messageformat-parser": "^2.7.8", @@ -74,7 +74,7 @@ }, "../open-api/typescript-sdk": { "name": "@immich/sdk", - "version": "1.115.0", + "version": "1.116.0", "license": "GNU Affero General Public License version 3", "dependencies": { "@oazapfts/runtime": "^1.0.2" diff --git a/web/package.json b/web/package.json index 30908949ebe92..938b4dc9cf008 100644 --- a/web/package.json +++ b/web/package.json @@ -1,6 +1,6 @@ { "name": "immich-web", - "version": "1.115.0", + "version": "1.116.0", "license": "GNU Affero General Public License version 3", "scripts": { "dev": "vite dev --host 0.0.0.0 --port 3000",