From 1ba0989e15181cf98affe4ae91ed0ac956bd8d47 Mon Sep 17 00:00:00 2001 From: Jason Rasmussen Date: Tue, 14 Apr 2026 08:49:24 -0400 Subject: [PATCH] refactor: auth manager (#27638) --- .../lib/components/VersionAnnouncement.svelte | 4 +- .../NotificationSettings.svelte | 6 +- .../StorageTemplateSettings.svelte | 14 ++- .../components/album-page/album-card.svelte | 4 +- .../components/album-page/albums-list.svelte | 8 +- .../album-page/albums-table-row.svelte | 4 +- .../asset-viewer/actions/rating-action.svelte | 4 +- .../asset-viewer/activity-viewer.svelte | 12 +-- .../asset-viewer/asset-viewer-nav-bar.spec.ts | 14 +-- .../asset-viewer/asset-viewer-nav-bar.svelte | 8 +- .../asset-viewer/asset-viewer.spec.ts | 9 +- .../asset-viewer/asset-viewer.svelte | 4 +- .../detail-panel-star-rating.svelte | 3 +- .../asset-viewer/detail-panel.svelte | 7 +- .../memory-page/memory-viewer.svelte | 6 +- .../onboarding-page/onboarding-hello.svelte | 6 +- .../onboarding-storage-template.svelte | 4 +- .../onboarding-user-privacy.svelte | 13 +-- .../components/pages/SharedLinkPage.svelte | 4 +- .../map/MapTimelinePanel.svelte | 4 +- .../navigation-bar/account-info-panel.svelte | 10 +- .../navigation-bar/navigation-bar.svelte | 7 +- .../purchase-activation-success.svelte | 4 +- .../search-bar/search-tags-section.svelte | 4 +- .../side-bar/purchase-info.svelte | 6 +- .../side-bar/server-status.svelte | 4 +- .../side-bar/storage-space.svelte | 18 +++- .../side-bar/user-sidebar.svelte | 10 +- .../actions/ChangeDescriptionAction.svelte | 4 +- .../actions/ChangeLocationAction.svelte | 4 +- .../download-settings.svelte | 11 ++- .../feature-settings.svelte | 33 +++---- .../notifications-settings.svelte | 15 ++- .../user-settings-page/oauth-settings.svelte | 16 ++- .../partner-settings.svelte | 8 +- .../user-profile-settings.svelte | 6 +- .../user-purchase-settings.svelte | 19 ++-- .../user-settings-list.svelte | 5 +- .../lib/managers/activity-manager.svelte.ts | 4 +- .../asset-multi-select-manager.svelte.spec.ts | 10 +- .../asset-multi-select-manager.svelte.ts | 19 ++-- web/src/lib/managers/auth-manager.svelte.ts | 99 ++++++++++++++++--- web/src/lib/managers/memory-manager.svelte.ts | 5 +- .../AssetSelectionChangeDateModal.spec.ts | 4 + .../AssetSelectionChangeDateModal.svelte | 4 +- web/src/lib/modals/AvatarEditModal.svelte | 13 ++- .../lib/modals/PartnerSelectionModal.svelte | 6 +- .../modals/ProfileImageCropperModal.svelte | 8 +- web/src/lib/modals/SearchFilterModal.svelte | 4 +- web/src/lib/modals/ShortcutsModal.svelte | 4 +- web/src/lib/services/album.service.ts | 5 +- web/src/lib/services/asset.service.spec.ts | 11 ++- web/src/lib/services/asset.service.ts | 20 ++-- web/src/lib/services/user-admin.service.ts | 7 +- web/src/lib/stores/user.store.ts | 19 ---- web/src/lib/stores/websocket.ts | 7 +- web/src/lib/utils/asset-utils.ts | 7 +- web/src/lib/utils/auth.ts | 53 ++-------- .../utils/cast/gcast-destination.svelte.ts | 6 +- web/src/lib/utils/file-uploader.spec.ts | 12 ++- web/src/lib/utils/file-uploader.ts | 5 +- web/src/lib/utils/license-utils.ts | 10 +- web/src/lib/utils/purchase-utils.ts | 23 +---- .../[[assetId=id]]/+page.svelte | 19 ++-- .../[[assetId=id]]/+page.svelte | 4 +- .../[[assetId=id]]/+page.svelte | 4 +- .../[[assetId=id]]/+page.svelte | 4 +- .../(user)/photos/[[assetId=id]]/+page.svelte | 6 +- .../[[assetId=id]]/+page.svelte | 4 +- .../[[assetId=id]]/+page.svelte | 4 +- web/src/routes/+layout.svelte | 6 +- web/src/routes/+page.ts | 6 +- .../(list)/new/+page.svelte | 4 +- .../routes/admin/users/[id]/edit/+page.svelte | 4 +- .../routes/auth/change-password/+page.svelte | 3 +- web/src/routes/auth/change-password/+page.ts | 5 +- web/src/routes/auth/onboarding/+page.svelte | 6 +- 77 files changed, 387 insertions(+), 379 deletions(-) delete mode 100644 web/src/lib/stores/user.store.ts diff --git a/web/src/lib/components/VersionAnnouncement.svelte b/web/src/lib/components/VersionAnnouncement.svelte index 138813735f..2123f2f523 100644 --- a/web/src/lib/components/VersionAnnouncement.svelte +++ b/web/src/lib/components/VersionAnnouncement.svelte @@ -1,7 +1,7 @@ rateAsset(null) }, ...[1, 2, 3, 4, 5].map((rating) => ({ diff --git a/web/src/lib/components/asset-viewer/activity-viewer.svelte b/web/src/lib/components/asset-viewer/activity-viewer.svelte index 0dc031a5e3..30271a45a9 100644 --- a/web/src/lib/components/asset-viewer/activity-viewer.svelte +++ b/web/src/lib/components/asset-viewer/activity-viewer.svelte @@ -5,13 +5,14 @@ import { timeBeforeShowLoadingSpinner } from '$lib/constants'; import { activityManager } from '$lib/managers/activity-manager.svelte'; import { assetViewerManager } from '$lib/managers/asset-viewer-manager.svelte'; + import { authManager } from '$lib/managers/auth-manager.svelte'; import { Route } from '$lib/route'; import { locale } from '$lib/stores/preferences.store'; import { getAssetMediaUrl } from '$lib/utils'; import { getAssetType } from '$lib/utils/asset-utils'; import { handleError } from '$lib/utils/handle-error'; import { isTenMinutesApart } from '$lib/utils/timesince'; - import { ReactionType, type ActivityResponseDto, type AssetTypeEnum, type UserResponseDto } from '@immich/sdk'; + import { ReactionType, type ActivityResponseDto, type AssetTypeEnum } from '@immich/sdk'; import { Icon, IconButton, LoadingSpinner, Textarea, toastManager } from '@immich/ui'; import { mdiClose, mdiDeleteOutline, mdiDotsVertical, mdiSend, mdiThumbUp } from '@mdi/js'; import * as luxon from 'luxon'; @@ -39,7 +40,6 @@ }; interface Props { - user: UserResponseDto; assetId?: string | undefined; albumId: string; assetType?: AssetTypeEnum | undefined; @@ -47,7 +47,7 @@ disabled: boolean; } - let { user, assetId = undefined, albumId, assetType = undefined, albumOwnerId, disabled }: Props = $props(); + let { assetId = undefined, albumId, assetType = undefined, albumOwnerId, disabled }: Props = $props(); let innerHeight: number = $state(0); let activityHeight: number = $state(0); @@ -147,7 +147,7 @@ /> {/if} - {#if reaction.user.id === user.id || albumOwnerId === user.id} + {#if reaction.user.id === authManager.user.id || albumOwnerId === authManager.user.id}
{/if} - {#if reaction.user.id === user.id || albumOwnerId === user.id} + {#if reaction.user.id === authManager.user.id || albumOwnerId === authManager.user.id}
- +