├── .devcontainer ├── devcontainer.json ├── mobile │ ├── container-compose-overrides.yml │ └── devcontainer.json └── server │ ├── container-common.sh │ ├── container-compose-overrides.yml │ ├── container-start-backend.sh │ ├── container-start-frontend.sh │ └── container-start.sh ├── .dockerignore ├── .editorconfig ├── .gitattributes ├── .github ├── .nvmrc ├── .prettierignore ├── DISCUSSION_TEMPLATE │ └── feature-request.yaml ├── FUNDING.yml ├── ISSUE_TEMPLATE │ ├── bug_report.yaml │ └── config.yml ├── PULL_REQUEST_TEMPLATE │ └── config.yml ├── disabled │ ├── build-mobile.yml │ ├── docs-build.yml │ └── test.yml ├── labeler.yml ├── package.json ├── pull_request_template.md ├── release.yml └── workflows │ ├── cache-cleanup.yml │ ├── cli.yml │ ├── close-duplicates.yml │ ├── codeql-analysis.yml │ ├── docker-pu.yml │ ├── docker.yml │ ├── docs-deploy.yml │ ├── docs-destroy.yml │ ├── fix-format.yml │ ├── merge-translations.yml │ ├── org-pr-require-conventional-commit.yml │ ├── org-zizmor.yml │ ├── pr-label-validation.yml │ ├── pr-labeler.yml │ ├── prepare-release.yml │ ├── preview-label.yaml │ ├── sdk.yml │ ├── static_analysis.yml │ └── weblate-lock.yml ├── .gitignore ├── .gitmodules ├── .pnpmfile.cjs ├── .vscode ├── extensions.json ├── launch.json ├── settings.json └── tasks.json ├── CODEOWNERS ├── CODE_OF_CONDUCT.md ├── Dockerfile.pu ├── LICENSE ├── Makefile ├── README.md ├── SECURITY.md ├── changes.md ├── cli ├── .editorconfig ├── .gitignore ├── .npmignore ├── .nvmrc ├── .prettierignore ├── .prettierrc ├── Dockerfile ├── LICENSE ├── README.md ├── bin │ └── immich ├── eslint.config.mjs ├── package.json ├── src │ ├── commands │ │ ├── asset.spec.ts │ │ ├── asset.ts │ │ ├── auth.ts │ │ └── server-info.ts │ ├── index.ts │ ├── queue.ts │ ├── utils.spec.ts │ └── utils.ts ├── tsconfig.json ├── vite.config.ts └── vitest.config.ts ├── deployment ├── .env ├── .gitignore ├── modules │ └── cloudflare │ │ ├── docs-release │ │ ├── .terraform.lock.hcl │ │ ├── config.tf │ │ ├── domain.tf │ │ ├── providers.tf │ │ ├── remote-state.tf │ │ ├── terragrunt.hcl │ │ └── variables.tf │ │ └── docs │ │ ├── .terraform.lock.hcl │ │ ├── config.tf │ │ ├── domain.tf │ │ ├── locals.tf │ │ ├── providers.tf │ │ ├── remote-state.tf │ │ ├── terragrunt.hcl │ │ └── variables.tf └── state.hcl ├── design ├── .DS_Store ├── immich-logo-inline-dark.png ├── immich-logo-inline-dark.svg ├── immich-logo-inline-light.png ├── immich-logo-inline-light.svg ├── immich-logo-stacked-dark.png ├── immich-logo-stacked-dark.svg ├── immich-logo-stacked-light.png ├── immich-logo-stacked-light.svg ├── immich-logo.png ├── immich-logo.svg ├── immich-screenshots.png ├── immich-text-dark.png └── immich-text-light.png ├── docker ├── .gitignore ├── README.md ├── docker-compose.dev.yml ├── docker-compose.prod.yml ├── docker-compose.yml ├── example.env ├── hwaccel.ml.yml ├── hwaccel.transcoding.yml └── prometheus.yml ├── docs ├── .gitignore ├── .nvmrc ├── .prettierignore ├── .prettierrc ├── README.md ├── babel.config.js ├── docs │ ├── FAQ.mdx │ ├── administration │ │ ├── _category_.json │ │ ├── backup-and-restore.md │ │ ├── email-notification.mdx │ │ ├── img │ │ │ ├── admin-jobs.webp │ │ │ ├── admin-nightly-tasks.webp │ │ │ ├── administration-panel.webp │ │ │ ├── authentik-redirect-uris-example.webp │ │ │ ├── authentik-redirect.webp │ │ │ ├── customize-delete-user.webp │ │ │ ├── delete-user.webp │ │ │ ├── disable-password-login.webp │ │ │ ├── enable-password-login.webp │ │ │ ├── google-redirect-uris-example.webp │ │ │ ├── immediately-remove-user.webp │ │ │ ├── immich-email-notefaction.webp │ │ │ ├── list-users.webp │ │ │ ├── password-login-settings.webp │ │ │ ├── reset-admin-password.webp │ │ │ ├── send-user-email-notification.webp │ │ │ ├── server-stats.webp │ │ │ ├── user-management-update.webp │ │ │ ├── user-notifications-settings.webp │ │ │ ├── user-notifications-templates.webp │ │ │ ├── user-quota-size.webp │ │ │ └── user-storage-label.webp │ │ ├── jobs-workers.md │ │ ├── oauth.md │ │ ├── postgres-standalone.md │ │ ├── reverse-proxy.md │ │ ├── server-commands.md │ │ ├── server-stats.md │ │ ├── storage-template.mdx │ │ ├── system-integrity.md │ │ ├── system-settings.md │ │ └── user-management.mdx │ ├── developer │ │ ├── _category_.json │ │ ├── architecture.mdx │ │ ├── database-migrations.md │ │ ├── devcontainers.md │ │ ├── directories.md │ │ ├── img │ │ │ ├── app-architecture.drawio.xml │ │ │ ├── app-architecture.webp │ │ │ ├── immich_mobile_architecture.drawio │ │ │ └── immich_mobile_architecture.svg │ │ ├── open-api.md │ │ ├── pr-checklist.md │ │ ├── setup.md │ │ ├── testing.md │ │ ├── translations.md │ │ └── troubleshooting.md │ ├── features │ │ ├── _category_.json │ │ ├── automatic-backup.md │ │ ├── casting.md │ │ ├── command-line-interface.md │ │ ├── facial-recognition.md │ │ ├── folder-view.md │ │ ├── hardware-transcoding.md │ │ ├── img │ │ │ ├── advanced-search-filters.webp │ │ │ ├── background-app-refresh.webp │ │ │ ├── background-foreground-backup.webp │ │ │ ├── backup-settings-access.webp │ │ │ ├── facial-recognition-1.webp │ │ │ ├── facial-recognition-2.webp │ │ │ ├── facial-recognition-3.webp │ │ │ ├── facial-recognition-4.webp │ │ │ ├── folder-access.webp │ │ │ ├── folder-view-1.webp │ │ │ ├── folder-view-enable.webp │ │ │ ├── gcast-enable.webp │ │ │ ├── library-custom-scan-interval.webp │ │ │ ├── me.webp │ │ │ ├── mobile-smart-search.webp │ │ │ ├── mobile-upload-open-photo.webp │ │ │ ├── mobile-upload-selected-photos.webp │ │ │ ├── my-wife.webp │ │ │ ├── obtain-api-key.webp │ │ │ ├── partner-sharing-1.webp │ │ │ ├── partner-sharing-2.webp │ │ │ ├── partner-sharing-3.webp │ │ │ ├── partner-sharing-4.webp │ │ │ ├── partner-sharing-5.webp │ │ │ ├── partner-sharing-6.webp │ │ │ ├── partner-sharing-7.webp │ │ │ ├── partner-sharing-8.webp │ │ │ ├── public-shared-link-album.webp │ │ │ ├── public-shared-link-form.webp │ │ │ ├── public-shared-link-individual.webp │ │ │ ├── reverse-geocoding-mobile1.webp │ │ │ ├── reverse-geocoding-mobile2.webp │ │ │ ├── reverse-geocoding-mobile3.webp │ │ │ ├── search-ex-1.webp │ │ │ ├── shared-album-mobile.webp │ │ │ ├── shared-album-user-selection.webp │ │ │ ├── shared-album.webp │ │ │ ├── sidecar-jobs.webp │ │ │ ├── tag-creation.webp │ │ │ ├── tag-enable.webp │ │ │ ├── tag-form.webp │ │ │ ├── tag-view.webp │ │ │ ├── user-change-password.webp │ │ │ ├── user-popup.webp │ │ │ ├── user-profile.webp │ │ │ ├── user-settings-1.webp │ │ │ ├── user-settings-2.webp │ │ │ └── user-settings-3.webp │ │ ├── libraries.md │ │ ├── ml-hardware-acceleration.md │ │ ├── mobile-app.mdx │ │ ├── monitoring.md │ │ ├── partner-sharing.md │ │ ├── reverse-geocoding.md │ │ ├── searching.md │ │ ├── sharing.md │ │ ├── supported-formats.md │ │ ├── tags.md │ │ ├── user-settings.md │ │ └── xmp-sidecars.md │ ├── guides │ │ ├── _category_.json │ │ ├── assets │ │ │ └── 20231219_183007_add-new-server-option.png │ │ ├── better-facial-clusters.md │ │ ├── custom-locations.md │ │ ├── custom-map-styles.md │ │ ├── database-gui.md │ │ ├── database-queries.md │ │ ├── docker-help.md │ │ ├── external-library.md │ │ ├── img │ │ │ ├── add-path-button.webp │ │ │ ├── add-path-field.webp │ │ │ ├── administration-link.webp │ │ │ ├── create-external-library.webp │ │ │ ├── edit-import-paths.webp │ │ │ ├── email-settings.webp │ │ │ ├── external-libraries.webp │ │ │ ├── google-app-password.webp │ │ │ ├── immich_map_styles_publish.webp │ │ │ ├── job-status.webp │ │ │ ├── jobs-tab.webp │ │ │ ├── libraries-dropdown.webp │ │ │ ├── library-owner.webp │ │ │ ├── path-save.webp │ │ │ ├── pgadmin-add-new-server.webp │ │ │ ├── scan-new-library-files.webp │ │ │ └── user-avatar.webp │ │ ├── python-file-upload.md │ │ ├── remote-access.md │ │ ├── remote-machine-learning.md │ │ ├── scaling-immich.md │ │ ├── smtp-gmail.md │ │ └── template-backup-script.md │ ├── install │ │ ├── _category_.json │ │ ├── all-in-one.md │ │ ├── config-file.md │ │ ├── docker-compose.mdx │ │ ├── environment-variables.md │ │ ├── img │ │ │ ├── dot-env.webp │ │ │ ├── env-1.webp │ │ │ ├── env-2.webp │ │ │ ├── truenas │ │ │ │ ├── truenas00.webp │ │ │ │ ├── truenas01.webp │ │ │ │ ├── truenas02.webp │ │ │ │ ├── truenas03.webp │ │ │ │ ├── truenas04.webp │ │ │ │ ├── truenas05.webp │ │ │ │ ├── truenas06.webp │ │ │ │ ├── truenas07.webp │ │ │ │ ├── truenas08.webp │ │ │ │ ├── truenas09.webp │ │ │ │ ├── truenas10.webp │ │ │ │ ├── truenas11.webp │ │ │ │ └── truenas12.webp │ │ │ ├── unraid01.webp │ │ │ ├── unraid02.webp │ │ │ ├── unraid03.webp │ │ │ ├── unraid04.webp │ │ │ ├── unraid05.webp │ │ │ ├── unraid06.webp │ │ │ ├── unraid07.webp │ │ │ ├── unraid08.webp │ │ │ ├── unraid09.webp │ │ │ ├── unraid10.webp │ │ │ ├── unraid11.webp │ │ │ └── unraid12.webp │ │ ├── kubernetes.md │ │ ├── one-click.md │ │ ├── portainer.md │ │ ├── post-install.mdx │ │ ├── requirements.md │ │ ├── script.md │ │ ├── synology.md │ │ ├── truenas.md │ │ ├── unraid.md │ │ └── upgrading.md │ ├── overview │ │ ├── _category_.json │ │ ├── comparison.md │ │ ├── help.md │ │ ├── img │ │ │ ├── alex-picture.jpeg │ │ │ ├── appicon.webp │ │ │ ├── feature-panel.webp │ │ │ └── upload-button.webp │ │ ├── quick-start.mdx │ │ └── support-the-project.md │ └── partials │ │ ├── _docker-compose-install-steps.mdx │ │ ├── _mobile-app-backup.md │ │ ├── _mobile-app-download.md │ │ ├── _mobile-app-login.md │ │ ├── _register-admin.md │ │ ├── _server-backup.md │ │ ├── _storage-template.md │ │ ├── _user-create.md │ │ └── img │ │ ├── admin-registration-form.webp │ │ ├── album-selection.webp │ │ ├── backup-header.webp │ │ ├── create-new-user-dialog.webp │ │ ├── create-new-user.webp │ │ ├── enable-storage-template.webp │ │ ├── sign-in-phone.webp │ │ ├── storage-template-migration-job.webp │ │ └── storage-template.webp ├── docusaurus.config.js ├── package.json ├── sidebars.js ├── src │ ├── components │ │ ├── timeline.tsx │ │ └── version-switcher.tsx │ ├── css │ │ └── custom.css │ ├── pages │ │ ├── errors.md │ │ ├── index.tsx │ │ └── privacy-policy.tsx │ └── theme │ │ └── NavbarItem │ │ └── ComponentTypes.js ├── static │ ├── .nojekyll │ ├── CNAME │ ├── _redirects │ ├── archived-versions.json │ ├── fonts │ │ └── overpass │ │ │ ├── Overpass-Italic.ttf │ │ │ ├── Overpass.ttf │ │ │ └── OverpassMono.ttf │ └── img │ │ ├── app-qr-code-dark.svg │ │ ├── app-qr-code-light.svg │ │ ├── cloud-done.svg │ │ ├── cloud-off.svg │ │ ├── cloud.svg │ │ ├── color-logo.png │ │ ├── download-apk-github.svg │ │ ├── favicon.ico │ │ ├── favicon.png │ │ ├── feature-panel.png │ │ ├── google-play-badge.png │ │ ├── immich-logo-inline-dark.png │ │ ├── immich-logo-inline-light.png │ │ ├── immich-logo-stacked-dark.svg │ │ ├── immich-logo-stacked-light.svg │ │ ├── immich-logo.svg │ │ ├── ios-app-store-badge.png │ │ ├── ios-app-store-badge.svg │ │ ├── logomark-dark-with-futo.svg │ │ ├── logomark-dark.svg │ │ ├── logomark-light-with-futo.svg │ │ ├── logomark-light.svg │ │ ├── screenshot-dark.webp │ │ ├── screenshot-light.webp │ │ ├── synology-action-clean.png │ │ ├── synology-build.png │ │ ├── synology-container-ip.png │ │ ├── synology-container-manager-container-details.png │ │ ├── synology-container-manager-create-project.png │ │ ├── synology-container-manager-customize-docker-compose.png │ │ ├── synology-container-manager-set-path.png │ │ ├── synology-custom-port-firewall-rule.png │ │ ├── synology-firewall-rules.png │ │ ├── synology-fw-ipedit.png │ │ ├── synology-fw-rules.png │ │ ├── synology-ipaddress-firewall-rule.png │ │ ├── synology-project-stop.png │ │ ├── synology-remove-unused.png │ │ └── synology-select-proj.png ├── tailwind.config.js └── tsconfig.json ├── e2e ├── .gitignore ├── .nvmrc ├── .prettierignore ├── .prettierrc ├── docker-compose.yml ├── eslint.config.mjs ├── package.json ├── playwright.config.ts ├── src │ ├── api │ │ └── specs │ │ │ ├── activity.e2e-spec.ts │ │ │ ├── album.e2e-spec.ts │ │ │ ├── api-key.e2e-spec.ts │ │ │ ├── asset.e2e-spec.ts │ │ │ ├── download.e2e-spec.ts │ │ │ ├── jobs.e2e-spec.ts │ │ │ ├── library.e2e-spec.ts │ │ │ ├── map.e2e-spec.ts │ │ │ ├── memory.e2e-spec.ts │ │ │ ├── oauth.e2e-spec.ts │ │ │ ├── partner.e2e-spec.ts │ │ │ ├── person.e2e-spec.ts │ │ │ ├── search.e2e-spec.ts │ │ │ ├── server.e2e-spec.ts │ │ │ ├── session.e2e-spec.ts │ │ │ ├── shared-link.e2e-spec.ts │ │ │ ├── stack.e2e-spec.ts │ │ │ ├── system-config.e2e-spec.ts │ │ │ ├── system-metadata.e2e-spec.ts │ │ │ ├── tag.e2e-spec.ts │ │ │ ├── trash.e2e-spec.ts │ │ │ ├── user-admin.e2e-spec.ts │ │ │ └── user.e2e-spec.ts │ ├── cli │ │ └── specs │ │ │ ├── login.e2e-spec.ts │ │ │ ├── server-info.e2e-spec.ts │ │ │ ├── upload.e2e-spec.ts │ │ │ └── version.e2e-spec.ts │ ├── fixtures.ts │ ├── generate-date-tag-test-images.ts │ ├── generators.ts │ ├── immich-admin │ │ └── specs │ │ │ └── immich-admin.e2e-spec.ts │ ├── responses.ts │ ├── setup │ │ ├── auth-server.ts │ │ └── docker-compose.ts │ ├── utils.ts │ └── web │ │ └── specs │ │ ├── album.e2e-spec.ts │ │ ├── asset-viewer │ │ ├── detail-panel.e2e-spec.ts │ │ ├── navbar.e2e-spec.ts │ │ ├── slideshow.e2e-spec.ts │ │ └── stack.e2e-spec.ts │ │ ├── auth.e2e-spec.ts │ │ ├── photo-viewer.e2e-spec.ts │ │ ├── shared-link.e2e-spec.ts │ │ ├── user-admin.e2e-spec.ts │ │ └── websocket.e2e-spec.ts ├── tsconfig.json └── vitest.config.ts ├── fastlane ├── README.md └── metadata ├── i18n ├── af.json ├── ar.json ├── az.json ├── be.json ├── bg.json ├── bi.json ├── bn.json ├── ca.json ├── cs.json ├── cv.json ├── da.json ├── de.json ├── el.json ├── en.json ├── es.json ├── et.json ├── eu.json ├── fa.json ├── fi.json ├── fil.json ├── fr.json ├── gl.json ├── he.json ├── hi.json ├── hr.json ├── hu.json ├── hy.json ├── id.json ├── it.json ├── ja.json ├── ka.json ├── kk.json ├── kmr.json ├── kn.json ├── ko.json ├── lb.json ├── lt.json ├── lv.json ├── mfa.json ├── mk.json ├── ml.json ├── mn.json ├── mr.json ├── ms.json ├── nb_NO.json ├── nl.json ├── nn.json ├── pa.json ├── pl.json ├── pt.json ├── pt_BR.json ├── ro.json ├── ru.json ├── sk.json ├── sl.json ├── sq.json ├── sr_Cyrl.json ├── sr_Latn.json ├── sv.json ├── ta.json ├── te.json ├── th.json ├── tr.json ├── uk.json ├── ur.json ├── vi.json ├── zh_Hant.json └── zh_SIMPLIFIED.json ├── install.sh ├── machine-learning ├── .dockerignore ├── .gitignore ├── Dockerfile ├── README.md ├── README_es_ES.md ├── README_fr_FR.md ├── ann │ ├── __init__.py │ ├── ann.cpp │ ├── build.sh │ └── export │ │ ├── .gitignore │ │ ├── build-converter.sh │ │ ├── download-armnn.sh │ │ ├── env.yaml │ │ └── run.py ├── conftest.py ├── immich_ml │ ├── __init__.py │ ├── __main__.py │ ├── config.py │ ├── gunicorn_conf.py │ ├── log_conf.json │ ├── main.py │ ├── models │ │ ├── __init__.py │ │ ├── base.py │ │ ├── cache.py │ │ ├── clip │ │ │ ├── textual.py │ │ │ └── visual.py │ │ ├── constants.py │ │ ├── facial_recognition │ │ │ ├── detection.py │ │ │ └── recognition.py │ │ ├── ocr │ │ │ ├── detection.py │ │ │ ├── recognition.py │ │ │ └── schemas.py │ │ └── transforms.py │ ├── schemas.py │ └── sessions │ │ ├── __init__.py │ │ ├── ann │ │ ├── __init__.py │ │ └── loader.py │ │ ├── ort.py │ │ └── rknn │ │ ├── __init__.py │ │ └── rknnpool.py ├── locustfile.py ├── patches │ ├── 0001-disable-rocm-conv-algo-caching.patch │ └── 0002-target-gfx900-gfx1102.patch ├── pyproject.toml ├── responses.json ├── scripts │ ├── configure-apt.sh │ └── healthcheck.py ├── test_main.py └── uv.lock ├── misc └── release │ ├── archive-version.js │ ├── notes.tmpl │ └── pump-version.sh ├── mise.toml ├── mobile ├── .fvmrc ├── .gitignore ├── .isar-cargo.lock ├── .metadata ├── .vscode │ └── settings.json ├── README.md ├── analysis_options.yaml ├── android │ ├── .gitignore │ ├── Gemfile │ ├── Gemfile.lock │ ├── app │ │ ├── CMakeLists.txt │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ ├── debug │ │ │ └── AndroidManifest.xml │ │ │ ├── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── cpp │ │ │ │ └── native_buffer.c │ │ │ ├── kotlin │ │ │ │ └── app │ │ │ │ │ └── alextran │ │ │ │ │ └── immich │ │ │ │ │ ├── AppGlideModule.kt │ │ │ │ │ ├── BackgroundServicePlugin.kt │ │ │ │ │ ├── BackupWorker.kt │ │ │ │ │ ├── ContentObserverWorker.kt │ │ │ │ │ ├── HttpSSLOptionsPlugin.kt │ │ │ │ │ ├── ImmichApp.kt │ │ │ │ │ ├── MainActivity.kt │ │ │ │ │ ├── background │ │ │ │ │ ├── BackgroundEngineLock.kt │ │ │ │ │ ├── BackgroundWorker.g.kt │ │ │ │ │ ├── BackgroundWorker.kt │ │ │ │ │ ├── BackgroundWorkerApiImpl.kt │ │ │ │ │ ├── BackgroundWorkerLock.g.kt │ │ │ │ │ ├── BackgroundWorkerPreferences.kt │ │ │ │ │ └── MediaObserver.kt │ │ │ │ │ ├── connectivity │ │ │ │ │ ├── Connectivity.g.kt │ │ │ │ │ └── ConnectivityApiImpl.kt │ │ │ │ │ ├── core │ │ │ │ │ └── ImmichPlugin.kt │ │ │ │ │ ├── images │ │ │ │ │ ├── ThumbHash.java │ │ │ │ │ ├── Thumbnails.g.kt │ │ │ │ │ └── ThumbnailsImpl.kt │ │ │ │ │ ├── sync │ │ │ │ │ ├── Messages.g.kt │ │ │ │ │ ├── MessagesImpl26.kt │ │ │ │ │ ├── MessagesImpl30.kt │ │ │ │ │ └── MessagesImplBase.kt │ │ │ │ │ └── widget │ │ │ │ │ ├── BitmapUtils.kt │ │ │ │ │ ├── ImageDownloadWorker.kt │ │ │ │ │ ├── ImmichAPI.kt │ │ │ │ │ ├── MemoryReceiver.kt │ │ │ │ │ ├── PhotoWidget.kt │ │ │ │ │ ├── RandomReceiver.kt │ │ │ │ │ ├── configure │ │ │ │ │ ├── Dropdown.kt │ │ │ │ │ ├── LightDarkTheme.kt │ │ │ │ │ └── RandomConfigure.kt │ │ │ │ │ └── model │ │ │ │ │ └── Model.kt │ │ │ └── res │ │ │ │ ├── drawable-hdpi │ │ │ │ ├── android12splash.png │ │ │ │ ├── ic_launcher_foreground.png │ │ │ │ ├── notification_icon.png │ │ │ │ └── splash.png │ │ │ │ ├── drawable-mdpi │ │ │ │ ├── android12splash.png │ │ │ │ ├── ic_launcher_foreground.png │ │ │ │ ├── notification_icon.png │ │ │ │ └── splash.png │ │ │ │ ├── drawable-night-hdpi │ │ │ │ └── android12splash.png │ │ │ │ ├── drawable-night-mdpi │ │ │ │ └── android12splash.png │ │ │ │ ├── drawable-night-v21 │ │ │ │ ├── background.png │ │ │ │ └── launch_background.xml │ │ │ │ ├── drawable-night-xhdpi │ │ │ │ └── android12splash.png │ │ │ │ ├── drawable-night-xxhdpi │ │ │ │ └── android12splash.png │ │ │ │ ├── drawable-night-xxxhdpi │ │ │ │ └── android12splash.png │ │ │ │ ├── drawable-night │ │ │ │ ├── background.png │ │ │ │ └── launch_background.xml │ │ │ │ ├── drawable-nodpi │ │ │ │ ├── memory_preview.png │ │ │ │ └── random_preview.png │ │ │ │ ├── drawable-v21 │ │ │ │ ├── background.png │ │ │ │ └── launch_background.xml │ │ │ │ ├── drawable-xhdpi │ │ │ │ ├── android12splash.png │ │ │ │ ├── ic_launcher_foreground.png │ │ │ │ ├── notification_icon.png │ │ │ │ └── splash.png │ │ │ │ ├── drawable-xxhdpi │ │ │ │ ├── android12splash.png │ │ │ │ ├── ic_launcher_foreground.png │ │ │ │ ├── notification_icon.png │ │ │ │ └── splash.png │ │ │ │ ├── drawable-xxxhdpi │ │ │ │ ├── android12splash.png │ │ │ │ ├── ic_launcher_foreground.png │ │ │ │ ├── notification_icon.png │ │ │ │ └── splash.png │ │ │ │ ├── drawable │ │ │ │ ├── background.png │ │ │ │ ├── ic_launcher_foreground.xml │ │ │ │ ├── ic_launcher_monochrome.xml │ │ │ │ └── launch_background.xml │ │ │ │ ├── mipmap-anydpi-v26 │ │ │ │ └── ic_launcher.xml │ │ │ │ ├── mipmap-hdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-mdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxxhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── values-night-v31 │ │ │ │ └── styles.xml │ │ │ │ ├── values-night │ │ │ │ └── styles.xml │ │ │ │ ├── values-v31 │ │ │ │ └── styles.xml │ │ │ │ ├── values │ │ │ │ ├── colors.xml │ │ │ │ ├── strings.xml │ │ │ │ └── styles.xml │ │ │ │ └── xml │ │ │ │ ├── memory_widget.xml │ │ │ │ └── random_widget.xml │ │ │ └── profile │ │ │ └── AndroidManifest.xml │ ├── build.gradle │ ├── build │ │ └── reports │ │ │ └── problems │ │ │ └── problems-report.html │ ├── fastlane │ │ ├── Appfile │ │ ├── Fastfile │ │ ├── README.md │ │ └── metadata │ │ │ └── android │ │ │ └── en-US │ │ │ ├── changelogs │ │ │ ├── 10.txt │ │ │ ├── 11.txt │ │ │ ├── 12.txt │ │ │ ├── 13.txt │ │ │ ├── 14.txt │ │ │ ├── 15.txt │ │ │ ├── 16.txt │ │ │ ├── 17.txt │ │ │ ├── 18.txt │ │ │ ├── 19.txt │ │ │ ├── 20.txt │ │ │ ├── 21.txt │ │ │ ├── 22.txt │ │ │ ├── 23.txt │ │ │ ├── 24.txt │ │ │ ├── 25.txt │ │ │ ├── 26.txt │ │ │ ├── 27.txt │ │ │ ├── 28.txt │ │ │ ├── 29.txt │ │ │ ├── 30.txt │ │ │ ├── 31.txt │ │ │ ├── 32.txt │ │ │ ├── 33.txt │ │ │ ├── 34.txt │ │ │ ├── 35.txt │ │ │ ├── 36.txt │ │ │ ├── 37.txt │ │ │ ├── 38.txt │ │ │ ├── 39.txt │ │ │ ├── 40.txt │ │ │ ├── 41.txt │ │ │ ├── 42.txt │ │ │ ├── 43.txt │ │ │ ├── 44.txt │ │ │ ├── 45.txt │ │ │ ├── 46.txt │ │ │ ├── 47.txt │ │ │ ├── 48.txt │ │ │ ├── 49.txt │ │ │ ├── 50.txt │ │ │ ├── 51.txt │ │ │ ├── 52.txt │ │ │ ├── 53.txt │ │ │ ├── 54.txt │ │ │ ├── 55.txt │ │ │ ├── 56.txt │ │ │ ├── 57.txt │ │ │ ├── 58.txt │ │ │ ├── 59.txt │ │ │ ├── 6.txt │ │ │ ├── 60.txt │ │ │ ├── 61.txt │ │ │ ├── 62.txt │ │ │ ├── 63.txt │ │ │ ├── 64.txt │ │ │ ├── 65.txt │ │ │ ├── 66.txt │ │ │ ├── 67.txt │ │ │ ├── 68.txt │ │ │ ├── 69.txt │ │ │ ├── 70.txt │ │ │ ├── 71.txt │ │ │ ├── 72.txt │ │ │ ├── 73.txt │ │ │ ├── 74.txt │ │ │ ├── 75.txt │ │ │ ├── 76.txt │ │ │ ├── 77.txt │ │ │ ├── 78.txt │ │ │ ├── 79.txt │ │ │ ├── 8.txt │ │ │ ├── 80.txt │ │ │ └── 9.txt │ │ │ ├── full_description.txt │ │ │ ├── images │ │ │ ├── featureGraphic.png │ │ │ ├── icon.png │ │ │ ├── phoneScreenshots │ │ │ │ ├── 1_en-US.png │ │ │ │ ├── 2_en-US.png │ │ │ │ ├── 3_en-US.png │ │ │ │ ├── 4_en-US.png │ │ │ │ ├── 5_en-US.png │ │ │ │ ├── 6_en-US.png │ │ │ │ └── 7_en-US.png │ │ │ ├── sevenInchScreenshots │ │ │ │ ├── 1_en-US.png │ │ │ │ ├── 2_en-US.png │ │ │ │ ├── 3_en-US.png │ │ │ │ ├── 4_en-US.png │ │ │ │ └── 5_en-US.png │ │ │ └── tenInchScreenshots │ │ │ │ ├── 1_en-US.png │ │ │ │ ├── 2_en-US.png │ │ │ │ ├── 3_en-US.png │ │ │ │ ├── 4_en-US.png │ │ │ │ └── 5_en-US.png │ │ │ ├── short_description.txt │ │ │ ├── title.txt │ │ │ └── video.txt │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ └── gradle-wrapper.properties │ ├── metadata │ │ └── en-US │ │ │ ├── full_description.txt │ │ │ ├── images │ │ │ ├── featureGraphic.png │ │ │ ├── icon.png │ │ │ ├── phoneScreenshots │ │ │ │ ├── 1_en-US.png │ │ │ │ ├── 2_en-US.png │ │ │ │ ├── 3_en-US.png │ │ │ │ ├── 4_en-US.png │ │ │ │ ├── 5_en-US.png │ │ │ │ └── 6_en-US.png │ │ │ ├── sevenInchScreenshots │ │ │ │ ├── 1_en-US.png │ │ │ │ ├── 2_en-US.png │ │ │ │ ├── 3_en-US.png │ │ │ │ ├── 4_en-US.png │ │ │ │ └── 5_en-US.png │ │ │ └── tenInchScreenshots │ │ │ │ ├── 1_en-US.png │ │ │ │ ├── 2_en-US.png │ │ │ │ ├── 3_en-US.png │ │ │ │ ├── 4_en-US.png │ │ │ │ └── 5_en-US.png │ │ │ ├── short_description.txt │ │ │ ├── title.txt │ │ │ └── video.txt │ └── settings.gradle ├── assets │ ├── immich-logo-android-adaptive-icon.png │ ├── immich-logo-inline-dark.png │ ├── immich-logo-inline-dark.svg │ ├── immich-logo-inline-light.png │ ├── immich-logo-inline-light.svg │ ├── immich-logo-w-bg-android.png │ ├── immich-logo-w-bg.png │ ├── immich-logo.json │ ├── immich-logo.png │ ├── immich-logo.svg │ ├── immich-splash-android12.png │ ├── immich-splash.png │ ├── immich-text-dark.png │ ├── immich-text-light.png │ ├── lighthouse.png │ ├── location-pin.png │ ├── pixelunion-android12-splash.xcf │ ├── pixelunion-logo-android-adaptive-icon.png │ ├── pixelunion-logo-full.png │ ├── pixelunion-logo-w-bg.png │ ├── pixelunion-logo.png │ ├── pixelunion-logo.xcf │ ├── pixelunion-no-bg.png │ ├── pixelunion-no-bg.svg │ ├── pixelunion-splash-android12.png │ ├── pixelunion-splash.png │ ├── pixelunion-splash.xcf │ ├── pixelunion-text-dark.png │ ├── pixelunion-text-dark.xcf │ ├── pixelunion-text-light.png │ ├── pixelunion-text-light.xcf │ ├── pixelunion.svg │ ├── polaroid-dark.png │ └── polaroid-light.png ├── bin │ └── generate_keys.dart ├── build.yaml ├── dart_test.yaml ├── dcm_global.yaml ├── devtools_options.yaml ├── drift_schemas │ └── main │ │ ├── drift_schema_v1.json │ │ ├── drift_schema_v10.json │ │ ├── drift_schema_v11.json │ │ ├── drift_schema_v12.json │ │ ├── drift_schema_v2.json │ │ ├── drift_schema_v3.json │ │ ├── drift_schema_v4.json │ │ ├── drift_schema_v5.json │ │ ├── drift_schema_v6.json │ │ ├── drift_schema_v7.json │ │ ├── drift_schema_v8.json │ │ └── drift_schema_v9.json ├── flutter_native_splash.yaml ├── fonts │ ├── Inconsolata-Regular.ttf │ └── overpass │ │ ├── Overpass-Bold.ttf │ │ ├── Overpass-Italic.ttf │ │ ├── Overpass-Medium.ttf │ │ ├── Overpass-Regular.ttf │ │ ├── Overpass-SemiBold.ttf │ │ └── OverpassMono.ttf ├── immich_lint │ ├── analysis_options.yaml │ ├── lib │ │ └── immich_mobile_immich_lint.dart │ ├── pubspec.lock │ └── pubspec.yaml ├── integration_test │ ├── module_login │ │ ├── login_input_validation_test.dart │ │ └── login_test.dart │ └── test_utils │ │ ├── general_helper.dart │ │ └── login_helper.dart ├── ios │ ├── .gitignore │ ├── Flutter │ │ ├── AppFrameworkInfo.plist │ │ ├── Debug.xcconfig │ │ └── Release.xcconfig │ ├── Gemfile │ ├── Podfile │ ├── Podfile.lock │ ├── Runner.xcodeproj │ │ ├── project.pbxproj │ │ ├── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcshareddata │ │ │ │ ├── IDEWorkspaceChecks.plist │ │ │ │ └── WorkspaceSettings.xcsettings │ │ └── xcshareddata │ │ │ └── xcschemes │ │ │ └── Runner.xcscheme │ ├── Runner.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata │ │ │ ├── IDEWorkspaceChecks.plist │ │ │ └── WorkspaceSettings.xcsettings │ ├── Runner │ │ ├── AppDelegate.swift │ │ ├── Assets.xcassets │ │ │ ├── AppIcon.appiconset │ │ │ │ ├── 100.png │ │ │ │ ├── 102.png │ │ │ │ ├── 1024.png │ │ │ │ ├── 114.png │ │ │ │ ├── 120.png │ │ │ │ ├── 128.png │ │ │ │ ├── 144.png │ │ │ │ ├── 152.png │ │ │ │ ├── 16.png │ │ │ │ ├── 167.png │ │ │ │ ├── 172.png │ │ │ │ ├── 180.png │ │ │ │ ├── 196.png │ │ │ │ ├── 20.png │ │ │ │ ├── 216.png │ │ │ │ ├── 256.png │ │ │ │ ├── 29.png │ │ │ │ ├── 32.png │ │ │ │ ├── 40.png │ │ │ │ ├── 48.png │ │ │ │ ├── 50.png │ │ │ │ ├── 512.png │ │ │ │ ├── 55.png │ │ │ │ ├── 57.png │ │ │ │ ├── 58.png │ │ │ │ ├── 60.png │ │ │ │ ├── 64.png │ │ │ │ ├── 66.png │ │ │ │ ├── 72.png │ │ │ │ ├── 76.png │ │ │ │ ├── 80.png │ │ │ │ ├── 87.png │ │ │ │ ├── 88.png │ │ │ │ ├── 92.png │ │ │ │ └── Contents.json │ │ │ ├── Contents.json │ │ │ ├── LaunchBackground.imageset │ │ │ │ ├── Contents.json │ │ │ │ ├── background.png │ │ │ │ └── darkbackground.png │ │ │ └── LaunchImage.imageset │ │ │ │ ├── Contents.json │ │ │ │ ├── LaunchImage.png │ │ │ │ ├── LaunchImage@2x.png │ │ │ │ ├── LaunchImage@3x.png │ │ │ │ └── README.md │ │ ├── Background │ │ │ ├── BackgroundWorker.g.swift │ │ │ ├── BackgroundWorker.swift │ │ │ └── BackgroundWorkerApiImpl.swift │ │ ├── BackgroundSync │ │ │ ├── BackgroundServicePlugin.swift │ │ │ └── BackgroundSyncWorker.swift │ │ ├── Base.lproj │ │ │ ├── LaunchScreen.storyboard │ │ │ └── Main.storyboard │ │ ├── Connectivity │ │ │ ├── Connectivity.g.swift │ │ │ └── ConnectivityApiImpl.swift │ │ ├── Core │ │ │ └── ImmichPlugin.swift │ │ ├── Images │ │ │ ├── Thumbhash.swift │ │ │ ├── Thumbnails.g.swift │ │ │ └── ThumbnailsImpl.swift │ │ ├── Info.plist │ │ ├── Info.plist.bak │ │ ├── Runner-Bridging-Header.h │ │ ├── Runner.entitlements │ │ ├── RunnerProfile.entitlements │ │ └── Sync │ │ │ ├── Messages.g.swift │ │ │ ├── MessagesImpl.swift │ │ │ ├── PHAssetExtensions.swift │ │ │ └── PHAssetResourceExtensions.swift │ ├── ShareExtension │ │ ├── Base.lproj │ │ │ └── MainInterface.storyboard │ │ ├── Info.plist │ │ ├── ShareExtension.entitlements │ │ └── ShareViewController.swift │ ├── WidgetExtension │ │ ├── Assets.xcassets │ │ │ └── Contents.json │ │ ├── ImageEntry.swift │ │ ├── ImageWidgetView.swift │ │ ├── ImmichAPI.swift │ │ ├── Info.plist │ │ ├── UIImage+Resize.swift │ │ ├── WidgetBundle.swift │ │ ├── WidgetExtension.entitlements │ │ └── widgets │ │ │ ├── MemoryWidget.swift │ │ │ └── RandomWidget.swift │ ├── ci_scripts │ │ └── ci_post_clone.sh │ └── fastlane │ │ ├── Appfile │ │ ├── Fastfile │ │ └── README.md ├── lib │ ├── constants │ │ ├── colors.dart │ │ ├── constants.dart │ │ ├── enums.dart │ │ ├── errors.dart │ │ ├── filters.dart │ │ └── locales.dart │ ├── domain │ │ ├── README.md │ │ ├── interfaces │ │ │ └── db.interface.dart │ │ ├── models │ │ │ ├── album │ │ │ │ ├── album.model.dart │ │ │ │ └── local_album.model.dart │ │ │ ├── asset │ │ │ │ ├── base_asset.model.dart │ │ │ │ ├── local_asset.model.dart │ │ │ │ └── remote_asset.model.dart │ │ │ ├── asset_face.model.dart │ │ │ ├── device_asset.model.dart │ │ │ ├── exif.model.dart │ │ │ ├── log.model.dart │ │ │ ├── map.model.dart │ │ │ ├── memory.model.dart │ │ │ ├── person.model.dart │ │ │ ├── search_result.model.dart │ │ │ ├── setting.model.dart │ │ │ ├── stack.model.dart │ │ │ ├── store.model.dart │ │ │ ├── sync_event.model.dart │ │ │ ├── timeline.model.dart │ │ │ ├── user.model.dart │ │ │ └── user_metadata.model.dart │ │ ├── services │ │ │ ├── asset.service.dart │ │ │ ├── background_worker.service.dart │ │ │ ├── hash.service.dart │ │ │ ├── local_album.service.dart │ │ │ ├── local_sync.service.dart │ │ │ ├── log.service.dart │ │ │ ├── map.service.dart │ │ │ ├── memory.service.dart │ │ │ ├── partner.service.dart │ │ │ ├── people.service.dart │ │ │ ├── remote_album.service.dart │ │ │ ├── search.service.dart │ │ │ ├── setting.service.dart │ │ │ ├── store.service.dart │ │ │ ├── sync_linked_album.service.dart │ │ │ ├── sync_stream.service.dart │ │ │ ├── timeline.service.dart │ │ │ └── user.service.dart │ │ └── utils │ │ │ ├── background_sync.dart │ │ │ ├── event_stream.dart │ │ │ └── sync_linked_album.dart │ ├── entities │ │ ├── README.md │ │ ├── album.entity.dart │ │ ├── album.entity.g.dart │ │ ├── android_device_asset.entity.dart │ │ ├── android_device_asset.entity.g.dart │ │ ├── asset.entity.dart │ │ ├── asset.entity.g.dart │ │ ├── backup_album.entity.dart │ │ ├── backup_album.entity.g.dart │ │ ├── device_asset.entity.dart │ │ ├── duplicated_asset.entity.dart │ │ ├── duplicated_asset.entity.g.dart │ │ ├── etag.entity.dart │ │ ├── etag.entity.g.dart │ │ ├── ios_device_asset.entity.dart │ │ ├── ios_device_asset.entity.g.dart │ │ └── store.entity.dart │ ├── extensions │ │ ├── asset_extensions.dart │ │ ├── asyncvalue_extensions.dart │ │ ├── build_context_extensions.dart │ │ ├── codec_extensions.dart │ │ ├── collection_extensions.dart │ │ ├── datetime_extensions.dart │ │ ├── duration_extensions.dart │ │ ├── latlngbounds_extension.dart │ │ ├── maplibrecontroller_extensions.dart │ │ ├── network_capability_extensions.dart │ │ ├── platform_extensions.dart │ │ ├── response_extensions.dart │ │ ├── scroll_extensions.dart │ │ ├── string_extensions.dart │ │ ├── theme_extensions.dart │ │ └── translate_extensions.dart │ ├── infrastructure │ │ ├── README.md │ │ ├── entities │ │ │ ├── asset_face.entity.dart │ │ │ ├── asset_face.entity.drift.dart │ │ │ ├── auth_user.entity.dart │ │ │ ├── auth_user.entity.drift.dart │ │ │ ├── device_asset.entity.dart │ │ │ ├── device_asset.entity.g.dart │ │ │ ├── exif.entity.dart │ │ │ ├── exif.entity.drift.dart │ │ │ ├── exif.entity.g.dart │ │ │ ├── local_album.entity.dart │ │ │ ├── local_album.entity.drift.dart │ │ │ ├── local_album_asset.entity.dart │ │ │ ├── local_album_asset.entity.drift.dart │ │ │ ├── local_asset.entity.dart │ │ │ ├── local_asset.entity.drift.dart │ │ │ ├── log.entity.dart │ │ │ ├── log.entity.drift.dart │ │ │ ├── memory.entity.dart │ │ │ ├── memory.entity.drift.dart │ │ │ ├── memory_asset.entity.dart │ │ │ ├── memory_asset.entity.drift.dart │ │ │ ├── merged_asset.drift │ │ │ ├── merged_asset.drift.dart │ │ │ ├── partner.entity.dart │ │ │ ├── partner.entity.drift.dart │ │ │ ├── person.entity.dart │ │ │ ├── person.entity.drift.dart │ │ │ ├── remote_album.entity.dart │ │ │ ├── remote_album.entity.drift.dart │ │ │ ├── remote_album_asset.entity.dart │ │ │ ├── remote_album_asset.entity.drift.dart │ │ │ ├── remote_album_user.entity.dart │ │ │ ├── remote_album_user.entity.drift.dart │ │ │ ├── remote_asset.entity.dart │ │ │ ├── remote_asset.entity.drift.dart │ │ │ ├── stack.entity.dart │ │ │ ├── stack.entity.drift.dart │ │ │ ├── store.entity.dart │ │ │ ├── store.entity.drift.dart │ │ │ ├── store.entity.g.dart │ │ │ ├── user.entity.dart │ │ │ ├── user.entity.drift.dart │ │ │ ├── user.entity.g.dart │ │ │ ├── user_metadata.entity.dart │ │ │ └── user_metadata.entity.drift.dart │ │ ├── loaders │ │ │ ├── image_request.dart │ │ │ ├── local_image_request.dart │ │ │ ├── remote_image_request.dart │ │ │ └── thumbhash_image_request.dart │ │ ├── repositories │ │ │ ├── api.repository.dart │ │ │ ├── backup.repository.dart │ │ │ ├── db.repository.dart │ │ │ ├── db.repository.drift.dart │ │ │ ├── db.repository.steps.dart │ │ │ ├── device_asset.repository.dart │ │ │ ├── exif.repository.dart │ │ │ ├── local_album.repository.dart │ │ │ ├── local_asset.repository.dart │ │ │ ├── log.repository.dart │ │ │ ├── logger_db.repository.dart │ │ │ ├── logger_db.repository.drift.dart │ │ │ ├── map.repository.dart │ │ │ ├── memory.repository.dart │ │ │ ├── partner.repository.dart │ │ │ ├── people.repository.dart │ │ │ ├── remote_album.repository.dart │ │ │ ├── remote_asset.repository.dart │ │ │ ├── search_api.repository.dart │ │ │ ├── stack.repository.dart │ │ │ ├── storage.repository.dart │ │ │ ├── store.repository.dart │ │ │ ├── sync_api.repository.dart │ │ │ ├── sync_stream.repository.dart │ │ │ ├── timeline.repository.dart │ │ │ ├── user.repository.dart │ │ │ ├── user_api.repository.dart │ │ │ └── user_metadata.repository.dart │ │ └── utils │ │ │ ├── asset.mixin.dart │ │ │ ├── drift_default.mixin.dart │ │ │ ├── exif.converter.dart │ │ │ └── user.converter.dart │ ├── interfaces │ │ └── database.interface.dart │ ├── main.dart │ ├── mixins │ │ └── error_logger.mixin.dart │ ├── models │ │ ├── activities │ │ │ └── activity.model.dart │ │ ├── albums │ │ │ ├── album_add_asset_response.model.dart │ │ │ ├── album_search.model.dart │ │ │ ├── album_viewer_page_state.model.dart │ │ │ └── asset_selection_page_result.model.dart │ │ ├── asset_selection_state.dart │ │ ├── auth │ │ │ ├── auth_state.model.dart │ │ │ ├── auxilary_endpoint.model.dart │ │ │ ├── biometric_status.model.dart │ │ │ └── login_response.model.dart │ │ ├── backup │ │ │ ├── available_album.model.dart │ │ │ ├── backup_candidate.model.dart │ │ │ ├── backup_state.model.dart │ │ │ ├── current_upload_asset.model.dart │ │ │ ├── error_upload_asset.model.dart │ │ │ ├── manual_upload_state.model.dart │ │ │ └── success_upload_asset.model.dart │ │ ├── cast │ │ │ └── cast_manager_state.dart │ │ ├── download │ │ │ ├── download_state.model.dart │ │ │ └── livephotos_medatada.model.dart │ │ ├── folder │ │ │ ├── recursive_folder.model.dart │ │ │ └── root_folder.model.dart │ │ ├── map │ │ │ ├── map_event.model.dart │ │ │ ├── map_marker.model.dart │ │ │ └── map_state.model.dart │ │ ├── memories │ │ │ └── memory.model.dart │ │ ├── search │ │ │ ├── search_curated_content.model.dart │ │ │ ├── search_filter.model.dart │ │ │ ├── search_result.model.dart │ │ │ └── search_result_page_state.model.dart │ │ ├── server_info │ │ │ ├── server_config.model.dart │ │ │ ├── server_disk_info.model.dart │ │ │ ├── server_features.model.dart │ │ │ ├── server_info.model.dart │ │ │ └── server_version.model.dart │ │ ├── sessions │ │ │ └── session_create_response.model.dart │ │ ├── shared_link │ │ │ └── shared_link.model.dart │ │ └── upload │ │ │ └── share_intent_attachment.model.dart │ ├── pages │ │ ├── album │ │ │ ├── album_additional_shared_user_selection.page.dart │ │ │ ├── album_asset_selection.page.dart │ │ │ ├── album_control_button.dart │ │ │ ├── album_date_range.dart │ │ │ ├── album_description.dart │ │ │ ├── album_options.page.dart │ │ │ ├── album_shared_user_icons.dart │ │ │ ├── album_shared_user_selection.page.dart │ │ │ ├── album_title.dart │ │ │ ├── album_viewer.dart │ │ │ └── album_viewer.page.dart │ │ ├── albums │ │ │ └── albums.page.dart │ │ ├── backup │ │ │ ├── album_preview.page.dart │ │ │ ├── backup_album_selection.page.dart │ │ │ ├── backup_controller.page.dart │ │ │ ├── backup_options.page.dart │ │ │ ├── drift_backup.page.dart │ │ │ ├── drift_backup_album_selection.page.dart │ │ │ ├── drift_backup_asset_detail.page.dart │ │ │ ├── drift_backup_options.page.dart │ │ │ ├── drift_upload_detail.page.dart │ │ │ └── failed_backup_status.page.dart │ │ ├── common │ │ │ ├── activities.page.dart │ │ │ ├── app_log.page.dart │ │ │ ├── app_log_detail.page.dart │ │ │ ├── change_experience.page.dart │ │ │ ├── create_album.page.dart │ │ │ ├── download_panel.dart │ │ │ ├── gallery_stacked_children.dart │ │ │ ├── gallery_viewer.page.dart │ │ │ ├── headers_settings.page.dart │ │ │ ├── large_leading_tile.dart │ │ │ ├── native_video_viewer.page.dart │ │ │ ├── settings.page.dart │ │ │ ├── splash_screen.page.dart │ │ │ ├── tab_controller.page.dart │ │ │ └── tab_shell.page.dart │ │ ├── editing │ │ │ ├── crop.page.dart │ │ │ ├── edit.page.dart │ │ │ └── filter.page.dart │ │ ├── library │ │ │ ├── archive.page.dart │ │ │ ├── favorite.page.dart │ │ │ ├── folder │ │ │ │ └── folder.page.dart │ │ │ ├── library.page.dart │ │ │ ├── local_albums.page.dart │ │ │ ├── locked │ │ │ │ ├── locked.page.dart │ │ │ │ └── pin_auth.page.dart │ │ │ ├── partner │ │ │ │ ├── drift_partner.page.dart │ │ │ │ ├── partner.page.dart │ │ │ │ └── partner_detail.page.dart │ │ │ ├── people │ │ │ │ └── people_collection.page.dart │ │ │ ├── places │ │ │ │ └── places_collection.page.dart │ │ │ ├── shared_link │ │ │ │ ├── shared_link.page.dart │ │ │ │ └── shared_link_edit.page.dart │ │ │ └── trash.page.dart │ │ ├── login │ │ │ ├── change_password.page.dart │ │ │ └── login.page.dart │ │ ├── onboarding │ │ │ └── permission_onboarding.page.dart │ │ ├── photos │ │ │ ├── memory.page.dart │ │ │ └── photos.page.dart │ │ ├── search │ │ │ ├── all_motion_videos.page.dart │ │ │ ├── all_people.page.dart │ │ │ ├── all_places.page.dart │ │ │ ├── all_videos.page.dart │ │ │ ├── map │ │ │ │ ├── map.page.dart │ │ │ │ └── map_location_picker.page.dart │ │ │ ├── person_result.page.dart │ │ │ ├── recently_taken.page.dart │ │ │ └── search.page.dart │ │ ├── settings │ │ │ └── sync_status.page.dart │ │ └── share_intent │ │ │ └── share_intent.page.dart │ ├── platform │ │ ├── background_worker_api.g.dart │ │ ├── background_worker_lock_api.g.dart │ │ ├── connectivity_api.g.dart │ │ ├── native_sync_api.g.dart │ │ └── thumbnail_api.g.dart │ ├── presentation │ │ ├── pages │ │ │ ├── dev │ │ │ │ ├── feat_in_development.page.dart │ │ │ │ ├── main_timeline.page.dart │ │ │ │ └── media_stat.page.dart │ │ │ ├── download_info.page.dart │ │ │ ├── drift_activities.page.dart │ │ │ ├── drift_album.page.dart │ │ │ ├── drift_album_options.page.dart │ │ │ ├── drift_archive.page.dart │ │ │ ├── drift_asset_selection_timeline.page.dart │ │ │ ├── drift_asset_troubleshoot.page.dart │ │ │ ├── drift_create_album.page.dart │ │ │ ├── drift_favorite.page.dart │ │ │ ├── drift_library.page.dart │ │ │ ├── drift_local_album.page.dart │ │ │ ├── drift_locked_folder.page.dart │ │ │ ├── drift_map.page.dart │ │ │ ├── drift_memory.page.dart │ │ │ ├── drift_partner_detail.page.dart │ │ │ ├── drift_people_collection.page.dart │ │ │ ├── drift_person.page.dart │ │ │ ├── drift_place.page.dart │ │ │ ├── drift_place_detail.page.dart │ │ │ ├── drift_recently_taken.page.dart │ │ │ ├── drift_remote_album.page.dart │ │ │ ├── drift_trash.page.dart │ │ │ ├── drift_user_selection.page.dart │ │ │ ├── drift_video.page.dart │ │ │ ├── editing │ │ │ │ ├── drift_crop.page.dart │ │ │ │ ├── drift_edit.page.dart │ │ │ │ └── drift_filter.page.dart │ │ │ ├── local_timeline.page.dart │ │ │ └── search │ │ │ │ ├── drift_search.page.dart │ │ │ │ └── paginated_search.provider.dart │ │ └── widgets │ │ │ ├── action_buttons │ │ │ ├── advanced_info_action_button.widget.dart │ │ │ ├── archive_action_button.widget.dart │ │ │ ├── base_action_button.widget.dart │ │ │ ├── cast_action_button.widget.dart │ │ │ ├── delete_action_button.widget.dart │ │ │ ├── delete_local_action_button.widget.dart │ │ │ ├── delete_permanent_action_button.widget.dart │ │ │ ├── delete_trash_action_button.widget.dart │ │ │ ├── download_action_button.widget.dart │ │ │ ├── download_status_floating_button.widget.dart │ │ │ ├── edit_date_time_action_button.widget.dart │ │ │ ├── edit_image_action_button.widget.dart │ │ │ ├── edit_location_action_button.widget.dart │ │ │ ├── favorite_action_button.widget.dart │ │ │ ├── like_activity_action_button.widget.dart │ │ │ ├── motion_photo_action_button.widget.dart │ │ │ ├── move_to_lock_folder_action_button.widget.dart │ │ │ ├── remove_from_album_action_button.widget.dart │ │ │ ├── remove_from_lock_folder_action_button.widget.dart │ │ │ ├── restore_trash_action_button.widget.dart │ │ │ ├── share_action_button.widget.dart │ │ │ ├── share_link_action_button.widget.dart │ │ │ ├── similar_photos_action_button.widget.dart │ │ │ ├── stack_action_button.widget.dart │ │ │ ├── trash_action_button.widget.dart │ │ │ ├── unarchive_action_button.widget.dart │ │ │ ├── unfavorite_action_button.widget.dart │ │ │ ├── unstack_action_button.widget.dart │ │ │ └── upload_action_button.widget.dart │ │ │ ├── album │ │ │ ├── album_selector.widget.dart │ │ │ ├── album_tile.dart │ │ │ └── drift_activity_text_field.dart │ │ │ ├── asset_viewer │ │ │ ├── activities_bottom_sheet.widget.dart │ │ │ ├── asset_stack.provider.dart │ │ │ ├── asset_stack.widget.dart │ │ │ ├── asset_viewer.page.dart │ │ │ ├── asset_viewer.state.dart │ │ │ ├── bottom_bar.widget.dart │ │ │ ├── bottom_sheet.widget.dart │ │ │ ├── bottom_sheet │ │ │ │ ├── sheet_location_details.widget.dart │ │ │ │ └── sheet_people_details.widget.dart │ │ │ ├── top_app_bar.widget.dart │ │ │ ├── video_viewer.widget.dart │ │ │ └── video_viewer_controls.widget.dart │ │ │ ├── backup │ │ │ └── backup_toggle_button.widget.dart │ │ │ ├── bottom_sheet │ │ │ ├── archive_bottom_sheet.widget.dart │ │ │ ├── base_bottom_sheet.widget.dart │ │ │ ├── favorite_bottom_sheet.widget.dart │ │ │ ├── general_bottom_sheet.widget.dart │ │ │ ├── local_album_bottom_sheet.widget.dart │ │ │ ├── locked_folder_bottom_sheet.widget.dart │ │ │ ├── map_bottom_sheet.widget.dart │ │ │ ├── partner_detail_bottom_sheet.widget.dart │ │ │ ├── remote_album_bottom_sheet.widget.dart │ │ │ └── trash_bottom_sheet.widget.dart │ │ │ ├── images │ │ │ ├── full_image.widget.dart │ │ │ ├── image_provider.dart │ │ │ ├── local_album_thumbnail.widget.dart │ │ │ ├── local_image_provider.dart │ │ │ ├── one_frame_multi_image_stream_completer.dart │ │ │ ├── remote_image_provider.dart │ │ │ ├── thumb_hash_provider.dart │ │ │ ├── thumbnail.widget.dart │ │ │ └── thumbnail_tile.widget.dart │ │ │ ├── map │ │ │ ├── map.state.dart │ │ │ ├── map.widget.dart │ │ │ └── map_utils.dart │ │ │ ├── memory │ │ │ ├── memory_bottom_info.widget.dart │ │ │ ├── memory_card.widget.dart │ │ │ └── memory_lane.widget.dart │ │ │ ├── people │ │ │ ├── partner_user_avatar.widget.dart │ │ │ ├── person_edit_birthday_modal.widget.dart │ │ │ ├── person_edit_name_modal.widget.dart │ │ │ └── person_option_sheet.widget.dart │ │ │ ├── remote_album │ │ │ └── drift_album_option.widget.dart │ │ │ └── timeline │ │ │ ├── constants.dart │ │ │ ├── fixed │ │ │ ├── row.dart │ │ │ ├── segment.model.dart │ │ │ └── segment_builder.dart │ │ │ ├── header.widget.dart │ │ │ ├── scrubber.widget.dart │ │ │ ├── segment.model.dart │ │ │ ├── segment_builder.dart │ │ │ ├── timeline.state.dart │ │ │ ├── timeline.widget.dart │ │ │ └── timeline_drag_region.dart │ ├── providers │ │ ├── activity.provider.dart │ │ ├── activity.provider.g.dart │ │ ├── activity_service.provider.dart │ │ ├── activity_service.provider.g.dart │ │ ├── activity_statistics.provider.dart │ │ ├── activity_statistics.provider.g.dart │ │ ├── album │ │ │ ├── album.provider.dart │ │ │ ├── album_sort_by_options.provider.dart │ │ │ ├── album_sort_by_options.provider.g.dart │ │ │ ├── album_title.provider.dart │ │ │ ├── album_viewer.provider.dart │ │ │ ├── current_album.provider.dart │ │ │ ├── current_album.provider.g.dart │ │ │ └── suggested_shared_users.provider.dart │ │ ├── api.provider.dart │ │ ├── api.provider.g.dart │ │ ├── app_life_cycle.provider.dart │ │ ├── app_settings.provider.dart │ │ ├── app_settings.provider.g.dart │ │ ├── asset.provider.dart │ │ ├── asset_viewer │ │ │ ├── asset_people.provider.dart │ │ │ ├── asset_people.provider.g.dart │ │ │ ├── asset_stack.provider.dart │ │ │ ├── asset_stack.provider.g.dart │ │ │ ├── current_asset.provider.dart │ │ │ ├── current_asset.provider.g.dart │ │ │ ├── download.provider.dart │ │ │ ├── is_motion_video_playing.provider.dart │ │ │ ├── render_list_status_provider.dart │ │ │ ├── scroll_notifier.provider.dart │ │ │ ├── scroll_to_date_notifier.provider.dart │ │ │ ├── share_intent_upload.provider.dart │ │ │ ├── show_controls.provider.dart │ │ │ ├── video_player_controls_provider.dart │ │ │ └── video_player_value_provider.dart │ │ ├── auth.provider.dart │ │ ├── background_sync.provider.dart │ │ ├── backup │ │ │ ├── backup.provider.dart │ │ │ ├── backup_album.provider.dart │ │ │ ├── backup_verification.provider.dart │ │ │ ├── backup_verification.provider.g.dart │ │ │ ├── drift_backup.provider.dart │ │ │ ├── error_backup_list.provider.dart │ │ │ ├── ios_background_settings.provider.dart │ │ │ └── manual_upload.provider.dart │ │ ├── cast.provider.dart │ │ ├── db.provider.dart │ │ ├── folder.provider.dart │ │ ├── gallery_permission.provider.dart │ │ ├── haptic_feedback.provider.dart │ │ ├── image │ │ │ ├── cache │ │ │ │ ├── image_loader.dart │ │ │ │ ├── remote_image_cache_manager.dart │ │ │ │ └── thumbnail_image_cache_manager.dart │ │ │ ├── exceptions │ │ │ │ └── image_loading_exception.dart │ │ │ ├── immich_local_image_provider.dart │ │ │ ├── immich_local_thumbnail_provider.dart │ │ │ ├── immich_remote_image_provider.dart │ │ │ └── immich_remote_thumbnail_provider.dart │ │ ├── immich_logo_provider.dart │ │ ├── immich_logo_provider.g.dart │ │ ├── infrastructure │ │ │ ├── action.provider.dart │ │ │ ├── album.provider.dart │ │ │ ├── asset.provider.dart │ │ │ ├── asset_viewer │ │ │ │ └── current_asset.provider.dart │ │ │ ├── cancel.provider.dart │ │ │ ├── current_album.provider.dart │ │ │ ├── db.provider.dart │ │ │ ├── db.provider.g.dart │ │ │ ├── device_asset.provider.dart │ │ │ ├── exif.provider.dart │ │ │ ├── exif.provider.g.dart │ │ │ ├── map.provider.dart │ │ │ ├── memory.provider.dart │ │ │ ├── partner.provider.dart │ │ │ ├── people.provider.dart │ │ │ ├── platform.provider.dart │ │ │ ├── readonly_mode.provider.dart │ │ │ ├── remote_album.provider.dart │ │ │ ├── search.provider.dart │ │ │ ├── setting.provider.dart │ │ │ ├── stack.provider.dart │ │ │ ├── storage.provider.dart │ │ │ ├── store.provider.dart │ │ │ ├── store.provider.g.dart │ │ │ ├── sync.provider.dart │ │ │ ├── timeline.provider.dart │ │ │ ├── user.provider.dart │ │ │ ├── user.provider.g.dart │ │ │ └── user_metadata.provider.dart │ │ ├── local_auth.provider.dart │ │ ├── locale_provider.dart │ │ ├── map │ │ │ ├── map_marker.provider.dart │ │ │ ├── map_marker.provider.g.dart │ │ │ ├── map_service.provider.dart │ │ │ ├── map_service.provider.g.dart │ │ │ ├── map_state.provider.dart │ │ │ └── map_state.provider.g.dart │ │ ├── memory.provider.dart │ │ ├── multiselect.provider.dart │ │ ├── network.provider.dart │ │ ├── notification_permission.provider.dart │ │ ├── oauth.provider.dart │ │ ├── partner.provider.dart │ │ ├── routes.provider.dart │ │ ├── search │ │ │ ├── all_motion_photos.provider.dart │ │ │ ├── paginated_search.provider.dart │ │ │ ├── paginated_search.provider.g.dart │ │ │ ├── people.provider.dart │ │ │ ├── people.provider.g.dart │ │ │ ├── recently_taken_asset.provider.dart │ │ │ ├── search_filter.provider.dart │ │ │ ├── search_filter.provider.g.dart │ │ │ ├── search_input_focus.provider.dart │ │ │ └── search_page_state.provider.dart │ │ ├── secure_storage.provider.dart │ │ ├── server_info.provider.dart │ │ ├── shared_link.provider.dart │ │ ├── sync_status.provider.dart │ │ ├── tab.provider.dart │ │ ├── theme.provider.dart │ │ ├── timeline.provider.dart │ │ ├── timeline │ │ │ └── multiselect.provider.dart │ │ ├── trash.provider.dart │ │ ├── upload_profile_image.provider.dart │ │ ├── user.provider.dart │ │ └── websocket.provider.dart │ ├── repositories │ │ ├── activity_api.repository.dart │ │ ├── album.repository.dart │ │ ├── album_api.repository.dart │ │ ├── album_media.repository.dart │ │ ├── api.repository.dart │ │ ├── asset.repository.dart │ │ ├── asset_api.repository.dart │ │ ├── asset_media.repository.dart │ │ ├── auth.repository.dart │ │ ├── auth_api.repository.dart │ │ ├── backup.repository.dart │ │ ├── biometric.repository.dart │ │ ├── database.repository.dart │ │ ├── download.repository.dart │ │ ├── drift_album_api_repository.dart │ │ ├── etag.repository.dart │ │ ├── file_media.repository.dart │ │ ├── folder_api.repository.dart │ │ ├── gcast.repository.dart │ │ ├── local_files_manager.repository.dart │ │ ├── network.repository.dart │ │ ├── partner.repository.dart │ │ ├── partner_api.repository.dart │ │ ├── permission.repository.dart │ │ ├── person_api.repository.dart │ │ ├── secure_storage.repository.dart │ │ ├── sessions_api.repository.dart │ │ ├── share_handler.repository.dart │ │ ├── timeline.repository.dart │ │ ├── upload.repository.dart │ │ └── widget.repository.dart │ ├── routing │ │ ├── app_navigation_observer.dart │ │ ├── auth_guard.dart │ │ ├── backup_permission_guard.dart │ │ ├── custom_transition_builders.dart │ │ ├── duplicate_guard.dart │ │ ├── gallery_guard.dart │ │ ├── locked_guard.dart │ │ ├── router.dart │ │ └── router.gr.dart │ ├── services │ │ ├── action.service.dart │ │ ├── activity.service.dart │ │ ├── album.service.dart │ │ ├── api.service.dart │ │ ├── app_settings.service.dart │ │ ├── asset.service.dart │ │ ├── auth.service.dart │ │ ├── background.service.dart │ │ ├── backup.service.dart │ │ ├── backup_album.service.dart │ │ ├── backup_verification.service.dart │ │ ├── deep_link.service.dart │ │ ├── device.service.dart │ │ ├── download.service.dart │ │ ├── entity.service.dart │ │ ├── etag.service.dart │ │ ├── exif.service.dart │ │ ├── folder.service.dart │ │ ├── gcast.service.dart │ │ ├── hash.service.dart │ │ ├── immich_logger.service.dart │ │ ├── local_auth.service.dart │ │ ├── local_files_manager.service.dart │ │ ├── local_notification.service.dart │ │ ├── localization.service.dart │ │ ├── map.service.dart │ │ ├── memory.service.dart │ │ ├── network.service.dart │ │ ├── oauth.service.dart │ │ ├── partner.service.dart │ │ ├── person.service.dart │ │ ├── person.service.g.dart │ │ ├── search.service.dart │ │ ├── secure_storage.service.dart │ │ ├── server_info.service.dart │ │ ├── share.service.dart │ │ ├── share_intent_service.dart │ │ ├── shared_link.service.dart │ │ ├── stack.service.dart │ │ ├── sync.service.dart │ │ ├── timeline.service.dart │ │ ├── trash.service.dart │ │ ├── upload.service.dart │ │ └── widget.service.dart │ ├── theme │ │ ├── color_scheme.dart │ │ ├── dynamic_theme.dart │ │ └── theme_data.dart │ ├── utils │ │ ├── action_button.utils.dart │ │ ├── album_filter.utils.dart │ │ ├── async_mutex.dart │ │ ├── backup_progress.dart │ │ ├── bootstrap.dart │ │ ├── bytes_units.dart │ │ ├── cache │ │ │ ├── custom_image_cache.dart │ │ │ └── widgets_binding.dart │ │ ├── color_filter_generator.dart │ │ ├── datetime_comparison.dart │ │ ├── datetime_helpers.dart │ │ ├── debounce.dart │ │ ├── debug_print.dart │ │ ├── diff.dart │ │ ├── draggable_scroll_controller.dart │ │ ├── hash.dart │ │ ├── hooks │ │ │ ├── app_settings_update_hook.dart │ │ │ ├── blurhash_hook.dart │ │ │ ├── crop_controller_hook.dart │ │ │ ├── interval_hook.dart │ │ │ └── timer_hook.dart │ │ ├── http_ssl_cert_override.dart │ │ ├── http_ssl_options.dart │ │ ├── image_url_builder.dart │ │ ├── immich_loading_overlay.dart │ │ ├── isolate.dart │ │ ├── licenses.dart │ │ ├── map_utils.dart │ │ ├── migration.dart │ │ ├── openapi_patching.dart │ │ ├── people.utils.dart │ │ ├── provider_utils.dart │ │ ├── selection_handlers.dart │ │ ├── semver.dart │ │ ├── string_helper.dart │ │ ├── throttle.dart │ │ ├── thumbnail_utils.dart │ │ ├── url_helper.dart │ │ ├── user_agent.dart │ │ └── version_compatibility.dart │ ├── widgets │ │ ├── activities │ │ │ ├── activity_text_field.dart │ │ │ ├── activity_tile.dart │ │ │ └── dismissible_activity.dart │ │ ├── album │ │ │ ├── add_to_album_bottom_sheet.dart │ │ │ ├── add_to_album_sliverlist.dart │ │ │ ├── album_action_filled_button.dart │ │ │ ├── album_thumbnail_card.dart │ │ │ ├── album_thumbnail_listtile.dart │ │ │ ├── album_title_text_field.dart │ │ │ ├── album_viewer_appbar.dart │ │ │ ├── album_viewer_editable_description.dart │ │ │ ├── album_viewer_editable_title.dart │ │ │ ├── remote_album_shared_user_icons.dart │ │ │ └── shared_album_thumbnail_image.dart │ │ ├── asset_grid │ │ │ ├── asset_drag_region.dart │ │ │ ├── asset_grid_data_structure.dart │ │ │ ├── control_bottom_app_bar.dart │ │ │ ├── delete_dialog.dart │ │ │ ├── disable_multi_select_button.dart │ │ │ ├── draggable_scrollbar.dart │ │ │ ├── draggable_scrollbar_custom.dart │ │ │ ├── group_divider_title.dart │ │ │ ├── immich_asset_grid.dart │ │ │ ├── immich_asset_grid_view.dart │ │ │ ├── multiselect_grid.dart │ │ │ ├── multiselect_grid_status_indicator.dart │ │ │ ├── thumbnail_image.dart │ │ │ ├── thumbnail_placeholder.dart │ │ │ └── upload_dialog.dart │ │ ├── asset_viewer │ │ │ ├── advanced_bottom_sheet.dart │ │ │ ├── animated_play_pause.dart │ │ │ ├── bottom_gallery_bar.dart │ │ │ ├── cast_dialog.dart │ │ │ ├── center_play_button.dart │ │ │ ├── custom_video_player_controls.dart │ │ │ ├── description_input.dart │ │ │ ├── detail_panel │ │ │ │ ├── asset_date_time.dart │ │ │ │ ├── asset_details.dart │ │ │ │ ├── asset_location.dart │ │ │ │ ├── camera_info.dart │ │ │ │ ├── detail_panel.dart │ │ │ │ ├── exif_map.dart │ │ │ │ ├── file_info.dart │ │ │ │ └── people_info.dart │ │ │ ├── formatted_duration.dart │ │ │ ├── gallery_app_bar.dart │ │ │ ├── motion_photo_button.dart │ │ │ ├── top_control_app_bar.dart │ │ │ ├── video_controls.dart │ │ │ └── video_position.dart │ │ ├── backup │ │ │ ├── album_info_card.dart │ │ │ ├── album_info_list_tile.dart │ │ │ ├── asset_info_table.dart │ │ │ ├── backup_info_card.dart │ │ │ ├── current_backup_asset_info_box.dart │ │ │ ├── drift_album_info_list_tile.dart │ │ │ ├── error_chip.dart │ │ │ ├── error_chip_text.dart │ │ │ ├── icloud_download_progress_bar.dart │ │ │ ├── ios_debug_info_tile.dart │ │ │ ├── upload_progress_bar.dart │ │ │ └── upload_stats.dart │ │ ├── common │ │ │ ├── app_bar_dialog │ │ │ │ ├── app_bar_dialog.dart │ │ │ │ ├── app_bar_profile_info.dart │ │ │ │ ├── app_bar_server_info.dart │ │ │ │ └── server_update_notification.dart │ │ │ ├── confirm_dialog.dart │ │ │ ├── date_time_picker.dart │ │ │ ├── delayed_loading_indicator.dart │ │ │ ├── drag_sheet.dart │ │ │ ├── dropdown_search_menu.dart │ │ │ ├── fade_in_placeholder_image.dart │ │ │ ├── feature_check.dart │ │ │ ├── immich_app_bar.dart │ │ │ ├── immich_image.dart │ │ │ ├── immich_loading_indicator.dart │ │ │ ├── immich_logo.dart │ │ │ ├── immich_sliver_app_bar.dart │ │ │ ├── immich_thumbnail.dart │ │ │ ├── immich_title_text.dart │ │ │ ├── immich_toast.dart │ │ │ ├── local_album_sliver_app_bar.dart │ │ │ ├── location_picker.dart │ │ │ ├── mesmerizing_sliver_app_bar.dart │ │ │ ├── person_sliver_app_bar.dart │ │ │ ├── remote_album_sliver_app_bar.dart │ │ │ ├── scaffold_error_body.dart │ │ │ ├── search_field.dart │ │ │ ├── selection_sliver_app_bar.dart │ │ │ ├── share_dialog.dart │ │ │ ├── thumbhash_placeholder.dart │ │ │ ├── transparent_image.dart │ │ │ ├── user_avatar.dart │ │ │ └── user_circle_avatar.dart │ │ ├── forms │ │ │ ├── change_password_form.dart │ │ │ ├── login │ │ │ │ ├── email_input.dart │ │ │ │ ├── loading_icon.dart │ │ │ │ ├── login_button.dart │ │ │ │ ├── login_form.dart │ │ │ │ ├── o_auth_login_button.dart │ │ │ │ ├── password_input.dart │ │ │ │ └── server_endpoint_input.dart │ │ │ ├── pin_input.dart │ │ │ ├── pin_registration_form.dart │ │ │ └── pin_verification_form.dart │ │ ├── map │ │ │ ├── map_app_bar.dart │ │ │ ├── map_asset_grid.dart │ │ │ ├── map_bottom_sheet.dart │ │ │ ├── map_settings │ │ │ │ ├── map_settings_list_tile.dart │ │ │ │ ├── map_settings_time_dropdown.dart │ │ │ │ └── map_theme_picker.dart │ │ │ ├── map_settings_sheet.dart │ │ │ ├── map_theme_override.dart │ │ │ ├── map_thumbnail.dart │ │ │ └── positioned_asset_marker_icon.dart │ │ ├── memories │ │ │ ├── memory_bottom_info.dart │ │ │ ├── memory_card.dart │ │ │ ├── memory_epilogue.dart │ │ │ ├── memory_lane.dart │ │ │ └── memory_progress_indicator.dart │ │ ├── photo_view │ │ │ ├── photo_view.dart │ │ │ ├── photo_view_gallery.dart │ │ │ └── src │ │ │ │ ├── controller │ │ │ │ ├── photo_view_controller.dart │ │ │ │ ├── photo_view_controller_delegate.dart │ │ │ │ └── photo_view_scalestate_controller.dart │ │ │ │ ├── core │ │ │ │ ├── photo_view_core.dart │ │ │ │ ├── photo_view_gesture_detector.dart │ │ │ │ └── photo_view_hit_corners.dart │ │ │ │ ├── photo_view_computed_scale.dart │ │ │ │ ├── photo_view_default_widgets.dart │ │ │ │ ├── photo_view_scale_state.dart │ │ │ │ ├── photo_view_wrappers.dart │ │ │ │ └── utils │ │ │ │ ├── ignorable_change_notifier.dart │ │ │ │ ├── photo_view_hero_attributes.dart │ │ │ │ └── photo_view_utils.dart │ │ ├── search │ │ │ ├── curated_people_row.dart │ │ │ ├── curated_places_row.dart │ │ │ ├── explore_grid.dart │ │ │ ├── person_name_edit_form.dart │ │ │ ├── search_filter │ │ │ │ ├── camera_picker.dart │ │ │ │ ├── common │ │ │ │ │ └── dropdown.dart │ │ │ │ ├── display_option_picker.dart │ │ │ │ ├── filter_bottom_sheet_scaffold.dart │ │ │ │ ├── location_picker.dart │ │ │ │ ├── media_type_picker.dart │ │ │ │ ├── people_picker.dart │ │ │ │ ├── search_filter_chip.dart │ │ │ │ └── search_filter_utils.dart │ │ │ ├── search_map_thumbnail.dart │ │ │ ├── search_row_section.dart │ │ │ ├── search_row_title.dart │ │ │ ├── thumbnail_with_info.dart │ │ │ └── thumbnail_with_info_container.dart │ │ ├── settings │ │ │ ├── advanced_settings.dart │ │ │ ├── asset_list_settings │ │ │ │ ├── asset_list_group_settings.dart │ │ │ │ ├── asset_list_layout_settings.dart │ │ │ │ └── asset_list_settings.dart │ │ │ ├── asset_viewer_settings │ │ │ │ ├── asset_viewer_settings.dart │ │ │ │ ├── image_viewer_quality_setting.dart │ │ │ │ └── video_viewer_settings.dart │ │ │ ├── backup_settings │ │ │ │ ├── background_settings.dart │ │ │ │ ├── backup_settings.dart │ │ │ │ ├── drift_backup_settings.dart │ │ │ │ └── foreground_settings.dart │ │ │ ├── beta_sync_settings │ │ │ │ ├── entity_count_tile.dart │ │ │ │ └── sync_status_and_actions.dart │ │ │ ├── beta_timeline_list_tile.dart │ │ │ ├── custom_proxy_headers_settings │ │ │ │ └── custom_proxy_headers_settings.dart │ │ │ ├── language_settings.dart │ │ │ ├── local_storage_settings.dart │ │ │ ├── networking_settings │ │ │ │ ├── endpoint_input.dart │ │ │ │ ├── external_network_preference.dart │ │ │ │ ├── local_network_preference.dart │ │ │ │ └── networking_settings.dart │ │ │ ├── notification_setting.dart │ │ │ ├── preference_settings │ │ │ │ ├── haptic_setting.dart │ │ │ │ ├── preference_setting.dart │ │ │ │ ├── primary_color_setting.dart │ │ │ │ └── theme_setting.dart │ │ │ ├── settings_button_list_tile.dart │ │ │ ├── settings_card.dart │ │ │ ├── settings_radio_list_tile.dart │ │ │ ├── settings_slider_list_tile.dart │ │ │ ├── settings_sub_page_scaffold.dart │ │ │ ├── settings_sub_title.dart │ │ │ ├── settings_switch_list_tile.dart │ │ │ └── ssl_client_cert_settings.dart │ │ └── shared_link │ │ │ └── shared_link_item.dart │ └── wm_executor.dart ├── makefile ├── openapi │ ├── .gitignore │ ├── .openapi-generator-ignore │ ├── .openapi-generator │ │ └── VERSION │ ├── .travis.yml │ ├── README.md │ ├── git_push.sh │ ├── lib │ │ ├── api.dart │ │ ├── api │ │ │ ├── activities_api.dart │ │ │ ├── albums_api.dart │ │ │ ├── api_keys_api.dart │ │ │ ├── assets_api.dart │ │ │ ├── auth_admin_api.dart │ │ │ ├── authentication_api.dart │ │ │ ├── deprecated_api.dart │ │ │ ├── download_api.dart │ │ │ ├── duplicates_api.dart │ │ │ ├── faces_api.dart │ │ │ ├── jobs_api.dart │ │ │ ├── libraries_api.dart │ │ │ ├── map_api.dart │ │ │ ├── memories_api.dart │ │ │ ├── notifications_admin_api.dart │ │ │ ├── notifications_api.dart │ │ │ ├── o_auth_api.dart │ │ │ ├── partners_api.dart │ │ │ ├── people_api.dart │ │ │ ├── search_api.dart │ │ │ ├── server_api.dart │ │ │ ├── sessions_api.dart │ │ │ ├── shared_links_api.dart │ │ │ ├── stacks_api.dart │ │ │ ├── sync_api.dart │ │ │ ├── system_config_api.dart │ │ │ ├── system_metadata_api.dart │ │ │ ├── tags_api.dart │ │ │ ├── timeline_api.dart │ │ │ ├── trash_api.dart │ │ │ ├── users_admin_api.dart │ │ │ ├── users_api.dart │ │ │ └── view_api.dart │ │ ├── api_client.dart │ │ ├── api_exception.dart │ │ ├── api_helper.dart │ │ ├── auth │ │ │ ├── api_key_auth.dart │ │ │ ├── authentication.dart │ │ │ ├── http_basic_auth.dart │ │ │ ├── http_bearer_auth.dart │ │ │ └── oauth.dart │ │ └── model │ │ │ ├── activity_create_dto.dart │ │ │ ├── activity_response_dto.dart │ │ │ ├── activity_statistics_response_dto.dart │ │ │ ├── add_users_dto.dart │ │ │ ├── admin_onboarding_update_dto.dart │ │ │ ├── album_response_dto.dart │ │ │ ├── album_statistics_response_dto.dart │ │ │ ├── album_user_add_dto.dart │ │ │ ├── album_user_create_dto.dart │ │ │ ├── album_user_response_dto.dart │ │ │ ├── album_user_role.dart │ │ │ ├── albums_add_assets_dto.dart │ │ │ ├── albums_add_assets_response_dto.dart │ │ │ ├── albums_response.dart │ │ │ ├── albums_update.dart │ │ │ ├── all_job_status_response_dto.dart │ │ │ ├── api_key_create_dto.dart │ │ │ ├── api_key_create_response_dto.dart │ │ │ ├── api_key_response_dto.dart │ │ │ ├── api_key_update_dto.dart │ │ │ ├── asset_bulk_delete_dto.dart │ │ │ ├── asset_bulk_update_dto.dart │ │ │ ├── asset_bulk_upload_check_dto.dart │ │ │ ├── asset_bulk_upload_check_item.dart │ │ │ ├── asset_bulk_upload_check_response_dto.dart │ │ │ ├── asset_bulk_upload_check_result.dart │ │ │ ├── asset_copy_dto.dart │ │ │ ├── asset_delta_sync_dto.dart │ │ │ ├── asset_delta_sync_response_dto.dart │ │ │ ├── asset_face_create_dto.dart │ │ │ ├── asset_face_delete_dto.dart │ │ │ ├── asset_face_response_dto.dart │ │ │ ├── asset_face_update_dto.dart │ │ │ ├── asset_face_update_item.dart │ │ │ ├── asset_face_without_person_response_dto.dart │ │ │ ├── asset_full_sync_dto.dart │ │ │ ├── asset_ids_dto.dart │ │ │ ├── asset_ids_response_dto.dart │ │ │ ├── asset_job_name.dart │ │ │ ├── asset_jobs_dto.dart │ │ │ ├── asset_media_response_dto.dart │ │ │ ├── asset_media_size.dart │ │ │ ├── asset_media_status.dart │ │ │ ├── asset_metadata_key.dart │ │ │ ├── asset_metadata_response_dto.dart │ │ │ ├── asset_metadata_upsert_dto.dart │ │ │ ├── asset_metadata_upsert_item_dto.dart │ │ │ ├── asset_ocr_response_dto.dart │ │ │ ├── asset_order.dart │ │ │ ├── asset_response_dto.dart │ │ │ ├── asset_stack_response_dto.dart │ │ │ ├── asset_stats_response_dto.dart │ │ │ ├── asset_type_enum.dart │ │ │ ├── asset_visibility.dart │ │ │ ├── audio_codec.dart │ │ │ ├── auth_status_response_dto.dart │ │ │ ├── avatar_update.dart │ │ │ ├── bulk_id_error_reason.dart │ │ │ ├── bulk_id_response_dto.dart │ │ │ ├── bulk_ids_dto.dart │ │ │ ├── cast_response.dart │ │ │ ├── cast_update.dart │ │ │ ├── change_password_dto.dart │ │ │ ├── check_existing_assets_dto.dart │ │ │ ├── check_existing_assets_response_dto.dart │ │ │ ├── clip_config.dart │ │ │ ├── colorspace.dart │ │ │ ├── contributor_count_response_dto.dart │ │ │ ├── cq_mode.dart │ │ │ ├── create_album_dto.dart │ │ │ ├── create_library_dto.dart │ │ │ ├── create_profile_image_response_dto.dart │ │ │ ├── database_backup_config.dart │ │ │ ├── download_archive_info.dart │ │ │ ├── download_info_dto.dart │ │ │ ├── download_response.dart │ │ │ ├── download_response_dto.dart │ │ │ ├── download_update.dart │ │ │ ├── duplicate_detection_config.dart │ │ │ ├── duplicate_response_dto.dart │ │ │ ├── email_notifications_response.dart │ │ │ ├── email_notifications_update.dart │ │ │ ├── exif_response_dto.dart │ │ │ ├── face_dto.dart │ │ │ ├── facial_recognition_config.dart │ │ │ ├── folders_response.dart │ │ │ ├── folders_update.dart │ │ │ ├── image_format.dart │ │ │ ├── job_command.dart │ │ │ ├── job_command_dto.dart │ │ │ ├── job_counts_dto.dart │ │ │ ├── job_create_dto.dart │ │ │ ├── job_name.dart │ │ │ ├── job_settings_dto.dart │ │ │ ├── job_status_dto.dart │ │ │ ├── library_response_dto.dart │ │ │ ├── library_stats_response_dto.dart │ │ │ ├── license_key_dto.dart │ │ │ ├── license_response_dto.dart │ │ │ ├── log_level.dart │ │ │ ├── login_credential_dto.dart │ │ │ ├── login_response_dto.dart │ │ │ ├── logout_response_dto.dart │ │ │ ├── machine_learning_availability_checks_dto.dart │ │ │ ├── manual_job_name.dart │ │ │ ├── map_marker_response_dto.dart │ │ │ ├── map_reverse_geocode_response_dto.dart │ │ │ ├── memories_response.dart │ │ │ ├── memories_update.dart │ │ │ ├── memory_create_dto.dart │ │ │ ├── memory_response_dto.dart │ │ │ ├── memory_statistics_response_dto.dart │ │ │ ├── memory_type.dart │ │ │ ├── memory_update_dto.dart │ │ │ ├── merge_person_dto.dart │ │ │ ├── metadata_search_dto.dart │ │ │ ├── notification_create_dto.dart │ │ │ ├── notification_delete_all_dto.dart │ │ │ ├── notification_dto.dart │ │ │ ├── notification_level.dart │ │ │ ├── notification_type.dart │ │ │ ├── notification_update_all_dto.dart │ │ │ ├── notification_update_dto.dart │ │ │ ├── o_auth_authorize_response_dto.dart │ │ │ ├── o_auth_callback_dto.dart │ │ │ ├── o_auth_config_dto.dart │ │ │ ├── o_auth_token_endpoint_auth_method.dart │ │ │ ├── ocr_config.dart │ │ │ ├── on_this_day_dto.dart │ │ │ ├── onboarding_dto.dart │ │ │ ├── onboarding_response_dto.dart │ │ │ ├── partner_create_dto.dart │ │ │ ├── partner_direction.dart │ │ │ ├── partner_response_dto.dart │ │ │ ├── partner_update_dto.dart │ │ │ ├── people_response.dart │ │ │ ├── people_response_dto.dart │ │ │ ├── people_update.dart │ │ │ ├── people_update_dto.dart │ │ │ ├── people_update_item.dart │ │ │ ├── permission.dart │ │ │ ├── person_create_dto.dart │ │ │ ├── person_response_dto.dart │ │ │ ├── person_statistics_response_dto.dart │ │ │ ├── person_update_dto.dart │ │ │ ├── person_with_faces_response_dto.dart │ │ │ ├── pin_code_change_dto.dart │ │ │ ├── pin_code_reset_dto.dart │ │ │ ├── pin_code_setup_dto.dart │ │ │ ├── places_response_dto.dart │ │ │ ├── purchase_response.dart │ │ │ ├── purchase_update.dart │ │ │ ├── queue_status_dto.dart │ │ │ ├── random_search_dto.dart │ │ │ ├── ratings_response.dart │ │ │ ├── ratings_update.dart │ │ │ ├── reaction_level.dart │ │ │ ├── reaction_type.dart │ │ │ ├── reverse_geocoding_state_response_dto.dart │ │ │ ├── search_album_response_dto.dart │ │ │ ├── search_asset_response_dto.dart │ │ │ ├── search_explore_item.dart │ │ │ ├── search_explore_response_dto.dart │ │ │ ├── search_facet_count_response_dto.dart │ │ │ ├── search_facet_response_dto.dart │ │ │ ├── search_response_dto.dart │ │ │ ├── search_statistics_response_dto.dart │ │ │ ├── search_suggestion_type.dart │ │ │ ├── server_about_response_dto.dart │ │ │ ├── server_apk_links_dto.dart │ │ │ ├── server_config_dto.dart │ │ │ ├── server_features_dto.dart │ │ │ ├── server_media_types_response_dto.dart │ │ │ ├── server_ping_response.dart │ │ │ ├── server_stats_response_dto.dart │ │ │ ├── server_storage_response_dto.dart │ │ │ ├── server_theme_dto.dart │ │ │ ├── server_version_history_response_dto.dart │ │ │ ├── server_version_response_dto.dart │ │ │ ├── session_create_dto.dart │ │ │ ├── session_create_response_dto.dart │ │ │ ├── session_response_dto.dart │ │ │ ├── session_unlock_dto.dart │ │ │ ├── session_update_dto.dart │ │ │ ├── shared_link_create_dto.dart │ │ │ ├── shared_link_edit_dto.dart │ │ │ ├── shared_link_response_dto.dart │ │ │ ├── shared_link_type.dart │ │ │ ├── shared_links_response.dart │ │ │ ├── shared_links_update.dart │ │ │ ├── sign_up_dto.dart │ │ │ ├── smart_search_dto.dart │ │ │ ├── source_type.dart │ │ │ ├── stack_create_dto.dart │ │ │ ├── stack_response_dto.dart │ │ │ ├── stack_update_dto.dart │ │ │ ├── statistics_search_dto.dart │ │ │ ├── sync_ack_delete_dto.dart │ │ │ ├── sync_ack_dto.dart │ │ │ ├── sync_ack_set_dto.dart │ │ │ ├── sync_album_delete_v1.dart │ │ │ ├── sync_album_to_asset_delete_v1.dart │ │ │ ├── sync_album_to_asset_v1.dart │ │ │ ├── sync_album_user_delete_v1.dart │ │ │ ├── sync_album_user_v1.dart │ │ │ ├── sync_album_v1.dart │ │ │ ├── sync_asset_delete_v1.dart │ │ │ ├── sync_asset_exif_v1.dart │ │ │ ├── sync_asset_face_delete_v1.dart │ │ │ ├── sync_asset_face_v1.dart │ │ │ ├── sync_asset_metadata_delete_v1.dart │ │ │ ├── sync_asset_metadata_v1.dart │ │ │ ├── sync_asset_v1.dart │ │ │ ├── sync_auth_user_v1.dart │ │ │ ├── sync_entity_type.dart │ │ │ ├── sync_memory_asset_delete_v1.dart │ │ │ ├── sync_memory_asset_v1.dart │ │ │ ├── sync_memory_delete_v1.dart │ │ │ ├── sync_memory_v1.dart │ │ │ ├── sync_partner_delete_v1.dart │ │ │ ├── sync_partner_v1.dart │ │ │ ├── sync_person_delete_v1.dart │ │ │ ├── sync_person_v1.dart │ │ │ ├── sync_request_type.dart │ │ │ ├── sync_stack_delete_v1.dart │ │ │ ├── sync_stack_v1.dart │ │ │ ├── sync_stream_dto.dart │ │ │ ├── sync_user_delete_v1.dart │ │ │ ├── sync_user_metadata_delete_v1.dart │ │ │ ├── sync_user_metadata_v1.dart │ │ │ ├── sync_user_v1.dart │ │ │ ├── system_config_backups_dto.dart │ │ │ ├── system_config_dto.dart │ │ │ ├── system_config_f_fmpeg_dto.dart │ │ │ ├── system_config_faces_dto.dart │ │ │ ├── system_config_generated_fullsize_image_dto.dart │ │ │ ├── system_config_generated_image_dto.dart │ │ │ ├── system_config_image_dto.dart │ │ │ ├── system_config_job_dto.dart │ │ │ ├── system_config_library_dto.dart │ │ │ ├── system_config_library_scan_dto.dart │ │ │ ├── system_config_library_watch_dto.dart │ │ │ ├── system_config_logging_dto.dart │ │ │ ├── system_config_machine_learning_dto.dart │ │ │ ├── system_config_map_dto.dart │ │ │ ├── system_config_metadata_dto.dart │ │ │ ├── system_config_new_version_check_dto.dart │ │ │ ├── system_config_nightly_tasks_dto.dart │ │ │ ├── system_config_notifications_dto.dart │ │ │ ├── system_config_o_auth_dto.dart │ │ │ ├── system_config_password_login_dto.dart │ │ │ ├── system_config_reverse_geocoding_dto.dart │ │ │ ├── system_config_server_dto.dart │ │ │ ├── system_config_smtp_dto.dart │ │ │ ├── system_config_smtp_transport_dto.dart │ │ │ ├── system_config_storage_template_dto.dart │ │ │ ├── system_config_template_emails_dto.dart │ │ │ ├── system_config_template_storage_option_dto.dart │ │ │ ├── system_config_templates_dto.dart │ │ │ ├── system_config_theme_dto.dart │ │ │ ├── system_config_trash_dto.dart │ │ │ ├── system_config_user_dto.dart │ │ │ ├── tag_bulk_assets_dto.dart │ │ │ ├── tag_bulk_assets_response_dto.dart │ │ │ ├── tag_create_dto.dart │ │ │ ├── tag_response_dto.dart │ │ │ ├── tag_update_dto.dart │ │ │ ├── tag_upsert_dto.dart │ │ │ ├── tags_response.dart │ │ │ ├── tags_update.dart │ │ │ ├── template_dto.dart │ │ │ ├── template_response_dto.dart │ │ │ ├── test_email_response_dto.dart │ │ │ ├── time_bucket_asset_response_dto.dart │ │ │ ├── time_buckets_response_dto.dart │ │ │ ├── tone_mapping.dart │ │ │ ├── transcode_hw_accel.dart │ │ │ ├── transcode_policy.dart │ │ │ ├── trash_response_dto.dart │ │ │ ├── update_album_dto.dart │ │ │ ├── update_album_user_dto.dart │ │ │ ├── update_asset_dto.dart │ │ │ ├── update_library_dto.dart │ │ │ ├── usage_by_user_dto.dart │ │ │ ├── user_admin_create_dto.dart │ │ │ ├── user_admin_delete_dto.dart │ │ │ ├── user_admin_response_dto.dart │ │ │ ├── user_admin_update_dto.dart │ │ │ ├── user_avatar_color.dart │ │ │ ├── user_license.dart │ │ │ ├── user_metadata_key.dart │ │ │ ├── user_preferences_response_dto.dart │ │ │ ├── user_preferences_update_dto.dart │ │ │ ├── user_response_dto.dart │ │ │ ├── user_status.dart │ │ │ ├── user_update_me_dto.dart │ │ │ ├── validate_access_token_response_dto.dart │ │ │ ├── validate_library_dto.dart │ │ │ ├── validate_library_import_path_response_dto.dart │ │ │ ├── validate_library_response_dto.dart │ │ │ ├── version_check_state_response_dto.dart │ │ │ ├── video_codec.dart │ │ │ └── video_container.dart │ └── pubspec.yaml ├── pigeon │ ├── background_worker_api.dart │ ├── background_worker_lock_api.dart │ ├── connectivity_api.dart │ ├── native_sync_api.dart │ └── thumbnail_api.dart ├── pubspec.lock ├── pubspec.yaml ├── scripts │ ├── check_i18n_keys.py │ ├── fdroid_build_isar.sh │ └── fdroid_update_isar.sh └── test │ ├── api.mocks.dart │ ├── domain │ ├── service.mock.dart │ └── services │ │ ├── album.service_test.dart │ │ ├── hash_service_test.dart │ │ ├── log_service_test.dart │ │ ├── store_service_test.dart │ │ ├── sync_stream_service_test.dart │ │ └── user_service_test.dart │ ├── drift │ └── main │ │ ├── generated │ │ ├── schema.dart │ │ ├── schema_v1.dart │ │ ├── schema_v10.dart │ │ ├── schema_v11.dart │ │ ├── schema_v12.dart │ │ ├── schema_v2.dart │ │ ├── schema_v3.dart │ │ ├── schema_v4.dart │ │ ├── schema_v5.dart │ │ ├── schema_v6.dart │ │ ├── schema_v7.dart │ │ ├── schema_v8.dart │ │ └── schema_v9.dart │ │ └── migration_test.dart │ ├── dto.mocks.dart │ ├── fixtures │ ├── album.stub.dart │ ├── asset.stub.dart │ ├── exif.stub.dart │ ├── sync_stream.stub.dart │ └── user.stub.dart │ ├── infrastructure │ ├── repositories │ │ ├── exif_repository_test.dart │ │ ├── local_album_repository_test.dart │ │ ├── store_repository_test.dart │ │ └── sync_api_repository_test.dart │ └── repository.mock.dart │ ├── mock_http_override.dart │ ├── modules │ ├── activity │ │ ├── activities_page_test.dart │ │ ├── activity_mocks.dart │ │ ├── activity_provider_test.dart │ │ ├── activity_statistics_provider_test.dart │ │ ├── activity_text_field_test.dart │ │ ├── activity_tile_test.dart │ │ └── dismissible_activity_test.dart │ ├── album │ │ ├── album_mocks.dart │ │ └── album_sort_by_options_provider_test.dart │ ├── asset_viewer │ │ └── asset_viewer_mocks.dart │ ├── extensions │ │ ├── asset_extensions_test.dart │ │ ├── builtin_extensions_test.dart │ │ └── datetime_extensions_test.dart │ ├── home │ │ └── asset_grid_data_structure_test.dart │ ├── map │ │ ├── map_mocks.dart │ │ └── map_theme_override_test.dart │ ├── settings │ │ └── settings_mocks.dart │ ├── shared │ │ ├── shared_mocks.dart │ │ └── sync_service_test.dart │ └── utils │ │ ├── async_mutex_test.dart │ │ ├── datetime_helpers_test.dart │ │ ├── debouncer_test.dart │ │ ├── diff_test.dart │ │ ├── migration_test.dart │ │ ├── openapi_patching_test.dart │ │ ├── throttler_test.dart │ │ ├── thumbnail_utils_test.dart │ │ ├── url_helper_test.dart │ │ └── version_compatibility_test.dart │ ├── pages │ └── search │ │ └── search.page_test.dart │ ├── repository.mocks.dart │ ├── service.mocks.dart │ ├── services │ ├── album.service_test.dart │ ├── asset.service_test.dart │ ├── auth.service_test.dart │ ├── entity.service_test.dart │ ├── hash_service_test.dart │ └── upload.service_test.dart │ ├── test_utils.dart │ ├── test_utils │ └── medium_factory.dart │ ├── utils │ ├── action_button_utils_test.dart │ └── semver_test.dart │ └── widget_tester_extensions.dart ├── open-api ├── bin │ └── generate-open-api.sh ├── immich-openapi-specs.json ├── openapitools.json ├── patch │ ├── api.dart.patch │ ├── api_client.dart.patch │ └── pubspec_immich_mobile.yaml.patch ├── templates │ └── mobile │ │ ├── api.mustache │ │ ├── api.mustache.patch │ │ └── serialization │ │ └── native │ │ ├── native_class.mustache │ │ ├── native_class.mustache.patch │ │ └── native_class_nullable_items_in_arrays.patch └── typescript-sdk │ ├── .npmignore │ ├── .nvmrc │ ├── README.md │ ├── package.json │ ├── src │ ├── fetch-client.ts │ ├── fetch-errors.ts │ └── index.ts │ └── tsconfig.json ├── package.json ├── pnpm-lock.yaml ├── pnpm-workspace.yaml ├── readme_i18n ├── README_ar_JO.md ├── README_ca_ES.md ├── README_de_DE.md ├── README_es_ES.md ├── README_fr_FR.md ├── README_it_IT.md ├── README_ja_JP.md ├── README_ko_KR.md ├── README_nl_NL.md ├── README_pt_BR.md ├── README_ru_RU.md ├── README_sv_SE.md ├── README_th_TH.md ├── README_tr_TR.md ├── README_uk_UA.md ├── README_vi_VN.md ├── README_zh_CN.md └── README_zh_TW.md ├── renovate.json ├── server ├── .gitignore ├── .npmignore ├── .nvmrc ├── .prettierignore ├── .prettierrc ├── Dockerfile ├── Dockerfile.dev ├── bin │ ├── ephemeral-microservices.sh │ ├── get-cpus.sh │ ├── immich-admin │ ├── immich-dev │ ├── immich-healthcheck │ ├── pre-stop.sh │ ├── set-nightly-job-time.sh │ └── start.sh ├── eslint.config.mjs ├── nest-cli.json ├── package.json ├── resources │ ├── style-dark.json │ └── style-light.json ├── scripts │ └── queue-stats.js ├── src │ ├── app.module.ts │ ├── bin │ │ ├── migrations.ts │ │ ├── sync-open-api.ts │ │ └── sync-sql.ts │ ├── commands │ │ ├── grant-admin.ts │ │ ├── index.ts │ │ ├── list-users.command.ts │ │ ├── media-location.command.ts │ │ ├── oauth-login.ts │ │ ├── password-login.ts │ │ ├── reset-admin-password.command.ts │ │ └── version.command.ts │ ├── config.ts │ ├── constants.ts │ ├── controllers │ │ ├── activity.controller.spec.ts │ │ ├── activity.controller.ts │ │ ├── album.controller.spec.ts │ │ ├── album.controller.ts │ │ ├── api-key.controller.spec.ts │ │ ├── api-key.controller.ts │ │ ├── app.controller.spec.ts │ │ ├── app.controller.ts │ │ ├── asset-media.controller.spec.ts │ │ ├── asset-media.controller.ts │ │ ├── asset.controller.spec.ts │ │ ├── asset.controller.ts │ │ ├── auth-admin.controller.ts │ │ ├── auth.controller.spec.ts │ │ ├── auth.controller.ts │ │ ├── download.controller.spec.ts │ │ ├── download.controller.ts │ │ ├── duplicate.controller.ts │ │ ├── face.controller.ts │ │ ├── index.ts │ │ ├── job.controller.ts │ │ ├── library.controller.ts │ │ ├── map.controller.ts │ │ ├── memory.controller.spec.ts │ │ ├── memory.controller.ts │ │ ├── notification-admin.controller.ts │ │ ├── notification.controller.spec.ts │ │ ├── notification.controller.ts │ │ ├── oauth.controller.ts │ │ ├── partner.controller.spec.ts │ │ ├── partner.controller.ts │ │ ├── person.controller.spec.ts │ │ ├── person.controller.ts │ │ ├── search.controller.spec.ts │ │ ├── search.controller.ts │ │ ├── server.controller.spec.ts │ │ ├── server.controller.ts │ │ ├── session.controller.ts │ │ ├── shared-link.controller.ts │ │ ├── stack.controller.ts │ │ ├── sync.controller.spec.ts │ │ ├── sync.controller.ts │ │ ├── system-config.controller.spec.ts │ │ ├── system-config.controller.ts │ │ ├── system-metadata.controller.ts │ │ ├── tag.controller.ts │ │ ├── timeline.controller.spec.ts │ │ ├── timeline.controller.ts │ │ ├── trash.controller.ts │ │ ├── user-admin.controller.spec.ts │ │ ├── user-admin.controller.ts │ │ ├── user.controller.spec.ts │ │ ├── user.controller.ts │ │ └── view.controller.ts │ ├── cores │ │ ├── storage.core.spec.ts │ │ └── storage.core.ts │ ├── database.ts │ ├── decorators.ts │ ├── dtos │ │ ├── activity.dto.ts │ │ ├── album-response.dto.spec.ts │ │ ├── album.dto.ts │ │ ├── api-key.dto.ts │ │ ├── asset-ids.response.dto.ts │ │ ├── asset-media-response.dto.ts │ │ ├── asset-media.dto.ts │ │ ├── asset-response.dto.ts │ │ ├── asset.dto.ts │ │ ├── auth.dto.ts │ │ ├── download.dto.ts │ │ ├── duplicate.dto.ts │ │ ├── env.dto.ts │ │ ├── exif.dto.ts │ │ ├── job.dto.ts │ │ ├── library.dto.ts │ │ ├── license.dto.ts │ │ ├── map.dto.ts │ │ ├── memory.dto.ts │ │ ├── model-config.dto.ts │ │ ├── notification.dto.ts │ │ ├── ocr.dto.ts │ │ ├── onboarding.dto.ts │ │ ├── partner.dto.ts │ │ ├── person.dto.ts │ │ ├── search.dto.ts │ │ ├── server.dto.ts │ │ ├── session.dto.ts │ │ ├── shared-link.dto.ts │ │ ├── stack.dto.ts │ │ ├── sync.dto.ts │ │ ├── system-config.dto.ts │ │ ├── system-metadata.dto.ts │ │ ├── tag.dto.ts │ │ ├── time-bucket.dto.ts │ │ ├── trash.dto.ts │ │ ├── user-preferences.dto.ts │ │ ├── user-profile.dto.ts │ │ ├── user.dto.spec.ts │ │ └── user.dto.ts │ ├── emails │ │ ├── album-invite.email.tsx │ │ ├── album-update.email.tsx │ │ ├── components │ │ │ ├── button.component.tsx │ │ │ ├── footer.template.tsx │ │ │ ├── futo.layout.tsx │ │ │ └── immich.layout.tsx │ │ ├── license.email.tsx │ │ ├── test.email.tsx │ │ └── welcome.email.tsx │ ├── enum.ts │ ├── main.ts │ ├── middleware │ │ ├── asset-upload.interceptor.ts │ │ ├── auth.guard.ts │ │ ├── error.interceptor.ts │ │ ├── file-upload.interceptor.ts │ │ ├── global-exception.filter.ts │ │ ├── logging.interceptor.ts │ │ └── websocket.adapter.ts │ ├── queries │ │ ├── access.repository.sql │ │ ├── activity.repository.sql │ │ ├── album.repository.sql │ │ ├── album.user.repository.sql │ │ ├── api.key.repository.sql │ │ ├── asset.job.repository.sql │ │ ├── asset.repository.sql │ │ ├── audit.repository.sql │ │ ├── database.repository.sql │ │ ├── duplicate.repository.sql │ │ ├── library.repository.sql │ │ ├── map.repository.sql │ │ ├── memory.repository.sql │ │ ├── move.repository.sql │ │ ├── notification.repository.sql │ │ ├── ocr.repository.sql │ │ ├── partner.repository.sql │ │ ├── person.repository.sql │ │ ├── search.repository.sql │ │ ├── session.repository.sql │ │ ├── shared.link.asset.repository.sql │ │ ├── shared.link.repository.sql │ │ ├── stack.repository.sql │ │ ├── sync.checkpoint.repository.sql │ │ ├── sync.repository.sql │ │ ├── system.metadata.repository.sql │ │ ├── tag.repository.sql │ │ ├── trash.repository.sql │ │ ├── user.repository.sql │ │ ├── version.history.repository.sql │ │ └── view.repository.sql │ ├── repositories │ │ ├── access.repository.ts │ │ ├── activity.repository.ts │ │ ├── album-user.repository.ts │ │ ├── album.repository.ts │ │ ├── api-key.repository.ts │ │ ├── asset-job.repository.ts │ │ ├── asset.repository.ts │ │ ├── audit.repository.ts │ │ ├── config.repository.spec.ts │ │ ├── config.repository.ts │ │ ├── cron.repository.ts │ │ ├── crypto.repository.ts │ │ ├── database.repository.ts │ │ ├── download.repository.ts │ │ ├── duplicate.repository.ts │ │ ├── email.repository.spec.ts │ │ ├── email.repository.ts │ │ ├── event.repository.ts │ │ ├── index.ts │ │ ├── job.repository.ts │ │ ├── library.repository.ts │ │ ├── logging.repository.spec.ts │ │ ├── logging.repository.ts │ │ ├── machine-learning.repository.ts │ │ ├── map.repository.ts │ │ ├── media.repository.ts │ │ ├── memory.repository.ts │ │ ├── metadata.repository.ts │ │ ├── move.repository.ts │ │ ├── notification.repository.ts │ │ ├── oauth.repository.ts │ │ ├── ocr.repository.ts │ │ ├── partner.repository.ts │ │ ├── person.repository.ts │ │ ├── process.repository.ts │ │ ├── search.repository.ts │ │ ├── server-info.repository.ts │ │ ├── session.repository.ts │ │ ├── shared-link-asset.repository.ts │ │ ├── shared-link.repository.ts │ │ ├── stack.repository.ts │ │ ├── storage.repository.spec.ts │ │ ├── storage.repository.ts │ │ ├── sync-checkpoint.repository.ts │ │ ├── sync.repository.ts │ │ ├── system-metadata.repository.ts │ │ ├── tag.repository.ts │ │ ├── telemetry.repository.ts │ │ ├── trash.repository.ts │ │ ├── user.repository.ts │ │ ├── version-history.repository.ts │ │ ├── view-repository.ts │ │ └── websocket.repository.ts │ ├── schema │ │ ├── enums.ts │ │ ├── functions.ts │ │ ├── index.ts │ │ ├── migrations │ │ │ ├── 1744910873969-InitialMigration.ts │ │ │ ├── 1744991379464-AddNotificationsTable.ts │ │ │ ├── 1745244781846-AddUserAvatarColorColumn.ts │ │ │ ├── 1745902563899-AddAssetVisibilityColumn.ts │ │ │ ├── 1746636476623-DropExtraIndexes.ts │ │ │ ├── 1746768490606-AddUserPincode.ts │ │ │ ├── 1746844028242-AddLockedVisibilityEnum.ts │ │ │ ├── 1746987967923-AddPinExpiresAtColumn.ts │ │ │ ├── 1747329504572-AddNewSessionColumns.ts │ │ │ ├── 1747338664832-SessionRename.ts │ │ │ ├── 1747664684909-AddAlbumAuditTables.ts │ │ │ ├── 1749067526135-UserOnboardingDefault.ts │ │ │ ├── 1750107668827-PartnerCreateId.ts │ │ │ ├── 1750189909087-AddAlbumUserCreateFields.ts │ │ │ ├── 1750323941566-UnsetPrewarmDimParameter.ts │ │ │ ├── 1750676477029-AlbumAssetUpdateId.ts │ │ │ ├── 1750694237564-AlbumAssetAuditTable.ts │ │ │ ├── 1750780093818-AddAlbumToAssetDeleteTrigger.ts │ │ │ ├── 1751035357937-MemorySyncChanges.ts │ │ │ ├── 1751304834247-StackSyncChanges.ts │ │ │ ├── 1751924596408-AddOverrides.ts │ │ │ ├── 1752004072340-UpdateIndexOverrides.ts │ │ │ ├── 1752152941084-PeopleAuditTable.ts │ │ │ ├── 1752161055253-RenameGeodataPKConstraint.ts │ │ │ ├── 1752161055254-AddActivityAssetFk.ts │ │ │ ├── 1752169992364-AddIsPendingSyncReset.ts │ │ │ ├── 1752250924342-UserMetadataSync.ts │ │ │ ├── 1752267649968-StandardizeNames.ts │ │ │ ├── 1752759108283-ConvertToAbsolutePaths.ts │ │ │ ├── 1753104909784-AssetFaceUpdateIdAndAuditTable.ts │ │ │ ├── 1753464178233-RenameApiKeyPermissions.ts │ │ │ ├── 1753471866748-AddSharedLinkSlug.ts │ │ │ ├── 1753800911775-ProfileImageCheckpointRemoval.ts │ │ │ ├── 1754389095885-ResetAlbumAssetSync.ts │ │ │ ├── 1756318797207-AssetMetadataTables.ts │ │ │ ├── 1758705774125-CreateAssetOCRTable.ts │ │ │ ├── 1758705789125-CreateOCRSearchTable.ts │ │ │ ├── 1758705804128-UpsertOcrAssetJobStatus.ts │ │ │ └── 1761078763279-AddAppVersionColumnToSession.ts │ │ └── tables │ │ │ ├── activity.table.ts │ │ │ ├── album-asset-audit.table.ts │ │ │ ├── album-asset.table.ts │ │ │ ├── album-audit.table.ts │ │ │ ├── album-user-audit.table.ts │ │ │ ├── album-user.table.ts │ │ │ ├── album.table.ts │ │ │ ├── api-key.table.ts │ │ │ ├── asset-audit.table.ts │ │ │ ├── asset-exif.table.ts │ │ │ ├── asset-face-audit.table.ts │ │ │ ├── asset-face.table.ts │ │ │ ├── asset-file.table.ts │ │ │ ├── asset-job-status.table.ts │ │ │ ├── asset-metadata-audit.table.ts │ │ │ ├── asset-metadata.table.ts │ │ │ ├── asset-ocr.table.ts │ │ │ ├── asset.table.ts │ │ │ ├── audit.table.ts │ │ │ ├── face-search.table.ts │ │ │ ├── geodata-places.table.ts │ │ │ ├── library.table.ts │ │ │ ├── memory-asset-audit.table.ts │ │ │ ├── memory-asset.table.ts │ │ │ ├── memory-audit.table.ts │ │ │ ├── memory.table.ts │ │ │ ├── move.table.ts │ │ │ ├── natural-earth-countries.table.ts │ │ │ ├── notification.table.ts │ │ │ ├── ocr-search.table.ts │ │ │ ├── partner-audit.table.ts │ │ │ ├── partner.table.ts │ │ │ ├── person-audit.table.ts │ │ │ ├── person.table.ts │ │ │ ├── session.table.ts │ │ │ ├── shared-link-asset.table.ts │ │ │ ├── shared-link.table.ts │ │ │ ├── smart-search.table.ts │ │ │ ├── stack-audit.table.ts │ │ │ ├── stack.table.ts │ │ │ ├── sync-checkpoint.table.ts │ │ │ ├── system-metadata.table.ts │ │ │ ├── tag-asset.table.ts │ │ │ ├── tag-closure.table.ts │ │ │ ├── tag.table.ts │ │ │ ├── user-audit.table.ts │ │ │ ├── user-metadata-audit.table.ts │ │ │ ├── user-metadata.table.ts │ │ │ ├── user.table.ts │ │ │ └── version-history.table.ts │ ├── services │ │ ├── activity.service.spec.ts │ │ ├── activity.service.ts │ │ ├── album.service.spec.ts │ │ ├── album.service.ts │ │ ├── api-key.service.spec.ts │ │ ├── api-key.service.ts │ │ ├── api.service.ts │ │ ├── asset-media.service.spec.ts │ │ ├── asset-media.service.ts │ │ ├── asset.service.spec.ts │ │ ├── asset.service.ts │ │ ├── audit.service.spec.ts │ │ ├── audit.service.ts │ │ ├── auth-admin.service.ts │ │ ├── auth.service.spec.ts │ │ ├── auth.service.ts │ │ ├── backup.service.spec.ts │ │ ├── backup.service.ts │ │ ├── base.service.ts │ │ ├── cli.service.spec.ts │ │ ├── cli.service.ts │ │ ├── database.service.spec.ts │ │ ├── database.service.ts │ │ ├── download.service.spec.ts │ │ ├── download.service.ts │ │ ├── duplicate.service.spec.ts │ │ ├── duplicate.service.ts │ │ ├── index.ts │ │ ├── job.service.spec.ts │ │ ├── job.service.ts │ │ ├── library.service.spec.ts │ │ ├── library.service.ts │ │ ├── map.service.spec.ts │ │ ├── map.service.ts │ │ ├── media.service.spec.ts │ │ ├── media.service.ts │ │ ├── memory.service.spec.ts │ │ ├── memory.service.ts │ │ ├── metadata.service.spec.ts │ │ ├── metadata.service.ts │ │ ├── notification-admin.service.spec.ts │ │ ├── notification-admin.service.ts │ │ ├── notification.service.spec.ts │ │ ├── notification.service.ts │ │ ├── ocr.service.spec.ts │ │ ├── ocr.service.ts │ │ ├── partner.service.spec.ts │ │ ├── partner.service.ts │ │ ├── person.service.spec.ts │ │ ├── person.service.ts │ │ ├── search.service.spec.ts │ │ ├── search.service.ts │ │ ├── server.service.spec.ts │ │ ├── server.service.ts │ │ ├── session.service.spec.ts │ │ ├── session.service.ts │ │ ├── shared-link.service.spec.ts │ │ ├── shared-link.service.ts │ │ ├── smart-info.service.spec.ts │ │ ├── smart-info.service.ts │ │ ├── stack.service.spec.ts │ │ ├── stack.service.ts │ │ ├── storage-template.service.spec.ts │ │ ├── storage-template.service.ts │ │ ├── storage.service.spec.ts │ │ ├── storage.service.ts │ │ ├── sync.service.spec.ts │ │ ├── sync.service.ts │ │ ├── system-config.service.spec.ts │ │ ├── system-config.service.ts │ │ ├── system-metadata.service.spec.ts │ │ ├── system-metadata.service.ts │ │ ├── tag.service.spec.ts │ │ ├── tag.service.ts │ │ ├── telemetry.service.ts │ │ ├── timeline.service.spec.ts │ │ ├── timeline.service.ts │ │ ├── trash.service.spec.ts │ │ ├── trash.service.ts │ │ ├── user-admin.service.spec.ts │ │ ├── user-admin.service.ts │ │ ├── user.service.spec.ts │ │ ├── user.service.ts │ │ ├── version.service.spec.ts │ │ ├── version.service.ts │ │ ├── view.service.spec.ts │ │ └── view.service.ts │ ├── sql-tools │ │ ├── comparers │ │ │ ├── column.comparer.spec.ts │ │ │ ├── column.comparer.ts │ │ │ ├── constraint.comparer.spec.ts │ │ │ ├── constraint.comparer.ts │ │ │ ├── enum.comparer.spec.ts │ │ │ ├── enum.comparer.ts │ │ │ ├── extension.comparer.spec.ts │ │ │ ├── extension.comparer.ts │ │ │ ├── function.comparer.spec.ts │ │ │ ├── function.comparer.ts │ │ │ ├── index.comparer.spec.ts │ │ │ ├── index.comparer.ts │ │ │ ├── override.comparer.spec.ts │ │ │ ├── override.comparer.ts │ │ │ ├── parameter.comparer.spec.ts │ │ │ ├── parameter.comparer.ts │ │ │ ├── table.comparer.spec.ts │ │ │ ├── table.comparer.ts │ │ │ ├── trigger.comparer.spec.ts │ │ │ └── trigger.comparer.ts │ │ ├── contexts │ │ │ ├── base-context.ts │ │ │ ├── processor-context.ts │ │ │ └── reader-context.ts │ │ ├── decorators │ │ │ ├── after-delete.decorator.ts │ │ │ ├── after-insert.decorator.ts │ │ │ ├── before-update.decorator.ts │ │ │ ├── check.decorator.ts │ │ │ ├── column.decorator.ts │ │ │ ├── configuration-parameter.decorator.ts │ │ │ ├── create-date-column.decorator.ts │ │ │ ├── database.decorator.ts │ │ │ ├── delete-date-column.decorator.ts │ │ │ ├── extension.decorator.ts │ │ │ ├── extensions.decorator.ts │ │ │ ├── foreign-key-column.decorator.ts │ │ │ ├── foreign-key-constraint.decorator.ts │ │ │ ├── generated-column.decorator.ts │ │ │ ├── index.decorator.ts │ │ │ ├── primary-column.decorator.ts │ │ │ ├── primary-generated-column.decorator.ts │ │ │ ├── table.decorator.ts │ │ │ ├── trigger-function.decorator.ts │ │ │ ├── trigger.decorator.ts │ │ │ ├── unique.decorator.ts │ │ │ └── update-date-column.decorator.ts │ │ ├── helpers.ts │ │ ├── index.ts │ │ ├── naming │ │ │ ├── default.naming.ts │ │ │ ├── hash.naming.ts │ │ │ └── naming.interface.ts │ │ ├── processors │ │ │ ├── check-constraint.processor.ts │ │ │ ├── column.processor.ts │ │ │ ├── configuration-parameter.processor.ts │ │ │ ├── database.processor.ts │ │ │ ├── enum.processor.ts │ │ │ ├── extension.processor.ts │ │ │ ├── foreign-key-column.processor.ts │ │ │ ├── foreign-key-constraint.processor.ts │ │ │ ├── function.processor.ts │ │ │ ├── index.processor.ts │ │ │ ├── index.ts │ │ │ ├── override.processor.ts │ │ │ ├── primary-key-contraint.processor.ts │ │ │ ├── table.processor.ts │ │ │ ├── trigger.processor.ts │ │ │ └── unique-constraint.processor.ts │ │ ├── public_api.ts │ │ ├── readers │ │ │ ├── column.reader.ts │ │ │ ├── comment.reader.ts │ │ │ ├── constraint.reader.ts │ │ │ ├── extension.reader.ts │ │ │ ├── function.reader.ts │ │ │ ├── index.reader.ts │ │ │ ├── index.ts │ │ │ ├── name.reader.ts │ │ │ ├── override.reader.ts │ │ │ ├── parameter.reader.ts │ │ │ ├── table.reader.ts │ │ │ └── trigger.reader.ts │ │ ├── register-enum.ts │ │ ├── register-function.ts │ │ ├── register-item.ts │ │ ├── register.ts │ │ ├── schema-diff.spec.ts │ │ ├── schema-diff.ts │ │ ├── schema-from-code.spec.ts │ │ ├── schema-from-code.ts │ │ ├── schema-from-database.ts │ │ ├── transformers │ │ │ ├── column.transformer.spec.ts │ │ │ ├── column.transformer.ts │ │ │ ├── constraint.transformer.spec.ts │ │ │ ├── constraint.transformer.ts │ │ │ ├── enum.transformer.ts │ │ │ ├── extension.transformer.spec.ts │ │ │ ├── extension.transformer.ts │ │ │ ├── function.transformer.spec.ts │ │ │ ├── function.transformer.ts │ │ │ ├── index.transformer.spec.ts │ │ │ ├── index.transformer.ts │ │ │ ├── index.ts │ │ │ ├── override.transformer.ts │ │ │ ├── parameter.transformer.ts │ │ │ ├── table.transformer.spec.ts │ │ │ ├── table.transformer.ts │ │ │ ├── trigger.transformer.spec.ts │ │ │ ├── trigger.transformer.ts │ │ │ └── types.ts │ │ └── types.ts │ ├── types.ts │ ├── utils │ │ ├── access.ts │ │ ├── asset.util.ts │ │ ├── bytes.ts │ │ ├── config.ts │ │ ├── database.spec.ts │ │ ├── database.ts │ │ ├── date.ts │ │ ├── file.ts │ │ ├── lifecycle.ts │ │ ├── logger.ts │ │ ├── media.ts │ │ ├── mime-types.spec.ts │ │ ├── mime-types.ts │ │ ├── misc.spec.ts │ │ ├── misc.ts │ │ ├── object.ts │ │ ├── pagination.ts │ │ ├── preferences.ts │ │ ├── replace-template-tags.ts │ │ ├── request.ts │ │ ├── response.ts │ │ ├── set.ts │ │ ├── sync.ts │ │ └── tag.ts │ ├── validation.spec.ts │ ├── validation.ts │ └── workers │ │ ├── api.ts │ │ └── microservices.ts ├── test │ ├── fixtures │ │ ├── album.stub.ts │ │ ├── asset.stub.ts │ │ ├── auth.stub.ts │ │ ├── face.stub.ts │ │ ├── file.stub.ts │ │ ├── media.stub.ts │ │ ├── notification.stub.ts │ │ ├── person.stub.ts │ │ ├── shared-link.stub.ts │ │ ├── system-config.stub.ts │ │ ├── tag.stub.ts │ │ └── user.stub.ts │ ├── medium.factory.ts │ ├── medium │ │ ├── globalSetup.ts │ │ ├── responses.ts │ │ └── specs │ │ │ ├── services │ │ │ ├── asset.service.spec.ts │ │ │ ├── audit.database.spec.ts │ │ │ ├── auth-admin.service.spec.ts │ │ │ ├── auth.service.spec.ts │ │ │ ├── memory.service.spec.ts │ │ │ ├── metadata.service.spec.ts │ │ │ ├── ocr.service.spec.ts │ │ │ ├── person.service.spec.ts │ │ │ ├── search.service.spec.ts │ │ │ ├── shared-link.service.spec.ts │ │ │ ├── storage.service.spec.ts │ │ │ ├── sync.service.spec.ts │ │ │ ├── tag.service.spec.ts │ │ │ ├── timeline.service.spec.ts │ │ │ ├── user.service.spec.ts │ │ │ └── version.service.spec.ts │ │ │ └── sync │ │ │ ├── sync-album-asset-exif.spec.ts │ │ │ ├── sync-album-asset.spec.ts │ │ │ ├── sync-album-to-asset.spec.ts │ │ │ ├── sync-album-user.spec.ts │ │ │ ├── sync-album.spec.ts │ │ │ ├── sync-asset-exif.spec.ts │ │ │ ├── sync-asset-face.spec.ts │ │ │ ├── sync-asset-metadata.spec.ts │ │ │ ├── sync-asset.spec.ts │ │ │ ├── sync-auth-user.spec.ts │ │ │ ├── sync-complete.spec.ts │ │ │ ├── sync-memory-asset.spec.ts │ │ │ ├── sync-memory.spec.ts │ │ │ ├── sync-partner-asset-exif.spec.ts │ │ │ ├── sync-partner-asset.spec.ts │ │ │ ├── sync-partner-stack.spec.ts │ │ │ ├── sync-partner.spec.ts │ │ │ ├── sync-person.spec.ts │ │ │ ├── sync-reset.spec.ts │ │ │ ├── sync-stack.spec.ts │ │ │ ├── sync-types.spec.ts │ │ │ ├── sync-user-metadata.spec.ts │ │ │ └── sync-user.spec.ts │ ├── repositories │ │ ├── access.repository.mock.ts │ │ ├── asset.repository.mock.ts │ │ ├── config.repository.mock.ts │ │ ├── crypto.repository.mock.ts │ │ ├── database.repository.mock.ts │ │ ├── job.repository.mock.ts │ │ ├── media.repository.mock.ts │ │ ├── metadata.repository.mock.ts │ │ ├── storage.repository.mock.ts │ │ ├── system-metadata.repository.mock.ts │ │ └── telemetry.repository.mock.ts │ ├── small.factory.ts │ ├── sql-tools │ │ ├── check-constraint-default-name.stub.ts │ │ ├── check-constraint-override-name.stub.ts │ │ ├── column-create-date.stub.ts │ │ ├── column-default-boolean.stub.ts │ │ ├── column-default-date.stub.ts │ │ ├── column-default-function.stub.ts │ │ ├── column-default-null.stub.ts │ │ ├── column-default-number.stub.ts │ │ ├── column-default-string.stub.ts │ │ ├── column-delete-date.stub.ts │ │ ├── column-enum-type.stub.ts │ │ ├── column-generated-identity.ts │ │ ├── column-generated-uuid.stub.ts │ │ ├── column-index-name-default.ts │ │ ├── column-index-name.ts │ │ ├── column-inferred-nullable.stub.ts │ │ ├── column-name-default.stub.ts │ │ ├── column-name-override.stub.ts │ │ ├── column-name-string.stub.ts │ │ ├── column-nullable.stub.ts │ │ ├── column-string-length.stub.ts │ │ ├── column-unique-constraint-name-default.stub.ts │ │ ├── column-unique-constraint-name-override.stub.ts │ │ ├── column-update-date.stub.ts │ │ ├── errors │ │ │ └── table-duplicate-decorator.stub.ts │ │ ├── foreign-key-constraint-column-order.stub.ts │ │ ├── foreign-key-constraint-missing-column.stub.ts │ │ ├── foreign-key-constraint-missing-reference-column.stub.ts │ │ ├── foreign-key-constraint-missing-reference-table.stub.ts │ │ ├── foreign-key-constraint-multiple-columns.stub.ts │ │ ├── foreign-key-constraint-no-index.stub.ts │ │ ├── foreign-key-constraint-no-primary.stub.ts │ │ ├── foreign-key-constraint.stub.ts │ │ ├── foreign-key-inferred-type.stub.ts │ │ ├── foreign-key-with-unique-constraint.stub.ts │ │ ├── index-name-default.stub.ts │ │ ├── index-name-override.stub.ts │ │ ├── index-with-expression.ts │ │ ├── index-with-where.stub.ts │ │ ├── primary-key-constraint-name-default.stub.ts │ │ ├── primary-key-constraint-name-override.stub.ts │ │ ├── table-name-default.stub.ts │ │ ├── table-name-override.stub.ts │ │ ├── table-name-string-option.stub.ts │ │ ├── trigger-after-delete.stub.ts │ │ ├── trigger-before-update.stub.ts │ │ ├── trigger-name-default.stub.ts │ │ ├── trigger-name-override.stub.ts │ │ ├── unique-constraint-name-default.stub.ts │ │ └── unique-constraint-name-override.stub.ts │ ├── utils.ts │ ├── vitest.config.medium.mjs │ └── vitest.config.mjs ├── tsconfig.build.json └── tsconfig.json └── web ├── .browserslistrc ├── .dockerignore ├── .gitignore ├── .npmrc ├── .nvmrc ├── .prettierignore ├── .prettierrc ├── README.md ├── bin └── immich-web ├── eslint.config.js ├── package.json ├── src ├── app.css ├── app.d.ts ├── app.html ├── hooks.client.ts ├── hooks.server.ts ├── lib │ ├── __mocks__ │ │ ├── animate.mock.ts │ │ ├── intersection-observer.mock.ts │ │ ├── jsdom-url.mock.ts │ │ ├── sdk.mock.ts │ │ └── visual-viewport.mock.ts │ ├── actions │ │ ├── __test__ │ │ │ ├── focus-trap-test.svelte │ │ │ └── focus-trap.spec.ts │ │ ├── autogrow.ts │ │ ├── click-outside.ts │ │ ├── context-menu-navigation.ts │ │ ├── focus-outside.ts │ │ ├── focus-trap.ts │ │ ├── focus.ts │ │ ├── intersection-observer.ts │ │ ├── list-navigation.ts │ │ ├── resize-observer.ts │ │ ├── scroll-memory.ts │ │ ├── shortcut.ts │ │ ├── thumbhash.ts │ │ ├── use-actions.ts │ │ └── zoom-image.ts │ ├── assets │ │ ├── apple │ │ │ ├── apple-splash-1125-2436.png │ │ │ ├── apple-splash-1136-640.png │ │ │ ├── apple-splash-1170-2532.png │ │ │ ├── apple-splash-1179-2556.png │ │ │ ├── apple-splash-1242-2208.png │ │ │ ├── apple-splash-1242-2688.png │ │ │ ├── apple-splash-1284-2778.png │ │ │ ├── apple-splash-1290-2796.png │ │ │ ├── apple-splash-1334-750.png │ │ │ ├── apple-splash-1536-2048.png │ │ │ ├── apple-splash-1620-2160.png │ │ │ ├── apple-splash-1668-2224.png │ │ │ ├── apple-splash-1668-2388.png │ │ │ ├── apple-splash-1792-828.png │ │ │ ├── apple-splash-2048-1536.png │ │ │ ├── apple-splash-2048-2732.png │ │ │ ├── apple-splash-2160-1620.png │ │ │ ├── apple-splash-2208-1242.png │ │ │ ├── apple-splash-2224-1668.png │ │ │ ├── apple-splash-2388-1668.png │ │ │ ├── apple-splash-2436-1125.png │ │ │ ├── apple-splash-2532-1170.png │ │ │ ├── apple-splash-2556-1179.png │ │ │ ├── apple-splash-2688-1242.png │ │ │ ├── apple-splash-2732-2048.png │ │ │ ├── apple-splash-2778-1284.png │ │ │ ├── apple-splash-2796-1290.png │ │ │ ├── apple-splash-640-1136.png │ │ │ ├── apple-splash-750-1334.png │ │ │ └── apple-splash-828-1792.png │ │ ├── empty-1.svg │ │ ├── empty-2.svg │ │ ├── empty-3.svg │ │ ├── empty-4.svg │ │ ├── empty-5.svg │ │ ├── fonts │ │ │ └── overpass │ │ │ │ ├── Overpass-Italic.ttf │ │ │ │ ├── Overpass.ttf │ │ │ │ └── OverpassMono.ttf │ │ ├── location-pin.svg │ │ ├── no-thumbnail.png │ │ ├── settings-outline.svg │ │ └── svg-paths.ts │ ├── cast │ │ └── cast-button.svelte │ ├── components │ │ ├── ApiKeyPermissionsPicker.svelte │ │ ├── ServerAboutItem.svelte │ │ ├── ToastAction.svelte │ │ ├── admin-settings │ │ │ ├── AdminSettings.svelte │ │ │ ├── AuthSettings.svelte │ │ │ ├── BackupSettings.svelte │ │ │ ├── FFmpegSettings.svelte │ │ │ ├── ImageSettings.svelte │ │ │ ├── JobSettings.svelte │ │ │ ├── LibrarySettings.svelte │ │ │ ├── LoggingSettings.svelte │ │ │ ├── MachineLearningSettings.svelte │ │ │ ├── MapSettings.svelte │ │ │ ├── MetadataSettings.svelte │ │ │ ├── NewVersionCheckSettings.svelte │ │ │ ├── NightlyTasksSettings.svelte │ │ │ ├── NotificationSettings.svelte │ │ │ ├── ServerSettings.svelte │ │ │ ├── StorageTemplateSettings.svelte │ │ │ ├── SupportedDatetimePanel.svelte │ │ │ ├── SupportedVariablesPanel.svelte │ │ │ ├── TemplateSettings.svelte │ │ │ ├── ThemeSettings.svelte │ │ │ ├── TrashSettings.svelte │ │ │ ├── UserSettings.svelte │ │ │ └── admin-settings.ts │ │ ├── album-page │ │ │ ├── __tests__ │ │ │ │ ├── album-card.spec.ts │ │ │ │ └── album-cover.spec.ts │ │ │ ├── album-card-group.svelte │ │ │ ├── album-card.svelte │ │ │ ├── album-cover.svelte │ │ │ ├── album-description.spec.ts │ │ │ ├── album-description.svelte │ │ │ ├── album-map.svelte │ │ │ ├── album-shared-link.svelte │ │ │ ├── album-summary.svelte │ │ │ ├── album-title.svelte │ │ │ ├── album-viewer.svelte │ │ │ ├── albums-controls.svelte │ │ │ ├── albums-list.svelte │ │ │ ├── albums-table-header.svelte │ │ │ ├── albums-table-row.svelte │ │ │ └── albums-table.svelte │ │ ├── asset-viewer │ │ │ ├── actions │ │ │ │ ├── action.ts │ │ │ │ ├── add-to-album-action.svelte │ │ │ │ ├── add-to-stack-action.svelte │ │ │ │ ├── archive-action.svelte │ │ │ │ ├── close-action.svelte │ │ │ │ ├── delete-action.spec.ts │ │ │ │ ├── delete-action.svelte │ │ │ │ ├── download-action.svelte │ │ │ │ ├── favorite-action.svelte │ │ │ │ ├── keep-this-delete-others.svelte │ │ │ │ ├── motion-photo-action.svelte │ │ │ │ ├── next-asset-action.svelte │ │ │ │ ├── previous-asset-action.svelte │ │ │ │ ├── remove-asset-from-stack.svelte │ │ │ │ ├── restore-action.svelte │ │ │ │ ├── set-album-cover-action.svelte │ │ │ │ ├── set-person-featured-action.svelte │ │ │ │ ├── set-profile-picture-action.svelte │ │ │ │ ├── set-stack-primary-asset.svelte │ │ │ │ ├── set-visibility-action.svelte │ │ │ │ ├── share-action.svelte │ │ │ │ ├── show-detail-action.svelte │ │ │ │ └── unstack-action.svelte │ │ │ ├── activity-status.svelte │ │ │ ├── activity-viewer.svelte │ │ │ ├── album-list-item-details.svelte │ │ │ ├── album-list-item.svelte │ │ │ ├── asset-viewer-nav-bar.spec.ts │ │ │ ├── asset-viewer-nav-bar.svelte │ │ │ ├── asset-viewer.svelte │ │ │ ├── detail-panel-description.svelte │ │ │ ├── detail-panel-location.svelte │ │ │ ├── detail-panel-star-rating.svelte │ │ │ ├── detail-panel-tags.svelte │ │ │ ├── detail-panel.svelte │ │ │ ├── download-panel.svelte │ │ │ ├── editor │ │ │ │ ├── crop-tool │ │ │ │ │ ├── crop-area.svelte │ │ │ │ │ ├── crop-preset.svelte │ │ │ │ │ ├── crop-settings.ts │ │ │ │ │ ├── crop-store.ts │ │ │ │ │ ├── crop-tool.svelte │ │ │ │ │ ├── drawing.ts │ │ │ │ │ ├── image-loading.ts │ │ │ │ │ └── mouse-handlers.ts │ │ │ │ └── editor-panel.svelte │ │ │ ├── face-editor │ │ │ │ └── face-editor.svelte │ │ │ ├── image-panorama-viewer.svelte │ │ │ ├── navigation-area.svelte │ │ │ ├── photo-sphere-viewer-adapter.svelte │ │ │ ├── photo-viewer.spec.ts │ │ │ ├── photo-viewer.svelte │ │ │ ├── slideshow-bar.svelte │ │ │ ├── video-native-viewer.svelte │ │ │ ├── video-panorama-viewer.svelte │ │ │ ├── video-remote-viewer.svelte │ │ │ └── video-wrapper-viewer.svelte │ │ ├── assets │ │ │ ├── broken-asset.svelte │ │ │ └── thumbnail │ │ │ │ ├── __test__ │ │ │ │ └── thumbnail.spec.ts │ │ │ │ ├── image-thumbnail.svelte │ │ │ │ ├── thumbnail.svelte │ │ │ │ └── video-thumbnail.svelte │ │ ├── faces-page │ │ │ ├── assign-face-side-panel.svelte │ │ │ ├── edit-name-input.svelte │ │ │ ├── face-thumbnail.svelte │ │ │ ├── manage-people-visibility.spec.ts │ │ │ ├── manage-people-visibility.svelte │ │ │ ├── merge-face-selector.svelte │ │ │ ├── people-card.svelte │ │ │ ├── people-infinite-scroll.svelte │ │ │ ├── people-list.svelte │ │ │ ├── people-search.svelte │ │ │ ├── person-side-panel.svelte │ │ │ └── unmerge-face-selector.svelte │ │ ├── forms │ │ │ ├── library-import-paths-form.svelte │ │ │ └── library-scan-settings-form.svelte │ │ ├── jobs │ │ │ ├── JobTile.svelte │ │ │ ├── JobTileButton.svelte │ │ │ ├── JobTileStatus.svelte │ │ │ ├── JobsPanel.svelte │ │ │ └── StorageMigrationDescription.svelte │ │ ├── layouts │ │ │ ├── AdminPageLayout.svelte │ │ │ ├── AuthPageLayout.svelte │ │ │ ├── ErrorLayout.svelte │ │ │ ├── PageContent.svelte │ │ │ ├── TitleLayout.svelte │ │ │ └── user-page-layout.svelte │ │ ├── memory-page │ │ │ ├── memory-photo-viewer.svelte │ │ │ ├── memory-video-viewer.svelte │ │ │ └── memory-viewer.svelte │ │ ├── onboarding-page │ │ │ ├── onboarding-backup.svelte │ │ │ ├── onboarding-card.svelte │ │ │ ├── onboarding-hello.svelte │ │ │ ├── onboarding-language.svelte │ │ │ ├── onboarding-mobile-app.svelte │ │ │ ├── onboarding-server-privacy.svelte │ │ │ ├── onboarding-storage-template.svelte │ │ │ ├── onboarding-theme.svelte │ │ │ └── onboarding-user-privacy.svelte │ │ ├── pages │ │ │ ├── SharedLinkErrorPage.svelte │ │ │ └── SharedLinkPage.svelte │ │ ├── photos-page │ │ │ ├── delete-asset-dialog.svelte │ │ │ └── memory-lane.svelte │ │ ├── places-page │ │ │ ├── places-card-group.svelte │ │ │ ├── places-controls.svelte │ │ │ └── places-list.svelte │ │ ├── server-statistics │ │ │ ├── ServerStatisticsCard.svelte │ │ │ └── ServerStatisticsPanel.svelte │ │ ├── share-page │ │ │ └── individual-shared-viewer.svelte │ │ ├── shared-components │ │ │ ├── __test__ │ │ │ │ ├── combobox.spec.ts │ │ │ │ └── number-range-input.spec.ts │ │ │ ├── album-selection │ │ │ │ ├── album-selection-utils.spec.ts │ │ │ │ ├── album-selection-utils.ts │ │ │ │ └── new-album-list-item.svelte │ │ │ ├── apple-header.svelte │ │ │ ├── autogrow-textarea.spec.ts │ │ │ ├── autogrow-textarea.svelte │ │ │ ├── change-location.svelte │ │ │ ├── combobox.svelte │ │ │ ├── context-menu │ │ │ │ ├── button-context-menu.svelte │ │ │ │ ├── context-menu.svelte │ │ │ │ ├── menu-option.svelte │ │ │ │ └── right-click-context-menu.svelte │ │ │ ├── control-app-bar.svelte │ │ │ ├── coordinates-input.svelte │ │ │ ├── drag-and-drop-upload-overlay.svelte │ │ │ ├── empty-placeholder.svelte │ │ │ ├── gallery-viewer │ │ │ │ └── gallery-viewer.svelte │ │ │ ├── immich-logo-small-link.svelte │ │ │ ├── immich-logo.svelte │ │ │ ├── map │ │ │ │ └── map.svelte │ │ │ ├── navigation-bar │ │ │ │ ├── account-info-panel.svelte │ │ │ │ ├── navigation-bar.svelte │ │ │ │ ├── notification-item.svelte │ │ │ │ └── notification-panel.svelte │ │ │ ├── navigation-loading-bar.svelte │ │ │ ├── number-range-input.svelte │ │ │ ├── progress-bar │ │ │ │ └── progress-bar.svelte │ │ │ ├── purchasing │ │ │ │ ├── individual-purchase-option-card.svelte │ │ │ │ ├── purchase-activation-success.svelte │ │ │ │ ├── purchase-content.svelte │ │ │ │ └── server-purchase-option-card.svelte │ │ │ ├── qrcode.svelte │ │ │ ├── search-bar │ │ │ │ ├── search-bar.svelte │ │ │ │ ├── search-camera-section.svelte │ │ │ │ ├── search-date-section.svelte │ │ │ │ ├── search-display-section.svelte │ │ │ │ ├── search-history-box.svelte │ │ │ │ ├── search-location-section.svelte │ │ │ │ ├── search-media-section.svelte │ │ │ │ ├── search-people-section.svelte │ │ │ │ ├── search-ratings-section.svelte │ │ │ │ ├── search-tags-section.svelte │ │ │ │ └── search-text-section.svelte │ │ │ ├── settings │ │ │ │ ├── setting-accordion-state.svelte │ │ │ │ ├── setting-accordion.svelte │ │ │ │ ├── setting-buttons-row.svelte │ │ │ │ ├── setting-checkboxes.svelte │ │ │ │ ├── setting-combobox.svelte │ │ │ │ ├── setting-dropdown.svelte │ │ │ │ ├── setting-input-field.spec.ts │ │ │ │ ├── setting-input-field.svelte │ │ │ │ ├── setting-select.svelte │ │ │ │ ├── setting-switch.svelte │ │ │ │ ├── setting-textarea.svelte │ │ │ │ └── settings-language-selector.svelte │ │ │ ├── side-bar │ │ │ │ ├── bottom-info.svelte │ │ │ │ ├── purchase-info.svelte │ │ │ │ ├── recent-albums.spec.ts │ │ │ │ ├── recent-albums.svelte │ │ │ │ ├── server-status.svelte │ │ │ │ ├── side-bar-link.svelte │ │ │ │ ├── storage-space.svelte │ │ │ │ ├── supporter-badge.svelte │ │ │ │ └── user-sidebar.svelte │ │ │ ├── single-grid-row.svelte │ │ │ ├── theme-button.svelte │ │ │ ├── tree │ │ │ │ ├── breadcrumbs.svelte │ │ │ │ ├── tree-item-thumbnails.svelte │ │ │ │ ├── tree-items.svelte │ │ │ │ └── tree.svelte │ │ │ ├── upload-asset-preview.svelte │ │ │ ├── upload-panel.svelte │ │ │ └── user-avatar.svelte │ │ ├── sharedlinks-page │ │ │ ├── actions │ │ │ │ ├── shared-link-copy.svelte │ │ │ │ ├── shared-link-delete.svelte │ │ │ │ └── shared-link-edit.svelte │ │ │ ├── covers │ │ │ │ ├── __tests__ │ │ │ │ │ ├── asset-cover.spec.ts │ │ │ │ │ ├── no-cover.spec.ts │ │ │ │ │ └── share-cover.spec.ts │ │ │ │ ├── asset-cover.svelte │ │ │ │ ├── no-cover.svelte │ │ │ │ └── share-cover.svelte │ │ │ └── shared-link-card.svelte │ │ ├── sidebar │ │ │ ├── sidebar.spec.ts │ │ │ └── sidebar.svelte │ │ ├── timeline │ │ │ ├── AssetSelectControlBar.svelte │ │ │ ├── Scrubber.svelte │ │ │ ├── Timeline.svelte │ │ │ ├── TimelineAssetViewer.svelte │ │ │ ├── TimelineDateGroup.svelte │ │ │ └── actions │ │ │ │ ├── AddToAlbumAction.svelte │ │ │ │ ├── ArchiveAction.svelte │ │ │ │ ├── AssetJobActions.svelte │ │ │ │ ├── ChangeDateAction.svelte │ │ │ │ ├── ChangeDescriptionAction.svelte │ │ │ │ ├── ChangeLocationAction.svelte │ │ │ │ ├── CreateSharedLinkAction.svelte │ │ │ │ ├── DeleteAssetsAction.svelte │ │ │ │ ├── DownloadAction.svelte │ │ │ │ ├── FavoriteAction.svelte │ │ │ │ ├── LinkLivePhotoAction.svelte │ │ │ │ ├── RemoveFromAlbumAction.svelte │ │ │ │ ├── RemoveFromSharedLinkAction.svelte │ │ │ │ ├── RestoreAction.svelte │ │ │ │ ├── SelectAllAction.svelte │ │ │ │ ├── SetVisibilityAction.svelte │ │ │ │ ├── StackAction.svelte │ │ │ │ ├── TagAction.svelte │ │ │ │ ├── TimelineKeyboardActions.svelte │ │ │ │ └── focus-actions.ts │ │ ├── user-settings-page │ │ │ ├── PinCodeChangeForm.svelte │ │ │ ├── PinCodeCreateForm.svelte │ │ │ ├── PinCodeInput.svelte │ │ │ ├── PinCodeSettings.svelte │ │ │ ├── app-settings.svelte │ │ │ ├── change-password-settings.svelte │ │ │ ├── device-card.svelte │ │ │ ├── device-list.svelte │ │ │ ├── download-settings.svelte │ │ │ ├── feature-settings.svelte │ │ │ ├── notifications-settings.svelte │ │ │ ├── oauth-settings.svelte │ │ │ ├── partner-settings.svelte │ │ │ ├── pu-user-profile-settings.svelte │ │ │ ├── user-api-key-grid.svelte │ │ │ ├── user-api-key-list.svelte │ │ │ ├── user-profile-settings.svelte │ │ │ ├── user-purchase-settings.svelte │ │ │ ├── user-settings-list.svelte │ │ │ └── user-usage-statistic.svelte │ │ ├── users │ │ │ └── FeatureSetting.svelte │ │ └── utilities-page │ │ │ ├── duplicates │ │ │ ├── duplicate-asset.svelte │ │ │ ├── duplicates-compare-control.svelte │ │ │ └── info-row.svelte │ │ │ ├── large-assets │ │ │ └── large-asset-data.svelte │ │ │ └── utilities-menu.svelte │ ├── constants.ts │ ├── elements │ │ ├── Badge.svelte │ │ ├── DateInput.svelte │ │ ├── Dropdown.svelte │ │ ├── DurationInput.svelte │ │ ├── FormatMessage.svelte │ │ ├── GroupTab.svelte │ │ ├── HotModuleReload.svelte │ │ ├── Portal.svelte │ │ ├── RadioButton.svelte │ │ ├── SearchBar.svelte │ │ ├── Skeleton.svelte │ │ ├── SkipLink.svelte │ │ ├── StarRating.svelte │ │ ├── __test__ │ │ │ ├── format-message.spec.ts │ │ │ ├── format-tag-b.svelte │ │ │ └── star-rating.spec.ts │ │ └── format-message.ts │ ├── i18n.spec.ts │ ├── managers │ │ ├── VirtualScrollManager │ │ │ └── VirtualScrollManager.svelte.ts │ │ ├── activity-manager.svelte.ts │ │ ├── auth-manager.svelte.ts │ │ ├── cast-manager.svelte.ts │ │ ├── download-manager.svelte.ts │ │ ├── event-manager.svelte.ts │ │ ├── language-manager.svelte.ts │ │ ├── theme-manager.svelte.ts │ │ ├── timeline-manager │ │ │ ├── day-group.svelte.ts │ │ │ ├── group-insertion-cache.svelte.ts │ │ │ ├── internal │ │ │ │ ├── intersection-support.svelte.ts │ │ │ │ ├── layout-support.svelte.ts │ │ │ │ ├── load-support.svelte.ts │ │ │ │ ├── operations-support.svelte.ts │ │ │ │ ├── search-support.svelte.spec.ts │ │ │ │ ├── search-support.svelte.ts │ │ │ │ ├── utils.svelte.ts │ │ │ │ └── websocket-support.svelte.ts │ │ │ ├── month-group.svelte.ts │ │ │ ├── timeline-manager.svelte.spec.ts │ │ │ ├── timeline-manager.svelte.ts │ │ │ ├── types.ts │ │ │ ├── utils.svelte.ts │ │ │ └── viewer-asset.svelte.ts │ │ └── upload-manager.svelte.ts │ ├── modals │ │ ├── AlbumEditModal.svelte │ │ ├── AlbumOptionsModal.svelte │ │ ├── AlbumPickerModal.svelte │ │ ├── AlbumShareModal.svelte │ │ ├── AlbumUsersModal.svelte │ │ ├── ApiKeyCreateModal.svelte │ │ ├── ApiKeySecretModal.svelte │ │ ├── ApiKeyUpdateModal.svelte │ │ ├── AppDownloadModal.svelte │ │ ├── AssetChangeDateModal.svelte │ │ ├── AssetSelectionChangeDateModal.spec.ts │ │ ├── AssetSelectionChangeDateModal.svelte │ │ ├── AssetTagModal.svelte │ │ ├── AssetUpdateDescriptionConfirmModal.svelte │ │ ├── AuthDisableLoginConfirmModal.svelte │ │ ├── AvatarEditModal.svelte │ │ ├── DuplicatesInformationModal.svelte │ │ ├── EmailTemplatePreviewModal.svelte │ │ ├── GeolocationUpdateConfirmModal.svelte │ │ ├── HelpAndFeedbackModal.svelte │ │ ├── JobCreateModal.svelte │ │ ├── LibraryExclusionPatternModal.svelte │ │ ├── LibraryImportPathModal.svelte │ │ ├── LibraryRenameModal.svelte │ │ ├── LibraryUserPickerModal.svelte │ │ ├── MapModal.svelte │ │ ├── MapSettingsModal.svelte │ │ ├── NavigateToDateModal.svelte │ │ ├── ObtainiumConfigModal.svelte │ │ ├── PartnerSelectionModal.svelte │ │ ├── PasswordResetSuccessModal.svelte │ │ ├── PersonEditBirthDateModal.svelte │ │ ├── PersonMergeSuggestionModal.svelte │ │ ├── PinCodeResetModal.svelte │ │ ├── ProfileImageCropperModal.svelte │ │ ├── PurchaseModal.svelte │ │ ├── QrCodeModal.svelte │ │ ├── SearchFilterModal.svelte │ │ ├── ServerAboutModal.svelte │ │ ├── SharedLinkCreateModal.svelte │ │ ├── ShortcutsModal.svelte │ │ ├── SlideshowSettingsModal.svelte │ │ ├── TagCreateModal.svelte │ │ ├── TagEditModal.svelte │ │ ├── UserCreateModal.svelte │ │ ├── UserDeleteConfirmModal.svelte │ │ ├── UserEditModal.svelte │ │ ├── UserRestoreConfirmModal.svelte │ │ ├── VersionAnnouncementModal.svelte │ │ └── timezone-utils.ts │ ├── models │ │ ├── onboarding-role.ts │ │ └── upload-asset.ts │ ├── sidebars │ │ └── AdminSidebar.svelte │ ├── stores │ │ ├── album-asset-selection.store.ts │ │ ├── asset-editor.store.ts │ │ ├── asset-interaction.svelte.spec.ts │ │ ├── asset-interaction.svelte.ts │ │ ├── asset-viewing.store.ts │ │ ├── assets-store.svelte.ts │ │ ├── context-menu.store.ts │ │ ├── drag-and-drop-files.store.ts │ │ ├── face-edit.svelte.ts │ │ ├── folders.svelte.ts │ │ ├── memory.store.svelte.ts │ │ ├── mobile-device.svelte.ts │ │ ├── notification-manager.svelte.ts │ │ ├── people.store.ts │ │ ├── preferences.store.ts │ │ ├── purchase.store.ts │ │ ├── search.svelte.ts │ │ ├── server-config.store.ts │ │ ├── sidebar.svelte.ts │ │ ├── slideshow.store.ts │ │ ├── upload.ts │ │ ├── user.store.ts │ │ ├── user.svelte.ts │ │ ├── websocket.ts │ │ └── zoom-image.store.ts │ ├── utils.spec.ts │ ├── utils.ts │ └── utils │ │ ├── actions.ts │ │ ├── album-utils.ts │ │ ├── asset-utils.spec.ts │ │ ├── asset-utils.ts │ │ ├── auth.ts │ │ ├── byte-units.spec.ts │ │ ├── byte-units.ts │ │ ├── cancellable-task.ts │ │ ├── cast │ │ └── gcast-destination.svelte.ts │ │ ├── context-menu.ts │ │ ├── context.ts │ │ ├── date-time.spec.ts │ │ ├── date-time.ts │ │ ├── dipatch.ts │ │ ├── duplicate-utils.spec.ts │ │ ├── duplicate-utils.ts │ │ ├── eventemitter.ts │ │ ├── executor-queue.spec.ts │ │ ├── executor-queue.ts │ │ ├── exif-utils.spec.ts │ │ ├── exif-utils.ts │ │ ├── file-uploader.ts │ │ ├── focus-util.ts │ │ ├── generate-id.ts │ │ ├── handle-error.ts │ │ ├── i18n.ts │ │ ├── invocationTracker.ts │ │ ├── layout-utils.ts │ │ ├── license-utils.ts │ │ ├── metadata-search.ts │ │ ├── navigation.ts │ │ ├── people-utils.ts │ │ ├── persisted.ts │ │ ├── person.ts │ │ ├── places-utils.ts │ │ ├── purchase-utils.ts │ │ ├── server.ts │ │ ├── shared-links.ts │ │ ├── slideshow-history.ts │ │ ├── string-utils.ts │ │ ├── sw-messaging.ts │ │ ├── thumbnail-util.spec.ts │ │ ├── thumbnail-util.ts │ │ ├── timeline-util.spec.ts │ │ ├── timeline-util.ts │ │ ├── timesince.ts │ │ ├── tree-utils.ts │ │ └── tunables.ts ├── params │ ├── id.ts │ └── photos.ts ├── routes │ ├── (user) │ │ ├── +layout.svelte │ │ ├── albums │ │ │ ├── +page.svelte │ │ │ ├── +page.ts │ │ │ └── [albumId=id] │ │ │ │ └── [[photos=photos]] │ │ │ │ └── [[assetId=id]] │ │ │ │ ├── +page.svelte │ │ │ │ └── +page.ts │ │ ├── archive │ │ │ └── [[photos=photos]] │ │ │ │ └── [[assetId=id]] │ │ │ │ ├── +page.svelte │ │ │ │ └── +page.ts │ │ ├── buy │ │ │ ├── +page.svelte │ │ │ └── +page.ts │ │ ├── explore │ │ │ ├── +page.svelte │ │ │ └── +page.ts │ │ ├── favorites │ │ │ └── [[photos=photos]] │ │ │ │ └── [[assetId=id]] │ │ │ │ ├── +page.svelte │ │ │ │ └── +page.ts │ │ ├── folders │ │ │ └── [[photos=photos]] │ │ │ │ └── [[assetId=id]] │ │ │ │ ├── +page.svelte │ │ │ │ └── +page.ts │ │ ├── locked │ │ │ └── [[photos=photos]] │ │ │ │ └── [[assetId=id]] │ │ │ │ ├── +page.svelte │ │ │ │ └── +page.ts │ │ ├── map │ │ │ └── [[photos=photos]] │ │ │ │ └── [[assetId=id]] │ │ │ │ ├── +page.svelte │ │ │ │ └── +page.ts │ │ ├── memory │ │ │ └── [[photos=photos]] │ │ │ │ └── [[assetId=id]] │ │ │ │ ├── +page.svelte │ │ │ │ └── +page.ts │ │ ├── partners │ │ │ └── [userId] │ │ │ │ └── [[photos=photos]] │ │ │ │ └── [[assetId=id]] │ │ │ │ ├── +page.svelte │ │ │ │ └── +page.ts │ │ ├── people │ │ │ ├── +page.svelte │ │ │ ├── +page.ts │ │ │ └── [personId] │ │ │ │ └── [[photos=photos]] │ │ │ │ └── [[assetId=id]] │ │ │ │ ├── +page.svelte │ │ │ │ └── +page.ts │ │ ├── photos │ │ │ └── [[assetId=id]] │ │ │ │ ├── +page.svelte │ │ │ │ └── +page.ts │ │ ├── places │ │ │ ├── +page.svelte │ │ │ └── +page.ts │ │ ├── s │ │ │ └── [slug] │ │ │ │ ├── +error.svelte │ │ │ │ └── [[photos=photos]] │ │ │ │ └── [[assetId=id]] │ │ │ │ ├── +page.svelte │ │ │ │ └── +page.ts │ │ ├── search │ │ │ └── [[photos=photos]] │ │ │ │ └── [[assetId=id]] │ │ │ │ ├── +page.svelte │ │ │ │ └── +page.ts │ │ ├── share │ │ │ └── [key] │ │ │ │ ├── +error.svelte │ │ │ │ └── [[photos=photos]] │ │ │ │ └── [[assetId=id]] │ │ │ │ ├── +page.svelte │ │ │ │ └── +page.ts │ │ ├── shared-links │ │ │ └── [[id=id]] │ │ │ │ ├── +page.svelte │ │ │ │ └── +page.ts │ │ ├── sharing │ │ │ ├── +page.svelte │ │ │ ├── +page.ts │ │ │ └── sharedlinks │ │ │ │ └── +page.ts │ │ ├── tags │ │ │ └── [[photos=photos]] │ │ │ │ └── [[assetId=id]] │ │ │ │ ├── +page.svelte │ │ │ │ └── +page.ts │ │ ├── trash │ │ │ └── [[photos=photos]] │ │ │ │ └── [[assetId=id]] │ │ │ │ ├── +page.svelte │ │ │ │ └── +page.ts │ │ ├── user-settings │ │ │ ├── +page.svelte │ │ │ └── +page.ts │ │ └── utilities │ │ │ ├── +page.svelte │ │ │ ├── +page.ts │ │ │ ├── duplicates │ │ │ └── [[photos=photos]] │ │ │ │ └── [[assetId=id]] │ │ │ │ ├── +page.svelte │ │ │ │ └── +page.ts │ │ │ ├── geolocation │ │ │ ├── +page.svelte │ │ │ ├── +page.ts │ │ │ └── photos │ │ │ │ └── [photoId] │ │ │ │ └── +page.ts │ │ │ └── large-files │ │ │ └── [[photos=photos]] │ │ │ └── [[assetId=id]] │ │ │ ├── +page.svelte │ │ │ └── +page.ts │ ├── +error.svelte │ ├── +layout.svelte │ ├── +layout.ts │ ├── +page.svelte │ ├── +page.ts │ ├── admin │ │ ├── +page.svelte │ │ ├── +page.ts │ │ ├── jobs-status │ │ │ ├── +page.svelte │ │ │ └── +page.ts │ │ ├── library-management │ │ │ ├── +page.svelte │ │ │ └── +page.ts │ │ ├── server-status │ │ │ ├── +page.svelte │ │ │ └── +page.ts │ │ ├── system-settings │ │ │ ├── +page.svelte │ │ │ └── +page.ts │ │ ├── user-management │ │ │ └── +page.ts │ │ └── users │ │ │ ├── +page.svelte │ │ │ ├── +page.ts │ │ │ └── [id] │ │ │ ├── +page.svelte │ │ │ └── +page.ts │ ├── auth │ │ ├── change-password │ │ │ ├── +page.svelte │ │ │ └── +page.ts │ │ ├── login │ │ │ ├── +page.svelte │ │ │ └── +page.ts │ │ ├── onboarding │ │ │ ├── +page.svelte │ │ │ └── +page.ts │ │ ├── pin-prompt │ │ │ ├── +page.svelte │ │ │ └── +page.ts │ │ ├── register │ │ │ ├── +page.svelte │ │ │ └── +page.ts │ │ └── reset-password │ │ │ ├── +page.svelte │ │ │ ├── +page.ts │ │ │ └── token │ │ │ ├── +page.svelte │ │ │ └── +page.ts │ └── link │ │ └── +page.ts ├── service-worker │ ├── broadcast-channel.ts │ ├── cache.ts │ ├── index.ts │ └── request.ts └── test-data │ ├── factories │ ├── album-factory.ts │ ├── asset-factory.ts │ ├── person-factory.ts │ ├── preferences-factory.ts │ ├── shared-link-factory.ts │ └── user-factory.ts │ └── setup.ts ├── static ├── .well-known │ ├── immich │ └── security.txt ├── apple-icon-180.png ├── dark_skeleton.png ├── favicon-144.png ├── favicon-16.png ├── favicon-32.png ├── favicon-48.png ├── favicon-96.png ├── favicon.ico ├── favicon.png ├── feature-panel.png ├── light_skeleton.png ├── logo-150.png ├── logo-50.png ├── logo.png ├── manifest-icon-192.maskable.png ├── manifest-icon-512.maskable.png ├── manifest.json ├── pixelunion-no-bg.svg ├── pixelunion.svg └── robots.txt ├── svelte.config.js ├── tsconfig.json └── vite.config.ts /.devcontainer/devcontainer.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/.devcontainer/devcontainer.json -------------------------------------------------------------------------------- /.devcontainer/mobile/devcontainer.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/.devcontainer/mobile/devcontainer.json -------------------------------------------------------------------------------- /.devcontainer/server/container-start.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/.devcontainer/server/container-start.sh -------------------------------------------------------------------------------- /.dockerignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/.dockerignore -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/.editorconfig -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/.gitattributes -------------------------------------------------------------------------------- /.github/.nvmrc: -------------------------------------------------------------------------------- 1 | 24.11.0 2 | -------------------------------------------------------------------------------- /.github/.prettierignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/.github/.prettierignore -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/.github/FUNDING.yml -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/.github/ISSUE_TEMPLATE/bug_report.yaml -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/.github/ISSUE_TEMPLATE/config.yml -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE/config.yml: -------------------------------------------------------------------------------- 1 | blank_pull_request_template_enabled: false 2 | -------------------------------------------------------------------------------- /.github/disabled/build-mobile.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/.github/disabled/build-mobile.yml -------------------------------------------------------------------------------- /.github/disabled/docs-build.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/.github/disabled/docs-build.yml -------------------------------------------------------------------------------- /.github/disabled/test.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/.github/disabled/test.yml -------------------------------------------------------------------------------- /.github/labeler.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/.github/labeler.yml -------------------------------------------------------------------------------- /.github/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/.github/package.json -------------------------------------------------------------------------------- /.github/pull_request_template.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/.github/pull_request_template.md -------------------------------------------------------------------------------- /.github/release.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/.github/release.yml -------------------------------------------------------------------------------- /.github/workflows/cache-cleanup.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/.github/workflows/cache-cleanup.yml -------------------------------------------------------------------------------- /.github/workflows/cli.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/.github/workflows/cli.yml -------------------------------------------------------------------------------- /.github/workflows/close-duplicates.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/.github/workflows/close-duplicates.yml -------------------------------------------------------------------------------- /.github/workflows/codeql-analysis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/.github/workflows/codeql-analysis.yml -------------------------------------------------------------------------------- /.github/workflows/docker-pu.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/.github/workflows/docker-pu.yml -------------------------------------------------------------------------------- /.github/workflows/docker.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/.github/workflows/docker.yml -------------------------------------------------------------------------------- /.github/workflows/docs-deploy.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/.github/workflows/docs-deploy.yml -------------------------------------------------------------------------------- /.github/workflows/docs-destroy.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/.github/workflows/docs-destroy.yml -------------------------------------------------------------------------------- /.github/workflows/fix-format.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/.github/workflows/fix-format.yml -------------------------------------------------------------------------------- /.github/workflows/org-zizmor.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/.github/workflows/org-zizmor.yml -------------------------------------------------------------------------------- /.github/workflows/pr-labeler.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/.github/workflows/pr-labeler.yml -------------------------------------------------------------------------------- /.github/workflows/prepare-release.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/.github/workflows/prepare-release.yml -------------------------------------------------------------------------------- /.github/workflows/preview-label.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/.github/workflows/preview-label.yaml -------------------------------------------------------------------------------- /.github/workflows/sdk.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/.github/workflows/sdk.yml -------------------------------------------------------------------------------- /.github/workflows/static_analysis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/.github/workflows/static_analysis.yml -------------------------------------------------------------------------------- /.github/workflows/weblate-lock.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/.github/workflows/weblate-lock.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/.gitignore -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/.gitmodules -------------------------------------------------------------------------------- /.pnpmfile.cjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/.pnpmfile.cjs -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/.vscode/extensions.json -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/.vscode/launch.json -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/.vscode/settings.json -------------------------------------------------------------------------------- /.vscode/tasks.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/.vscode/tasks.json -------------------------------------------------------------------------------- /CODEOWNERS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/CODEOWNERS -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/CODE_OF_CONDUCT.md -------------------------------------------------------------------------------- /Dockerfile.pu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/Dockerfile.pu -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/LICENSE -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/README.md -------------------------------------------------------------------------------- /SECURITY.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/SECURITY.md -------------------------------------------------------------------------------- /changes.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/changes.md -------------------------------------------------------------------------------- /cli/.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/cli/.editorconfig -------------------------------------------------------------------------------- /cli/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/cli/.gitignore -------------------------------------------------------------------------------- /cli/.npmignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/cli/.npmignore -------------------------------------------------------------------------------- /cli/.nvmrc: -------------------------------------------------------------------------------- 1 | 24.11.0 2 | -------------------------------------------------------------------------------- /cli/.prettierignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/cli/.prettierignore -------------------------------------------------------------------------------- /cli/.prettierrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/cli/.prettierrc -------------------------------------------------------------------------------- /cli/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/cli/Dockerfile -------------------------------------------------------------------------------- /cli/LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/cli/LICENSE -------------------------------------------------------------------------------- /cli/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/cli/README.md -------------------------------------------------------------------------------- /cli/bin/immich: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | import '../dist/index.js'; 3 | -------------------------------------------------------------------------------- /cli/eslint.config.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/cli/eslint.config.mjs -------------------------------------------------------------------------------- /cli/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/cli/package.json -------------------------------------------------------------------------------- /cli/src/commands/asset.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/cli/src/commands/asset.spec.ts -------------------------------------------------------------------------------- /cli/src/commands/asset.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/cli/src/commands/asset.ts -------------------------------------------------------------------------------- /cli/src/commands/auth.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/cli/src/commands/auth.ts -------------------------------------------------------------------------------- /cli/src/commands/server-info.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/cli/src/commands/server-info.ts -------------------------------------------------------------------------------- /cli/src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/cli/src/index.ts -------------------------------------------------------------------------------- /cli/src/queue.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/cli/src/queue.ts -------------------------------------------------------------------------------- /cli/src/utils.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/cli/src/utils.spec.ts -------------------------------------------------------------------------------- /cli/src/utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/cli/src/utils.ts -------------------------------------------------------------------------------- /cli/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/cli/tsconfig.json -------------------------------------------------------------------------------- /cli/vite.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/cli/vite.config.ts -------------------------------------------------------------------------------- /cli/vitest.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/cli/vitest.config.ts -------------------------------------------------------------------------------- /deployment/.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/deployment/.env -------------------------------------------------------------------------------- /deployment/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/deployment/.gitignore -------------------------------------------------------------------------------- /deployment/state.hcl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/deployment/state.hcl -------------------------------------------------------------------------------- /design/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/design/.DS_Store -------------------------------------------------------------------------------- /design/immich-logo-inline-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/design/immich-logo-inline-dark.png -------------------------------------------------------------------------------- /design/immich-logo-inline-dark.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/design/immich-logo-inline-dark.svg -------------------------------------------------------------------------------- /design/immich-logo-inline-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/design/immich-logo-inline-light.png -------------------------------------------------------------------------------- /design/immich-logo-inline-light.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/design/immich-logo-inline-light.svg -------------------------------------------------------------------------------- /design/immich-logo-stacked-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/design/immich-logo-stacked-dark.png -------------------------------------------------------------------------------- /design/immich-logo-stacked-dark.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/design/immich-logo-stacked-dark.svg -------------------------------------------------------------------------------- /design/immich-logo-stacked-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/design/immich-logo-stacked-light.png -------------------------------------------------------------------------------- /design/immich-logo-stacked-light.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/design/immich-logo-stacked-light.svg -------------------------------------------------------------------------------- /design/immich-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/design/immich-logo.png -------------------------------------------------------------------------------- /design/immich-logo.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/design/immich-logo.svg -------------------------------------------------------------------------------- /design/immich-screenshots.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/design/immich-screenshots.png -------------------------------------------------------------------------------- /design/immich-text-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/design/immich-text-dark.png -------------------------------------------------------------------------------- /design/immich-text-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/design/immich-text-light.png -------------------------------------------------------------------------------- /docker/.gitignore: -------------------------------------------------------------------------------- 1 | .env -------------------------------------------------------------------------------- /docker/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docker/README.md -------------------------------------------------------------------------------- /docker/docker-compose.dev.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docker/docker-compose.dev.yml -------------------------------------------------------------------------------- /docker/docker-compose.prod.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docker/docker-compose.prod.yml -------------------------------------------------------------------------------- /docker/docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docker/docker-compose.yml -------------------------------------------------------------------------------- /docker/example.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docker/example.env -------------------------------------------------------------------------------- /docker/hwaccel.ml.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docker/hwaccel.ml.yml -------------------------------------------------------------------------------- /docker/hwaccel.transcoding.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docker/hwaccel.transcoding.yml -------------------------------------------------------------------------------- /docker/prometheus.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docker/prometheus.yml -------------------------------------------------------------------------------- /docs/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/.gitignore -------------------------------------------------------------------------------- /docs/.nvmrc: -------------------------------------------------------------------------------- 1 | 24.11.0 2 | -------------------------------------------------------------------------------- /docs/.prettierignore: -------------------------------------------------------------------------------- 1 | build/ 2 | .docusaurus/ 3 | -------------------------------------------------------------------------------- /docs/.prettierrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/.prettierrc -------------------------------------------------------------------------------- /docs/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/README.md -------------------------------------------------------------------------------- /docs/babel.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/babel.config.js -------------------------------------------------------------------------------- /docs/docs/FAQ.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/FAQ.mdx -------------------------------------------------------------------------------- /docs/docs/administration/oauth.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/administration/oauth.md -------------------------------------------------------------------------------- /docs/docs/developer/_category_.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/developer/_category_.json -------------------------------------------------------------------------------- /docs/docs/developer/architecture.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/developer/architecture.mdx -------------------------------------------------------------------------------- /docs/docs/developer/devcontainers.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/developer/devcontainers.md -------------------------------------------------------------------------------- /docs/docs/developer/directories.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/developer/directories.md -------------------------------------------------------------------------------- /docs/docs/developer/open-api.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/developer/open-api.md -------------------------------------------------------------------------------- /docs/docs/developer/pr-checklist.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/developer/pr-checklist.md -------------------------------------------------------------------------------- /docs/docs/developer/setup.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/developer/setup.md -------------------------------------------------------------------------------- /docs/docs/developer/testing.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/developer/testing.md -------------------------------------------------------------------------------- /docs/docs/developer/translations.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/developer/translations.md -------------------------------------------------------------------------------- /docs/docs/developer/troubleshooting.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/developer/troubleshooting.md -------------------------------------------------------------------------------- /docs/docs/features/_category_.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/features/_category_.json -------------------------------------------------------------------------------- /docs/docs/features/automatic-backup.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/features/automatic-backup.md -------------------------------------------------------------------------------- /docs/docs/features/casting.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/features/casting.md -------------------------------------------------------------------------------- /docs/docs/features/folder-view.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/features/folder-view.md -------------------------------------------------------------------------------- /docs/docs/features/img/me.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/features/img/me.webp -------------------------------------------------------------------------------- /docs/docs/features/img/my-wife.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/features/img/my-wife.webp -------------------------------------------------------------------------------- /docs/docs/features/img/search-ex-1.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/features/img/search-ex-1.webp -------------------------------------------------------------------------------- /docs/docs/features/img/tag-enable.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/features/img/tag-enable.webp -------------------------------------------------------------------------------- /docs/docs/features/img/tag-form.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/features/img/tag-form.webp -------------------------------------------------------------------------------- /docs/docs/features/img/tag-view.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/features/img/tag-view.webp -------------------------------------------------------------------------------- /docs/docs/features/img/user-popup.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/features/img/user-popup.webp -------------------------------------------------------------------------------- /docs/docs/features/libraries.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/features/libraries.md -------------------------------------------------------------------------------- /docs/docs/features/mobile-app.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/features/mobile-app.mdx -------------------------------------------------------------------------------- /docs/docs/features/monitoring.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/features/monitoring.md -------------------------------------------------------------------------------- /docs/docs/features/partner-sharing.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/features/partner-sharing.md -------------------------------------------------------------------------------- /docs/docs/features/reverse-geocoding.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/features/reverse-geocoding.md -------------------------------------------------------------------------------- /docs/docs/features/searching.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/features/searching.md -------------------------------------------------------------------------------- /docs/docs/features/sharing.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/features/sharing.md -------------------------------------------------------------------------------- /docs/docs/features/supported-formats.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/features/supported-formats.md -------------------------------------------------------------------------------- /docs/docs/features/tags.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/features/tags.md -------------------------------------------------------------------------------- /docs/docs/features/user-settings.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/features/user-settings.md -------------------------------------------------------------------------------- /docs/docs/features/xmp-sidecars.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/features/xmp-sidecars.md -------------------------------------------------------------------------------- /docs/docs/guides/_category_.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/guides/_category_.json -------------------------------------------------------------------------------- /docs/docs/guides/custom-locations.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/guides/custom-locations.md -------------------------------------------------------------------------------- /docs/docs/guides/custom-map-styles.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/guides/custom-map-styles.md -------------------------------------------------------------------------------- /docs/docs/guides/database-gui.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/guides/database-gui.md -------------------------------------------------------------------------------- /docs/docs/guides/database-queries.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/guides/database-queries.md -------------------------------------------------------------------------------- /docs/docs/guides/docker-help.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/guides/docker-help.md -------------------------------------------------------------------------------- /docs/docs/guides/external-library.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/guides/external-library.md -------------------------------------------------------------------------------- /docs/docs/guides/img/job-status.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/guides/img/job-status.webp -------------------------------------------------------------------------------- /docs/docs/guides/img/jobs-tab.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/guides/img/jobs-tab.webp -------------------------------------------------------------------------------- /docs/docs/guides/img/library-owner.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/guides/img/library-owner.webp -------------------------------------------------------------------------------- /docs/docs/guides/img/path-save.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/guides/img/path-save.webp -------------------------------------------------------------------------------- /docs/docs/guides/img/user-avatar.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/guides/img/user-avatar.webp -------------------------------------------------------------------------------- /docs/docs/guides/python-file-upload.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/guides/python-file-upload.md -------------------------------------------------------------------------------- /docs/docs/guides/remote-access.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/guides/remote-access.md -------------------------------------------------------------------------------- /docs/docs/guides/scaling-immich.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/guides/scaling-immich.md -------------------------------------------------------------------------------- /docs/docs/guides/smtp-gmail.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/guides/smtp-gmail.md -------------------------------------------------------------------------------- /docs/docs/install/_category_.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/install/_category_.json -------------------------------------------------------------------------------- /docs/docs/install/all-in-one.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/install/all-in-one.md -------------------------------------------------------------------------------- /docs/docs/install/config-file.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/install/config-file.md -------------------------------------------------------------------------------- /docs/docs/install/docker-compose.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/install/docker-compose.mdx -------------------------------------------------------------------------------- /docs/docs/install/img/dot-env.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/install/img/dot-env.webp -------------------------------------------------------------------------------- /docs/docs/install/img/env-1.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/install/img/env-1.webp -------------------------------------------------------------------------------- /docs/docs/install/img/env-2.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/install/img/env-2.webp -------------------------------------------------------------------------------- /docs/docs/install/img/unraid01.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/install/img/unraid01.webp -------------------------------------------------------------------------------- /docs/docs/install/img/unraid02.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/install/img/unraid02.webp -------------------------------------------------------------------------------- /docs/docs/install/img/unraid03.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/install/img/unraid03.webp -------------------------------------------------------------------------------- /docs/docs/install/img/unraid04.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/install/img/unraid04.webp -------------------------------------------------------------------------------- /docs/docs/install/img/unraid05.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/install/img/unraid05.webp -------------------------------------------------------------------------------- /docs/docs/install/img/unraid06.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/install/img/unraid06.webp -------------------------------------------------------------------------------- /docs/docs/install/img/unraid07.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/install/img/unraid07.webp -------------------------------------------------------------------------------- /docs/docs/install/img/unraid08.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/install/img/unraid08.webp -------------------------------------------------------------------------------- /docs/docs/install/img/unraid09.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/install/img/unraid09.webp -------------------------------------------------------------------------------- /docs/docs/install/img/unraid10.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/install/img/unraid10.webp -------------------------------------------------------------------------------- /docs/docs/install/img/unraid11.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/install/img/unraid11.webp -------------------------------------------------------------------------------- /docs/docs/install/img/unraid12.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/install/img/unraid12.webp -------------------------------------------------------------------------------- /docs/docs/install/kubernetes.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/install/kubernetes.md -------------------------------------------------------------------------------- /docs/docs/install/one-click.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/install/one-click.md -------------------------------------------------------------------------------- /docs/docs/install/portainer.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/install/portainer.md -------------------------------------------------------------------------------- /docs/docs/install/post-install.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/install/post-install.mdx -------------------------------------------------------------------------------- /docs/docs/install/requirements.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/install/requirements.md -------------------------------------------------------------------------------- /docs/docs/install/script.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/install/script.md -------------------------------------------------------------------------------- /docs/docs/install/synology.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/install/synology.md -------------------------------------------------------------------------------- /docs/docs/install/truenas.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/install/truenas.md -------------------------------------------------------------------------------- /docs/docs/install/unraid.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/install/unraid.md -------------------------------------------------------------------------------- /docs/docs/install/upgrading.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/install/upgrading.md -------------------------------------------------------------------------------- /docs/docs/overview/_category_.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/overview/_category_.json -------------------------------------------------------------------------------- /docs/docs/overview/comparison.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/overview/comparison.md -------------------------------------------------------------------------------- /docs/docs/overview/help.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/overview/help.md -------------------------------------------------------------------------------- /docs/docs/overview/img/appicon.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/overview/img/appicon.webp -------------------------------------------------------------------------------- /docs/docs/overview/quick-start.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/overview/quick-start.mdx -------------------------------------------------------------------------------- /docs/docs/partials/_mobile-app-login.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/partials/_mobile-app-login.md -------------------------------------------------------------------------------- /docs/docs/partials/_register-admin.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/partials/_register-admin.md -------------------------------------------------------------------------------- /docs/docs/partials/_server-backup.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/partials/_server-backup.md -------------------------------------------------------------------------------- /docs/docs/partials/_storage-template.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/partials/_storage-template.md -------------------------------------------------------------------------------- /docs/docs/partials/_user-create.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docs/partials/_user-create.md -------------------------------------------------------------------------------- /docs/docusaurus.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/docusaurus.config.js -------------------------------------------------------------------------------- /docs/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/package.json -------------------------------------------------------------------------------- /docs/sidebars.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/sidebars.js -------------------------------------------------------------------------------- /docs/src/components/timeline.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/src/components/timeline.tsx -------------------------------------------------------------------------------- /docs/src/css/custom.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/src/css/custom.css -------------------------------------------------------------------------------- /docs/src/pages/errors.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/src/pages/errors.md -------------------------------------------------------------------------------- /docs/src/pages/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/src/pages/index.tsx -------------------------------------------------------------------------------- /docs/src/pages/privacy-policy.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/src/pages/privacy-policy.tsx -------------------------------------------------------------------------------- /docs/static/.nojekyll: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /docs/static/CNAME: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /docs/static/_redirects: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/static/_redirects -------------------------------------------------------------------------------- /docs/static/archived-versions.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/static/archived-versions.json -------------------------------------------------------------------------------- /docs/static/fonts/overpass/Overpass.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/static/fonts/overpass/Overpass.ttf -------------------------------------------------------------------------------- /docs/static/img/app-qr-code-dark.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/static/img/app-qr-code-dark.svg -------------------------------------------------------------------------------- /docs/static/img/app-qr-code-light.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/static/img/app-qr-code-light.svg -------------------------------------------------------------------------------- /docs/static/img/cloud-done.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/static/img/cloud-done.svg -------------------------------------------------------------------------------- /docs/static/img/cloud-off.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/static/img/cloud-off.svg -------------------------------------------------------------------------------- /docs/static/img/cloud.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/static/img/cloud.svg -------------------------------------------------------------------------------- /docs/static/img/color-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/static/img/color-logo.png -------------------------------------------------------------------------------- /docs/static/img/download-apk-github.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/static/img/download-apk-github.svg -------------------------------------------------------------------------------- /docs/static/img/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/static/img/favicon.ico -------------------------------------------------------------------------------- /docs/static/img/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/static/img/favicon.png -------------------------------------------------------------------------------- /docs/static/img/feature-panel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/static/img/feature-panel.png -------------------------------------------------------------------------------- /docs/static/img/google-play-badge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/static/img/google-play-badge.png -------------------------------------------------------------------------------- /docs/static/img/immich-logo.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/static/img/immich-logo.svg -------------------------------------------------------------------------------- /docs/static/img/ios-app-store-badge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/static/img/ios-app-store-badge.png -------------------------------------------------------------------------------- /docs/static/img/ios-app-store-badge.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/static/img/ios-app-store-badge.svg -------------------------------------------------------------------------------- /docs/static/img/logomark-dark.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/static/img/logomark-dark.svg -------------------------------------------------------------------------------- /docs/static/img/logomark-light.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/static/img/logomark-light.svg -------------------------------------------------------------------------------- /docs/static/img/screenshot-dark.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/static/img/screenshot-dark.webp -------------------------------------------------------------------------------- /docs/static/img/screenshot-light.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/static/img/screenshot-light.webp -------------------------------------------------------------------------------- /docs/static/img/synology-build.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/static/img/synology-build.png -------------------------------------------------------------------------------- /docs/static/img/synology-fw-ipedit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/static/img/synology-fw-ipedit.png -------------------------------------------------------------------------------- /docs/static/img/synology-fw-rules.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/static/img/synology-fw-rules.png -------------------------------------------------------------------------------- /docs/tailwind.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/tailwind.config.js -------------------------------------------------------------------------------- /docs/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/docs/tsconfig.json -------------------------------------------------------------------------------- /e2e/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/e2e/.gitignore -------------------------------------------------------------------------------- /e2e/.nvmrc: -------------------------------------------------------------------------------- 1 | 24.11.0 2 | -------------------------------------------------------------------------------- /e2e/.prettierignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/e2e/.prettierignore -------------------------------------------------------------------------------- /e2e/.prettierrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/e2e/.prettierrc -------------------------------------------------------------------------------- /e2e/docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/e2e/docker-compose.yml -------------------------------------------------------------------------------- /e2e/eslint.config.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/e2e/eslint.config.mjs -------------------------------------------------------------------------------- /e2e/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/e2e/package.json -------------------------------------------------------------------------------- /e2e/playwright.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/e2e/playwright.config.ts -------------------------------------------------------------------------------- /e2e/src/api/specs/activity.e2e-spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/e2e/src/api/specs/activity.e2e-spec.ts -------------------------------------------------------------------------------- /e2e/src/api/specs/album.e2e-spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/e2e/src/api/specs/album.e2e-spec.ts -------------------------------------------------------------------------------- /e2e/src/api/specs/api-key.e2e-spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/e2e/src/api/specs/api-key.e2e-spec.ts -------------------------------------------------------------------------------- /e2e/src/api/specs/asset.e2e-spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/e2e/src/api/specs/asset.e2e-spec.ts -------------------------------------------------------------------------------- /e2e/src/api/specs/download.e2e-spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/e2e/src/api/specs/download.e2e-spec.ts -------------------------------------------------------------------------------- /e2e/src/api/specs/jobs.e2e-spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/e2e/src/api/specs/jobs.e2e-spec.ts -------------------------------------------------------------------------------- /e2e/src/api/specs/library.e2e-spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/e2e/src/api/specs/library.e2e-spec.ts -------------------------------------------------------------------------------- /e2e/src/api/specs/map.e2e-spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/e2e/src/api/specs/map.e2e-spec.ts -------------------------------------------------------------------------------- /e2e/src/api/specs/memory.e2e-spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/e2e/src/api/specs/memory.e2e-spec.ts -------------------------------------------------------------------------------- /e2e/src/api/specs/oauth.e2e-spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/e2e/src/api/specs/oauth.e2e-spec.ts -------------------------------------------------------------------------------- /e2e/src/api/specs/partner.e2e-spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/e2e/src/api/specs/partner.e2e-spec.ts -------------------------------------------------------------------------------- /e2e/src/api/specs/person.e2e-spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/e2e/src/api/specs/person.e2e-spec.ts -------------------------------------------------------------------------------- /e2e/src/api/specs/search.e2e-spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/e2e/src/api/specs/search.e2e-spec.ts -------------------------------------------------------------------------------- /e2e/src/api/specs/server.e2e-spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/e2e/src/api/specs/server.e2e-spec.ts -------------------------------------------------------------------------------- /e2e/src/api/specs/session.e2e-spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/e2e/src/api/specs/session.e2e-spec.ts -------------------------------------------------------------------------------- /e2e/src/api/specs/stack.e2e-spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/e2e/src/api/specs/stack.e2e-spec.ts -------------------------------------------------------------------------------- /e2e/src/api/specs/tag.e2e-spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/e2e/src/api/specs/tag.e2e-spec.ts -------------------------------------------------------------------------------- /e2e/src/api/specs/trash.e2e-spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/e2e/src/api/specs/trash.e2e-spec.ts -------------------------------------------------------------------------------- /e2e/src/api/specs/user.e2e-spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/e2e/src/api/specs/user.e2e-spec.ts -------------------------------------------------------------------------------- /e2e/src/cli/specs/login.e2e-spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/e2e/src/cli/specs/login.e2e-spec.ts -------------------------------------------------------------------------------- /e2e/src/cli/specs/upload.e2e-spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/e2e/src/cli/specs/upload.e2e-spec.ts -------------------------------------------------------------------------------- /e2e/src/cli/specs/version.e2e-spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/e2e/src/cli/specs/version.e2e-spec.ts -------------------------------------------------------------------------------- /e2e/src/fixtures.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/e2e/src/fixtures.ts -------------------------------------------------------------------------------- /e2e/src/generators.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/e2e/src/generators.ts -------------------------------------------------------------------------------- /e2e/src/responses.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/e2e/src/responses.ts -------------------------------------------------------------------------------- /e2e/src/setup/auth-server.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/e2e/src/setup/auth-server.ts -------------------------------------------------------------------------------- /e2e/src/setup/docker-compose.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/e2e/src/setup/docker-compose.ts -------------------------------------------------------------------------------- /e2e/src/utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/e2e/src/utils.ts -------------------------------------------------------------------------------- /e2e/src/web/specs/album.e2e-spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/e2e/src/web/specs/album.e2e-spec.ts -------------------------------------------------------------------------------- /e2e/src/web/specs/auth.e2e-spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/e2e/src/web/specs/auth.e2e-spec.ts -------------------------------------------------------------------------------- /e2e/src/web/specs/websocket.e2e-spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/e2e/src/web/specs/websocket.e2e-spec.ts -------------------------------------------------------------------------------- /e2e/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/e2e/tsconfig.json -------------------------------------------------------------------------------- /e2e/vitest.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/e2e/vitest.config.ts -------------------------------------------------------------------------------- /fastlane/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/fastlane/README.md -------------------------------------------------------------------------------- /fastlane/metadata: -------------------------------------------------------------------------------- 1 | ../mobile/android/fastlane/metadata -------------------------------------------------------------------------------- /i18n/af.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/i18n/af.json -------------------------------------------------------------------------------- /i18n/ar.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/i18n/ar.json -------------------------------------------------------------------------------- /i18n/az.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/i18n/az.json -------------------------------------------------------------------------------- /i18n/be.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/i18n/be.json -------------------------------------------------------------------------------- /i18n/bg.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/i18n/bg.json -------------------------------------------------------------------------------- /i18n/bi.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/i18n/bi.json -------------------------------------------------------------------------------- /i18n/bn.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/i18n/bn.json -------------------------------------------------------------------------------- /i18n/ca.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/i18n/ca.json -------------------------------------------------------------------------------- /i18n/cs.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/i18n/cs.json -------------------------------------------------------------------------------- /i18n/cv.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/i18n/cv.json -------------------------------------------------------------------------------- /i18n/da.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/i18n/da.json -------------------------------------------------------------------------------- /i18n/de.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/i18n/de.json -------------------------------------------------------------------------------- /i18n/el.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/i18n/el.json -------------------------------------------------------------------------------- /i18n/en.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/i18n/en.json -------------------------------------------------------------------------------- /i18n/es.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/i18n/es.json -------------------------------------------------------------------------------- /i18n/et.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/i18n/et.json -------------------------------------------------------------------------------- /i18n/eu.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/i18n/eu.json -------------------------------------------------------------------------------- /i18n/fa.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/i18n/fa.json -------------------------------------------------------------------------------- /i18n/fi.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/i18n/fi.json -------------------------------------------------------------------------------- /i18n/fil.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/i18n/fil.json -------------------------------------------------------------------------------- /i18n/fr.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/i18n/fr.json -------------------------------------------------------------------------------- /i18n/gl.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/i18n/gl.json -------------------------------------------------------------------------------- /i18n/he.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/i18n/he.json -------------------------------------------------------------------------------- /i18n/hi.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/i18n/hi.json -------------------------------------------------------------------------------- /i18n/hr.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/i18n/hr.json -------------------------------------------------------------------------------- /i18n/hu.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/i18n/hu.json -------------------------------------------------------------------------------- /i18n/hy.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/i18n/hy.json -------------------------------------------------------------------------------- /i18n/id.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/i18n/id.json -------------------------------------------------------------------------------- /i18n/it.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/i18n/it.json -------------------------------------------------------------------------------- /i18n/ja.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/i18n/ja.json -------------------------------------------------------------------------------- /i18n/ka.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/i18n/ka.json -------------------------------------------------------------------------------- /i18n/kk.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/i18n/kk.json -------------------------------------------------------------------------------- /i18n/kmr.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/i18n/kmr.json -------------------------------------------------------------------------------- /i18n/kn.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/i18n/kn.json -------------------------------------------------------------------------------- /i18n/ko.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/i18n/ko.json -------------------------------------------------------------------------------- /i18n/lb.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /i18n/lt.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/i18n/lt.json -------------------------------------------------------------------------------- /i18n/lv.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/i18n/lv.json -------------------------------------------------------------------------------- /i18n/mfa.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /i18n/mk.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/i18n/mk.json -------------------------------------------------------------------------------- /i18n/ml.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/i18n/ml.json -------------------------------------------------------------------------------- /i18n/mn.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/i18n/mn.json -------------------------------------------------------------------------------- /i18n/mr.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/i18n/mr.json -------------------------------------------------------------------------------- /i18n/ms.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/i18n/ms.json -------------------------------------------------------------------------------- /i18n/nb_NO.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/i18n/nb_NO.json -------------------------------------------------------------------------------- /i18n/nl.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/i18n/nl.json -------------------------------------------------------------------------------- /i18n/nn.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/i18n/nn.json -------------------------------------------------------------------------------- /i18n/pa.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/i18n/pa.json -------------------------------------------------------------------------------- /i18n/pl.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/i18n/pl.json -------------------------------------------------------------------------------- /i18n/pt.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/i18n/pt.json -------------------------------------------------------------------------------- /i18n/pt_BR.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/i18n/pt_BR.json -------------------------------------------------------------------------------- /i18n/ro.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/i18n/ro.json -------------------------------------------------------------------------------- /i18n/ru.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/i18n/ru.json -------------------------------------------------------------------------------- /i18n/sk.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/i18n/sk.json -------------------------------------------------------------------------------- /i18n/sl.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/i18n/sl.json -------------------------------------------------------------------------------- /i18n/sq.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/i18n/sq.json -------------------------------------------------------------------------------- /i18n/sr_Cyrl.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/i18n/sr_Cyrl.json -------------------------------------------------------------------------------- /i18n/sr_Latn.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/i18n/sr_Latn.json -------------------------------------------------------------------------------- /i18n/sv.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/i18n/sv.json -------------------------------------------------------------------------------- /i18n/ta.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/i18n/ta.json -------------------------------------------------------------------------------- /i18n/te.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/i18n/te.json -------------------------------------------------------------------------------- /i18n/th.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/i18n/th.json -------------------------------------------------------------------------------- /i18n/tr.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/i18n/tr.json -------------------------------------------------------------------------------- /i18n/uk.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/i18n/uk.json -------------------------------------------------------------------------------- /i18n/ur.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/i18n/ur.json -------------------------------------------------------------------------------- /i18n/vi.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/i18n/vi.json -------------------------------------------------------------------------------- /i18n/zh_Hant.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/i18n/zh_Hant.json -------------------------------------------------------------------------------- /i18n/zh_SIMPLIFIED.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/i18n/zh_SIMPLIFIED.json -------------------------------------------------------------------------------- /install.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/install.sh -------------------------------------------------------------------------------- /machine-learning/.dockerignore: -------------------------------------------------------------------------------- 1 | venv/ 2 | *.zip 3 | *.onnx -------------------------------------------------------------------------------- /machine-learning/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/machine-learning/.gitignore -------------------------------------------------------------------------------- /machine-learning/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/machine-learning/Dockerfile -------------------------------------------------------------------------------- /machine-learning/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/machine-learning/README.md -------------------------------------------------------------------------------- /machine-learning/README_es_ES.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/machine-learning/README_es_ES.md -------------------------------------------------------------------------------- /machine-learning/README_fr_FR.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/machine-learning/README_fr_FR.md -------------------------------------------------------------------------------- /machine-learning/ann/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /machine-learning/ann/ann.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/machine-learning/ann/ann.cpp -------------------------------------------------------------------------------- /machine-learning/ann/build.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/machine-learning/ann/build.sh -------------------------------------------------------------------------------- /machine-learning/ann/export/.gitignore: -------------------------------------------------------------------------------- 1 | armnn* 2 | output/ 3 | -------------------------------------------------------------------------------- /machine-learning/ann/export/env.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/machine-learning/ann/export/env.yaml -------------------------------------------------------------------------------- /machine-learning/ann/export/run.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/machine-learning/ann/export/run.py -------------------------------------------------------------------------------- /machine-learning/conftest.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/machine-learning/conftest.py -------------------------------------------------------------------------------- /machine-learning/immich_ml/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /machine-learning/immich_ml/__main__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/machine-learning/immich_ml/__main__.py -------------------------------------------------------------------------------- /machine-learning/immich_ml/config.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/machine-learning/immich_ml/config.py -------------------------------------------------------------------------------- /machine-learning/immich_ml/main.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/machine-learning/immich_ml/main.py -------------------------------------------------------------------------------- /machine-learning/immich_ml/schemas.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/machine-learning/immich_ml/schemas.py -------------------------------------------------------------------------------- /machine-learning/immich_ml/sessions/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /machine-learning/locustfile.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/machine-learning/locustfile.py -------------------------------------------------------------------------------- /machine-learning/pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/machine-learning/pyproject.toml -------------------------------------------------------------------------------- /machine-learning/responses.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/machine-learning/responses.json -------------------------------------------------------------------------------- /machine-learning/scripts/healthcheck.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/machine-learning/scripts/healthcheck.py -------------------------------------------------------------------------------- /machine-learning/test_main.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/machine-learning/test_main.py -------------------------------------------------------------------------------- /machine-learning/uv.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/machine-learning/uv.lock -------------------------------------------------------------------------------- /misc/release/archive-version.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/misc/release/archive-version.js -------------------------------------------------------------------------------- /misc/release/notes.tmpl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/misc/release/notes.tmpl -------------------------------------------------------------------------------- /misc/release/pump-version.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/misc/release/pump-version.sh -------------------------------------------------------------------------------- /mise.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mise.toml -------------------------------------------------------------------------------- /mobile/.fvmrc: -------------------------------------------------------------------------------- 1 | { 2 | "flutter": "3.35.7" 3 | } -------------------------------------------------------------------------------- /mobile/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/.gitignore -------------------------------------------------------------------------------- /mobile/.isar-cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/.isar-cargo.lock -------------------------------------------------------------------------------- /mobile/.metadata: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/.metadata -------------------------------------------------------------------------------- /mobile/.vscode/settings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/.vscode/settings.json -------------------------------------------------------------------------------- /mobile/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/README.md -------------------------------------------------------------------------------- /mobile/analysis_options.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/analysis_options.yaml -------------------------------------------------------------------------------- /mobile/android/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/android/.gitignore -------------------------------------------------------------------------------- /mobile/android/Gemfile: -------------------------------------------------------------------------------- 1 | source "https://rubygems.org" 2 | 3 | gem "fastlane" 4 | -------------------------------------------------------------------------------- /mobile/android/Gemfile.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/android/Gemfile.lock -------------------------------------------------------------------------------- /mobile/android/app/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/android/app/CMakeLists.txt -------------------------------------------------------------------------------- /mobile/android/app/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/android/app/build.gradle -------------------------------------------------------------------------------- /mobile/android/app/proguard-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/android/app/proguard-rules.pro -------------------------------------------------------------------------------- /mobile/android/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/android/build.gradle -------------------------------------------------------------------------------- /mobile/android/fastlane/Appfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/android/fastlane/Appfile -------------------------------------------------------------------------------- /mobile/android/fastlane/Fastfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/android/fastlane/Fastfile -------------------------------------------------------------------------------- /mobile/android/fastlane/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/android/fastlane/README.md -------------------------------------------------------------------------------- /mobile/android/fastlane/metadata/android/en-US/changelogs/12.txt: -------------------------------------------------------------------------------- 1 | * Album name is now editable -------------------------------------------------------------------------------- /mobile/android/fastlane/metadata/android/en-US/changelogs/24.txt: -------------------------------------------------------------------------------- 1 | * Hot fix: Restore shared album functionality -------------------------------------------------------------------------------- /mobile/android/fastlane/metadata/android/en-US/changelogs/28.txt: -------------------------------------------------------------------------------- 1 | * Added other languages to app -------------------------------------------------------------------------------- /mobile/android/fastlane/metadata/android/en-US/changelogs/33.txt: -------------------------------------------------------------------------------- 1 | * Added setting screen 2 | * Implemented dark mode -------------------------------------------------------------------------------- /mobile/android/fastlane/metadata/android/en-US/changelogs/39.txt: -------------------------------------------------------------------------------- 1 | * Improve Android background service reliability -------------------------------------------------------------------------------- /mobile/android/fastlane/metadata/android/en-US/changelogs/40.txt: -------------------------------------------------------------------------------- 1 | * Fix background service cannot run in release build -------------------------------------------------------------------------------- /mobile/android/fastlane/metadata/android/en-US/changelogs/46.txt: -------------------------------------------------------------------------------- 1 | * Added improvement for timeline view -------------------------------------------------------------------------------- /mobile/android/fastlane/metadata/android/en-US/changelogs/47.txt: -------------------------------------------------------------------------------- 1 | * Improve scroll thumb date info -------------------------------------------------------------------------------- /mobile/android/fastlane/metadata/android/en-US/changelogs/54.txt: -------------------------------------------------------------------------------- 1 | * Local assets are now shown in the app -------------------------------------------------------------------------------- /mobile/android/fastlane/metadata/android/en-US/changelogs/59.txt: -------------------------------------------------------------------------------- 1 | * Fixed foreground backup not triggered on app relaunch -------------------------------------------------------------------------------- /mobile/android/fastlane/metadata/android/en-US/changelogs/61.txt: -------------------------------------------------------------------------------- 1 | * Hot fix: timeline crash when trying to group invalid date info. -------------------------------------------------------------------------------- /mobile/android/fastlane/metadata/android/en-US/changelogs/62.txt: -------------------------------------------------------------------------------- 1 | * Add additional supported translation for CZ, SK, and CN -------------------------------------------------------------------------------- /mobile/android/fastlane/metadata/android/en-US/changelogs/64.txt: -------------------------------------------------------------------------------- 1 | * Fix omit null values from json requests 2 | -------------------------------------------------------------------------------- /mobile/android/fastlane/metadata/android/en-US/changelogs/78.txt: -------------------------------------------------------------------------------- 1 | * Minor UI improvement -------------------------------------------------------------------------------- /mobile/android/fastlane/metadata/android/en-US/changelogs/79.txt: -------------------------------------------------------------------------------- 1 | * Upgrade to Flutter 3.10 2 | * Lazy loading of timeline -------------------------------------------------------------------------------- /mobile/android/fastlane/metadata/android/en-US/changelogs/80.txt: -------------------------------------------------------------------------------- 1 | * Remove Hive box -------------------------------------------------------------------------------- /mobile/android/fastlane/metadata/android/en-US/short_description.txt: -------------------------------------------------------------------------------- 1 | This is a client app for the self-hostable Immich Server -------------------------------------------------------------------------------- /mobile/android/fastlane/metadata/android/en-US/title.txt: -------------------------------------------------------------------------------- 1 | Immich -------------------------------------------------------------------------------- /mobile/android/fastlane/metadata/android/en-US/video.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /mobile/android/gradle.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/android/gradle.properties -------------------------------------------------------------------------------- /mobile/android/metadata/en-US/title.txt: -------------------------------------------------------------------------------- 1 | Immich -------------------------------------------------------------------------------- /mobile/android/metadata/en-US/video.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /mobile/android/settings.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/android/settings.gradle -------------------------------------------------------------------------------- /mobile/assets/immich-logo-w-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/assets/immich-logo-w-bg.png -------------------------------------------------------------------------------- /mobile/assets/immich-logo.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/assets/immich-logo.json -------------------------------------------------------------------------------- /mobile/assets/immich-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/assets/immich-logo.png -------------------------------------------------------------------------------- /mobile/assets/immich-logo.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/assets/immich-logo.svg -------------------------------------------------------------------------------- /mobile/assets/immich-splash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/assets/immich-splash.png -------------------------------------------------------------------------------- /mobile/assets/immich-text-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/assets/immich-text-dark.png -------------------------------------------------------------------------------- /mobile/assets/immich-text-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/assets/immich-text-light.png -------------------------------------------------------------------------------- /mobile/assets/lighthouse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/assets/lighthouse.png -------------------------------------------------------------------------------- /mobile/assets/location-pin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/assets/location-pin.png -------------------------------------------------------------------------------- /mobile/assets/pixelunion-logo-full.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/assets/pixelunion-logo-full.png -------------------------------------------------------------------------------- /mobile/assets/pixelunion-logo-w-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/assets/pixelunion-logo-w-bg.png -------------------------------------------------------------------------------- /mobile/assets/pixelunion-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/assets/pixelunion-logo.png -------------------------------------------------------------------------------- /mobile/assets/pixelunion-logo.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/assets/pixelunion-logo.xcf -------------------------------------------------------------------------------- /mobile/assets/pixelunion-no-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/assets/pixelunion-no-bg.png -------------------------------------------------------------------------------- /mobile/assets/pixelunion-no-bg.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/assets/pixelunion-no-bg.svg -------------------------------------------------------------------------------- /mobile/assets/pixelunion-splash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/assets/pixelunion-splash.png -------------------------------------------------------------------------------- /mobile/assets/pixelunion-splash.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/assets/pixelunion-splash.xcf -------------------------------------------------------------------------------- /mobile/assets/pixelunion-text-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/assets/pixelunion-text-dark.png -------------------------------------------------------------------------------- /mobile/assets/pixelunion-text-dark.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/assets/pixelunion-text-dark.xcf -------------------------------------------------------------------------------- /mobile/assets/pixelunion-text-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/assets/pixelunion-text-light.png -------------------------------------------------------------------------------- /mobile/assets/pixelunion-text-light.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/assets/pixelunion-text-light.xcf -------------------------------------------------------------------------------- /mobile/assets/pixelunion.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/assets/pixelunion.svg -------------------------------------------------------------------------------- /mobile/assets/polaroid-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/assets/polaroid-dark.png -------------------------------------------------------------------------------- /mobile/assets/polaroid-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/assets/polaroid-light.png -------------------------------------------------------------------------------- /mobile/bin/generate_keys.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/bin/generate_keys.dart -------------------------------------------------------------------------------- /mobile/build.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/build.yaml -------------------------------------------------------------------------------- /mobile/dart_test.yaml: -------------------------------------------------------------------------------- 1 | # Used to filter out tags from test runs 2 | tags: 3 | widget: 4 | -------------------------------------------------------------------------------- /mobile/dcm_global.yaml: -------------------------------------------------------------------------------- 1 | version: '>=1.29.0 <=1.30.0' 2 | -------------------------------------------------------------------------------- /mobile/devtools_options.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/devtools_options.yaml -------------------------------------------------------------------------------- /mobile/flutter_native_splash.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/flutter_native_splash.yaml -------------------------------------------------------------------------------- /mobile/fonts/Inconsolata-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/fonts/Inconsolata-Regular.ttf -------------------------------------------------------------------------------- /mobile/fonts/overpass/Overpass-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/fonts/overpass/Overpass-Bold.ttf -------------------------------------------------------------------------------- /mobile/fonts/overpass/OverpassMono.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/fonts/overpass/OverpassMono.ttf -------------------------------------------------------------------------------- /mobile/immich_lint/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:lints/recommended.yaml 2 | -------------------------------------------------------------------------------- /mobile/immich_lint/pubspec.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/immich_lint/pubspec.lock -------------------------------------------------------------------------------- /mobile/immich_lint/pubspec.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/immich_lint/pubspec.yaml -------------------------------------------------------------------------------- /mobile/ios/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/ios/.gitignore -------------------------------------------------------------------------------- /mobile/ios/Flutter/Debug.xcconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/ios/Flutter/Debug.xcconfig -------------------------------------------------------------------------------- /mobile/ios/Flutter/Release.xcconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/ios/Flutter/Release.xcconfig -------------------------------------------------------------------------------- /mobile/ios/Gemfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/ios/Gemfile -------------------------------------------------------------------------------- /mobile/ios/Podfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/ios/Podfile -------------------------------------------------------------------------------- /mobile/ios/Podfile.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/ios/Podfile.lock -------------------------------------------------------------------------------- /mobile/ios/Runner/AppDelegate.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/ios/Runner/AppDelegate.swift -------------------------------------------------------------------------------- /mobile/ios/Runner/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/ios/Runner/Info.plist -------------------------------------------------------------------------------- /mobile/ios/Runner/Info.plist.bak: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/ios/Runner/Info.plist.bak -------------------------------------------------------------------------------- /mobile/ios/Runner/Runner-Bridging-Header.h: -------------------------------------------------------------------------------- 1 | #import "GeneratedPluginRegistrant.h" 2 | -------------------------------------------------------------------------------- /mobile/ios/Runner/Runner.entitlements: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/ios/Runner/Runner.entitlements -------------------------------------------------------------------------------- /mobile/ios/Runner/Sync/Messages.g.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/ios/Runner/Sync/Messages.g.swift -------------------------------------------------------------------------------- /mobile/ios/ShareExtension/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/ios/ShareExtension/Info.plist -------------------------------------------------------------------------------- /mobile/ios/WidgetExtension/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/ios/WidgetExtension/Info.plist -------------------------------------------------------------------------------- /mobile/ios/ci_scripts/ci_post_clone.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/ios/ci_scripts/ci_post_clone.sh -------------------------------------------------------------------------------- /mobile/ios/fastlane/Appfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/ios/fastlane/Appfile -------------------------------------------------------------------------------- /mobile/ios/fastlane/Fastfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/ios/fastlane/Fastfile -------------------------------------------------------------------------------- /mobile/ios/fastlane/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/ios/fastlane/README.md -------------------------------------------------------------------------------- /mobile/lib/constants/colors.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/lib/constants/colors.dart -------------------------------------------------------------------------------- /mobile/lib/constants/constants.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/lib/constants/constants.dart -------------------------------------------------------------------------------- /mobile/lib/constants/enums.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/lib/constants/enums.dart -------------------------------------------------------------------------------- /mobile/lib/constants/errors.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/lib/constants/errors.dart -------------------------------------------------------------------------------- /mobile/lib/constants/filters.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/lib/constants/filters.dart -------------------------------------------------------------------------------- /mobile/lib/constants/locales.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/lib/constants/locales.dart -------------------------------------------------------------------------------- /mobile/lib/domain/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/lib/domain/README.md -------------------------------------------------------------------------------- /mobile/lib/domain/models/log.model.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/lib/domain/models/log.model.dart -------------------------------------------------------------------------------- /mobile/lib/domain/models/map.model.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/lib/domain/models/map.model.dart -------------------------------------------------------------------------------- /mobile/lib/entities/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/lib/entities/README.md -------------------------------------------------------------------------------- /mobile/lib/entities/album.entity.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/lib/entities/album.entity.dart -------------------------------------------------------------------------------- /mobile/lib/entities/album.entity.g.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/lib/entities/album.entity.g.dart -------------------------------------------------------------------------------- /mobile/lib/entities/asset.entity.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/lib/entities/asset.entity.dart -------------------------------------------------------------------------------- /mobile/lib/entities/asset.entity.g.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/lib/entities/asset.entity.g.dart -------------------------------------------------------------------------------- /mobile/lib/entities/etag.entity.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/lib/entities/etag.entity.dart -------------------------------------------------------------------------------- /mobile/lib/entities/etag.entity.g.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/lib/entities/etag.entity.g.dart -------------------------------------------------------------------------------- /mobile/lib/entities/store.entity.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/lib/entities/store.entity.dart -------------------------------------------------------------------------------- /mobile/lib/infrastructure/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/lib/infrastructure/README.md -------------------------------------------------------------------------------- /mobile/lib/main.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/lib/main.dart -------------------------------------------------------------------------------- /mobile/lib/models/albums/album_search.model.dart: -------------------------------------------------------------------------------- 1 | enum QuickFilterMode { all, sharedWithMe, myAlbums } 2 | -------------------------------------------------------------------------------- /mobile/lib/pages/album/album_title.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/lib/pages/album/album_title.dart -------------------------------------------------------------------------------- /mobile/lib/pages/editing/crop.page.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/lib/pages/editing/crop.page.dart -------------------------------------------------------------------------------- /mobile/lib/pages/editing/edit.page.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/lib/pages/editing/edit.page.dart -------------------------------------------------------------------------------- /mobile/lib/pages/login/login.page.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/lib/pages/login/login.page.dart -------------------------------------------------------------------------------- /mobile/lib/providers/api.provider.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/lib/providers/api.provider.dart -------------------------------------------------------------------------------- /mobile/lib/providers/auth.provider.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/lib/providers/auth.provider.dart -------------------------------------------------------------------------------- /mobile/lib/providers/cast.provider.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/lib/providers/cast.provider.dart -------------------------------------------------------------------------------- /mobile/lib/providers/db.provider.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/lib/providers/db.provider.dart -------------------------------------------------------------------------------- /mobile/lib/providers/tab.provider.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/lib/providers/tab.provider.dart -------------------------------------------------------------------------------- /mobile/lib/providers/user.provider.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/lib/providers/user.provider.dart -------------------------------------------------------------------------------- /mobile/lib/routing/auth_guard.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/lib/routing/auth_guard.dart -------------------------------------------------------------------------------- /mobile/lib/routing/duplicate_guard.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/lib/routing/duplicate_guard.dart -------------------------------------------------------------------------------- /mobile/lib/routing/gallery_guard.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/lib/routing/gallery_guard.dart -------------------------------------------------------------------------------- /mobile/lib/routing/locked_guard.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/lib/routing/locked_guard.dart -------------------------------------------------------------------------------- /mobile/lib/routing/router.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/lib/routing/router.dart -------------------------------------------------------------------------------- /mobile/lib/routing/router.gr.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/lib/routing/router.gr.dart -------------------------------------------------------------------------------- /mobile/lib/services/action.service.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/lib/services/action.service.dart -------------------------------------------------------------------------------- /mobile/lib/services/album.service.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/lib/services/album.service.dart -------------------------------------------------------------------------------- /mobile/lib/services/api.service.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/lib/services/api.service.dart -------------------------------------------------------------------------------- /mobile/lib/services/asset.service.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/lib/services/asset.service.dart -------------------------------------------------------------------------------- /mobile/lib/services/auth.service.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/lib/services/auth.service.dart -------------------------------------------------------------------------------- /mobile/lib/services/backup.service.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/lib/services/backup.service.dart -------------------------------------------------------------------------------- /mobile/lib/services/map.service.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/lib/services/map.service.dart -------------------------------------------------------------------------------- /mobile/lib/theme/color_scheme.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/lib/theme/color_scheme.dart -------------------------------------------------------------------------------- /mobile/lib/theme/dynamic_theme.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/lib/theme/dynamic_theme.dart -------------------------------------------------------------------------------- /mobile/lib/theme/theme_data.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/lib/theme/theme_data.dart -------------------------------------------------------------------------------- /mobile/lib/utils/async_mutex.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/lib/utils/async_mutex.dart -------------------------------------------------------------------------------- /mobile/lib/utils/bootstrap.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/lib/utils/bootstrap.dart -------------------------------------------------------------------------------- /mobile/lib/utils/bytes_units.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/lib/utils/bytes_units.dart -------------------------------------------------------------------------------- /mobile/lib/utils/debounce.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/lib/utils/debounce.dart -------------------------------------------------------------------------------- /mobile/lib/utils/debug_print.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/lib/utils/debug_print.dart -------------------------------------------------------------------------------- /mobile/lib/utils/diff.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/lib/utils/diff.dart -------------------------------------------------------------------------------- /mobile/lib/utils/hash.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/lib/utils/hash.dart -------------------------------------------------------------------------------- /mobile/lib/utils/isolate.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/lib/utils/isolate.dart -------------------------------------------------------------------------------- /mobile/lib/utils/licenses.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/lib/utils/licenses.dart -------------------------------------------------------------------------------- /mobile/lib/utils/map_utils.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/lib/utils/map_utils.dart -------------------------------------------------------------------------------- /mobile/lib/utils/migration.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/lib/utils/migration.dart -------------------------------------------------------------------------------- /mobile/lib/utils/people.utils.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/lib/utils/people.utils.dart -------------------------------------------------------------------------------- /mobile/lib/utils/provider_utils.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/lib/utils/provider_utils.dart -------------------------------------------------------------------------------- /mobile/lib/utils/semver.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/lib/utils/semver.dart -------------------------------------------------------------------------------- /mobile/lib/utils/string_helper.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/lib/utils/string_helper.dart -------------------------------------------------------------------------------- /mobile/lib/utils/throttle.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/lib/utils/throttle.dart -------------------------------------------------------------------------------- /mobile/lib/utils/url_helper.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/lib/utils/url_helper.dart -------------------------------------------------------------------------------- /mobile/lib/utils/user_agent.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/lib/utils/user_agent.dart -------------------------------------------------------------------------------- /mobile/lib/wm_executor.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/lib/wm_executor.dart -------------------------------------------------------------------------------- /mobile/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/makefile -------------------------------------------------------------------------------- /mobile/openapi/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/openapi/.gitignore -------------------------------------------------------------------------------- /mobile/openapi/.openapi-generator/VERSION: -------------------------------------------------------------------------------- 1 | 7.8.0 2 | -------------------------------------------------------------------------------- /mobile/openapi/.travis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/openapi/.travis.yml -------------------------------------------------------------------------------- /mobile/openapi/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/openapi/README.md -------------------------------------------------------------------------------- /mobile/openapi/git_push.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/openapi/git_push.sh -------------------------------------------------------------------------------- /mobile/openapi/lib/api.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/openapi/lib/api.dart -------------------------------------------------------------------------------- /mobile/openapi/lib/api/jobs_api.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/openapi/lib/api/jobs_api.dart -------------------------------------------------------------------------------- /mobile/openapi/lib/api/map_api.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/openapi/lib/api/map_api.dart -------------------------------------------------------------------------------- /mobile/openapi/lib/api/sync_api.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/openapi/lib/api/sync_api.dart -------------------------------------------------------------------------------- /mobile/openapi/lib/api/tags_api.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/openapi/lib/api/tags_api.dart -------------------------------------------------------------------------------- /mobile/openapi/lib/api/view_api.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/openapi/lib/api/view_api.dart -------------------------------------------------------------------------------- /mobile/openapi/lib/api_client.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/openapi/lib/api_client.dart -------------------------------------------------------------------------------- /mobile/openapi/lib/api_helper.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/openapi/lib/api_helper.dart -------------------------------------------------------------------------------- /mobile/openapi/lib/auth/oauth.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/openapi/lib/auth/oauth.dart -------------------------------------------------------------------------------- /mobile/openapi/pubspec.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/openapi/pubspec.yaml -------------------------------------------------------------------------------- /mobile/pigeon/connectivity_api.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/pigeon/connectivity_api.dart -------------------------------------------------------------------------------- /mobile/pigeon/native_sync_api.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/pigeon/native_sync_api.dart -------------------------------------------------------------------------------- /mobile/pigeon/thumbnail_api.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/pigeon/thumbnail_api.dart -------------------------------------------------------------------------------- /mobile/pubspec.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/pubspec.lock -------------------------------------------------------------------------------- /mobile/pubspec.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/pubspec.yaml -------------------------------------------------------------------------------- /mobile/scripts/check_i18n_keys.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/scripts/check_i18n_keys.py -------------------------------------------------------------------------------- /mobile/scripts/fdroid_build_isar.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/scripts/fdroid_build_isar.sh -------------------------------------------------------------------------------- /mobile/scripts/fdroid_update_isar.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/scripts/fdroid_update_isar.sh -------------------------------------------------------------------------------- /mobile/test/api.mocks.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/test/api.mocks.dart -------------------------------------------------------------------------------- /mobile/test/domain/service.mock.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/test/domain/service.mock.dart -------------------------------------------------------------------------------- /mobile/test/dto.mocks.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/test/dto.mocks.dart -------------------------------------------------------------------------------- /mobile/test/fixtures/album.stub.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/test/fixtures/album.stub.dart -------------------------------------------------------------------------------- /mobile/test/fixtures/asset.stub.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/test/fixtures/asset.stub.dart -------------------------------------------------------------------------------- /mobile/test/fixtures/exif.stub.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/test/fixtures/exif.stub.dart -------------------------------------------------------------------------------- /mobile/test/fixtures/user.stub.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/test/fixtures/user.stub.dart -------------------------------------------------------------------------------- /mobile/test/mock_http_override.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/test/mock_http_override.dart -------------------------------------------------------------------------------- /mobile/test/repository.mocks.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/test/repository.mocks.dart -------------------------------------------------------------------------------- /mobile/test/service.mocks.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/test/service.mocks.dart -------------------------------------------------------------------------------- /mobile/test/test_utils.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/test/test_utils.dart -------------------------------------------------------------------------------- /mobile/test/utils/semver_test.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/mobile/test/utils/semver_test.dart -------------------------------------------------------------------------------- /open-api/bin/generate-open-api.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/open-api/bin/generate-open-api.sh -------------------------------------------------------------------------------- /open-api/immich-openapi-specs.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/open-api/immich-openapi-specs.json -------------------------------------------------------------------------------- /open-api/openapitools.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/open-api/openapitools.json -------------------------------------------------------------------------------- /open-api/patch/api.dart.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/open-api/patch/api.dart.patch -------------------------------------------------------------------------------- /open-api/patch/api_client.dart.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/open-api/patch/api_client.dart.patch -------------------------------------------------------------------------------- /open-api/typescript-sdk/.npmignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/open-api/typescript-sdk/.npmignore -------------------------------------------------------------------------------- /open-api/typescript-sdk/.nvmrc: -------------------------------------------------------------------------------- 1 | 24.11.0 2 | -------------------------------------------------------------------------------- /open-api/typescript-sdk/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/open-api/typescript-sdk/README.md -------------------------------------------------------------------------------- /open-api/typescript-sdk/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/open-api/typescript-sdk/package.json -------------------------------------------------------------------------------- /open-api/typescript-sdk/src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/open-api/typescript-sdk/src/index.ts -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/package.json -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/pnpm-lock.yaml -------------------------------------------------------------------------------- /pnpm-workspace.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/pnpm-workspace.yaml -------------------------------------------------------------------------------- /readme_i18n/README_ar_JO.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/readme_i18n/README_ar_JO.md -------------------------------------------------------------------------------- /readme_i18n/README_ca_ES.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/readme_i18n/README_ca_ES.md -------------------------------------------------------------------------------- /readme_i18n/README_de_DE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/readme_i18n/README_de_DE.md -------------------------------------------------------------------------------- /readme_i18n/README_es_ES.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/readme_i18n/README_es_ES.md -------------------------------------------------------------------------------- /readme_i18n/README_fr_FR.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/readme_i18n/README_fr_FR.md -------------------------------------------------------------------------------- /readme_i18n/README_it_IT.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/readme_i18n/README_it_IT.md -------------------------------------------------------------------------------- /readme_i18n/README_ja_JP.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/readme_i18n/README_ja_JP.md -------------------------------------------------------------------------------- /readme_i18n/README_ko_KR.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/readme_i18n/README_ko_KR.md -------------------------------------------------------------------------------- /readme_i18n/README_nl_NL.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/readme_i18n/README_nl_NL.md -------------------------------------------------------------------------------- /readme_i18n/README_pt_BR.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/readme_i18n/README_pt_BR.md -------------------------------------------------------------------------------- /readme_i18n/README_ru_RU.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/readme_i18n/README_ru_RU.md -------------------------------------------------------------------------------- /readme_i18n/README_sv_SE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/readme_i18n/README_sv_SE.md -------------------------------------------------------------------------------- /readme_i18n/README_th_TH.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/readme_i18n/README_th_TH.md -------------------------------------------------------------------------------- /readme_i18n/README_tr_TR.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/readme_i18n/README_tr_TR.md -------------------------------------------------------------------------------- /readme_i18n/README_uk_UA.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/readme_i18n/README_uk_UA.md -------------------------------------------------------------------------------- /readme_i18n/README_vi_VN.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/readme_i18n/README_vi_VN.md -------------------------------------------------------------------------------- /readme_i18n/README_zh_CN.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/readme_i18n/README_zh_CN.md -------------------------------------------------------------------------------- /readme_i18n/README_zh_TW.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/readme_i18n/README_zh_TW.md -------------------------------------------------------------------------------- /renovate.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/renovate.json -------------------------------------------------------------------------------- /server/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/.gitignore -------------------------------------------------------------------------------- /server/.npmignore: -------------------------------------------------------------------------------- 1 | src 2 | tsconfig* 3 | eslint* 4 | pnpm* 5 | coverage 6 | -------------------------------------------------------------------------------- /server/.nvmrc: -------------------------------------------------------------------------------- 1 | 24.11.0 2 | -------------------------------------------------------------------------------- /server/.prettierignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/.prettierignore -------------------------------------------------------------------------------- /server/.prettierrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/.prettierrc -------------------------------------------------------------------------------- /server/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/Dockerfile -------------------------------------------------------------------------------- /server/Dockerfile.dev: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/Dockerfile.dev -------------------------------------------------------------------------------- /server/bin/get-cpus.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/bin/get-cpus.sh -------------------------------------------------------------------------------- /server/bin/immich-admin: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | 3 | start.sh immich-admin "$@" 4 | -------------------------------------------------------------------------------- /server/bin/immich-dev: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/bin/immich-dev -------------------------------------------------------------------------------- /server/bin/immich-healthcheck: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/bin/immich-healthcheck -------------------------------------------------------------------------------- /server/bin/pre-stop.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/bin/pre-stop.sh -------------------------------------------------------------------------------- /server/bin/set-nightly-job-time.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/bin/set-nightly-job-time.sh -------------------------------------------------------------------------------- /server/bin/start.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/bin/start.sh -------------------------------------------------------------------------------- /server/eslint.config.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/eslint.config.mjs -------------------------------------------------------------------------------- /server/nest-cli.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/nest-cli.json -------------------------------------------------------------------------------- /server/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/package.json -------------------------------------------------------------------------------- /server/resources/style-dark.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/resources/style-dark.json -------------------------------------------------------------------------------- /server/resources/style-light.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/resources/style-light.json -------------------------------------------------------------------------------- /server/scripts/queue-stats.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/scripts/queue-stats.js -------------------------------------------------------------------------------- /server/src/app.module.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/app.module.ts -------------------------------------------------------------------------------- /server/src/bin/migrations.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/bin/migrations.ts -------------------------------------------------------------------------------- /server/src/bin/sync-open-api.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/bin/sync-open-api.ts -------------------------------------------------------------------------------- /server/src/bin/sync-sql.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/bin/sync-sql.ts -------------------------------------------------------------------------------- /server/src/commands/grant-admin.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/commands/grant-admin.ts -------------------------------------------------------------------------------- /server/src/commands/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/commands/index.ts -------------------------------------------------------------------------------- /server/src/commands/oauth-login.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/commands/oauth-login.ts -------------------------------------------------------------------------------- /server/src/config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/config.ts -------------------------------------------------------------------------------- /server/src/constants.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/constants.ts -------------------------------------------------------------------------------- /server/src/controllers/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/controllers/index.ts -------------------------------------------------------------------------------- /server/src/cores/storage.core.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/cores/storage.core.ts -------------------------------------------------------------------------------- /server/src/database.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/database.ts -------------------------------------------------------------------------------- /server/src/decorators.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/decorators.ts -------------------------------------------------------------------------------- /server/src/dtos/activity.dto.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/dtos/activity.dto.ts -------------------------------------------------------------------------------- /server/src/dtos/album.dto.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/dtos/album.dto.ts -------------------------------------------------------------------------------- /server/src/dtos/api-key.dto.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/dtos/api-key.dto.ts -------------------------------------------------------------------------------- /server/src/dtos/asset-media.dto.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/dtos/asset-media.dto.ts -------------------------------------------------------------------------------- /server/src/dtos/asset.dto.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/dtos/asset.dto.ts -------------------------------------------------------------------------------- /server/src/dtos/auth.dto.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/dtos/auth.dto.ts -------------------------------------------------------------------------------- /server/src/dtos/download.dto.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/dtos/download.dto.ts -------------------------------------------------------------------------------- /server/src/dtos/duplicate.dto.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/dtos/duplicate.dto.ts -------------------------------------------------------------------------------- /server/src/dtos/env.dto.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/dtos/env.dto.ts -------------------------------------------------------------------------------- /server/src/dtos/exif.dto.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/dtos/exif.dto.ts -------------------------------------------------------------------------------- /server/src/dtos/job.dto.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/dtos/job.dto.ts -------------------------------------------------------------------------------- /server/src/dtos/library.dto.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/dtos/library.dto.ts -------------------------------------------------------------------------------- /server/src/dtos/license.dto.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/dtos/license.dto.ts -------------------------------------------------------------------------------- /server/src/dtos/map.dto.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/dtos/map.dto.ts -------------------------------------------------------------------------------- /server/src/dtos/memory.dto.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/dtos/memory.dto.ts -------------------------------------------------------------------------------- /server/src/dtos/model-config.dto.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/dtos/model-config.dto.ts -------------------------------------------------------------------------------- /server/src/dtos/notification.dto.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/dtos/notification.dto.ts -------------------------------------------------------------------------------- /server/src/dtos/ocr.dto.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/dtos/ocr.dto.ts -------------------------------------------------------------------------------- /server/src/dtos/onboarding.dto.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/dtos/onboarding.dto.ts -------------------------------------------------------------------------------- /server/src/dtos/partner.dto.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/dtos/partner.dto.ts -------------------------------------------------------------------------------- /server/src/dtos/person.dto.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/dtos/person.dto.ts -------------------------------------------------------------------------------- /server/src/dtos/search.dto.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/dtos/search.dto.ts -------------------------------------------------------------------------------- /server/src/dtos/server.dto.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/dtos/server.dto.ts -------------------------------------------------------------------------------- /server/src/dtos/session.dto.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/dtos/session.dto.ts -------------------------------------------------------------------------------- /server/src/dtos/shared-link.dto.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/dtos/shared-link.dto.ts -------------------------------------------------------------------------------- /server/src/dtos/stack.dto.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/dtos/stack.dto.ts -------------------------------------------------------------------------------- /server/src/dtos/sync.dto.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/dtos/sync.dto.ts -------------------------------------------------------------------------------- /server/src/dtos/system-config.dto.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/dtos/system-config.dto.ts -------------------------------------------------------------------------------- /server/src/dtos/tag.dto.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/dtos/tag.dto.ts -------------------------------------------------------------------------------- /server/src/dtos/time-bucket.dto.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/dtos/time-bucket.dto.ts -------------------------------------------------------------------------------- /server/src/dtos/trash.dto.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/dtos/trash.dto.ts -------------------------------------------------------------------------------- /server/src/dtos/user-profile.dto.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/dtos/user-profile.dto.ts -------------------------------------------------------------------------------- /server/src/dtos/user.dto.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/dtos/user.dto.spec.ts -------------------------------------------------------------------------------- /server/src/dtos/user.dto.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/dtos/user.dto.ts -------------------------------------------------------------------------------- /server/src/emails/license.email.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/emails/license.email.tsx -------------------------------------------------------------------------------- /server/src/emails/test.email.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/emails/test.email.tsx -------------------------------------------------------------------------------- /server/src/emails/welcome.email.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/emails/welcome.email.tsx -------------------------------------------------------------------------------- /server/src/enum.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/enum.ts -------------------------------------------------------------------------------- /server/src/main.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/main.ts -------------------------------------------------------------------------------- /server/src/middleware/auth.guard.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/middleware/auth.guard.ts -------------------------------------------------------------------------------- /server/src/repositories/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/repositories/index.ts -------------------------------------------------------------------------------- /server/src/schema/enums.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/schema/enums.ts -------------------------------------------------------------------------------- /server/src/schema/functions.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/schema/functions.ts -------------------------------------------------------------------------------- /server/src/schema/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/schema/index.ts -------------------------------------------------------------------------------- /server/src/services/album.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/services/album.service.ts -------------------------------------------------------------------------------- /server/src/services/api.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/services/api.service.ts -------------------------------------------------------------------------------- /server/src/services/asset.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/services/asset.service.ts -------------------------------------------------------------------------------- /server/src/services/audit.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/services/audit.service.ts -------------------------------------------------------------------------------- /server/src/services/auth.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/services/auth.service.ts -------------------------------------------------------------------------------- /server/src/services/base.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/services/base.service.ts -------------------------------------------------------------------------------- /server/src/services/cli.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/services/cli.service.ts -------------------------------------------------------------------------------- /server/src/services/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/services/index.ts -------------------------------------------------------------------------------- /server/src/services/job.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/services/job.service.ts -------------------------------------------------------------------------------- /server/src/services/map.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/services/map.service.ts -------------------------------------------------------------------------------- /server/src/services/media.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/services/media.service.ts -------------------------------------------------------------------------------- /server/src/services/ocr.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/services/ocr.service.ts -------------------------------------------------------------------------------- /server/src/services/stack.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/services/stack.service.ts -------------------------------------------------------------------------------- /server/src/services/sync.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/services/sync.service.ts -------------------------------------------------------------------------------- /server/src/services/tag.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/services/tag.service.ts -------------------------------------------------------------------------------- /server/src/services/trash.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/services/trash.service.ts -------------------------------------------------------------------------------- /server/src/services/user.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/services/user.service.ts -------------------------------------------------------------------------------- /server/src/services/view.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/services/view.service.ts -------------------------------------------------------------------------------- /server/src/sql-tools/helpers.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/sql-tools/helpers.ts -------------------------------------------------------------------------------- /server/src/sql-tools/index.ts: -------------------------------------------------------------------------------- 1 | export * from 'src/sql-tools/public_api'; 2 | -------------------------------------------------------------------------------- /server/src/sql-tools/public_api.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/sql-tools/public_api.ts -------------------------------------------------------------------------------- /server/src/sql-tools/register.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/sql-tools/register.ts -------------------------------------------------------------------------------- /server/src/sql-tools/schema-diff.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/sql-tools/schema-diff.ts -------------------------------------------------------------------------------- /server/src/sql-tools/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/sql-tools/types.ts -------------------------------------------------------------------------------- /server/src/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/types.ts -------------------------------------------------------------------------------- /server/src/utils/access.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/utils/access.ts -------------------------------------------------------------------------------- /server/src/utils/asset.util.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/utils/asset.util.ts -------------------------------------------------------------------------------- /server/src/utils/bytes.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/utils/bytes.ts -------------------------------------------------------------------------------- /server/src/utils/config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/utils/config.ts -------------------------------------------------------------------------------- /server/src/utils/database.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/utils/database.spec.ts -------------------------------------------------------------------------------- /server/src/utils/database.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/utils/database.ts -------------------------------------------------------------------------------- /server/src/utils/date.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/utils/date.ts -------------------------------------------------------------------------------- /server/src/utils/file.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/utils/file.ts -------------------------------------------------------------------------------- /server/src/utils/lifecycle.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/utils/lifecycle.ts -------------------------------------------------------------------------------- /server/src/utils/logger.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/utils/logger.ts -------------------------------------------------------------------------------- /server/src/utils/media.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/utils/media.ts -------------------------------------------------------------------------------- /server/src/utils/mime-types.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/utils/mime-types.spec.ts -------------------------------------------------------------------------------- /server/src/utils/mime-types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/utils/mime-types.ts -------------------------------------------------------------------------------- /server/src/utils/misc.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/utils/misc.spec.ts -------------------------------------------------------------------------------- /server/src/utils/misc.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/utils/misc.ts -------------------------------------------------------------------------------- /server/src/utils/object.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/utils/object.ts -------------------------------------------------------------------------------- /server/src/utils/pagination.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/utils/pagination.ts -------------------------------------------------------------------------------- /server/src/utils/preferences.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/utils/preferences.ts -------------------------------------------------------------------------------- /server/src/utils/request.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/utils/request.ts -------------------------------------------------------------------------------- /server/src/utils/response.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/utils/response.ts -------------------------------------------------------------------------------- /server/src/utils/set.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/utils/set.ts -------------------------------------------------------------------------------- /server/src/utils/sync.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/utils/sync.ts -------------------------------------------------------------------------------- /server/src/utils/tag.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/utils/tag.ts -------------------------------------------------------------------------------- /server/src/validation.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/validation.spec.ts -------------------------------------------------------------------------------- /server/src/validation.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/validation.ts -------------------------------------------------------------------------------- /server/src/workers/api.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/workers/api.ts -------------------------------------------------------------------------------- /server/src/workers/microservices.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/src/workers/microservices.ts -------------------------------------------------------------------------------- /server/test/fixtures/album.stub.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/test/fixtures/album.stub.ts -------------------------------------------------------------------------------- /server/test/fixtures/asset.stub.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/test/fixtures/asset.stub.ts -------------------------------------------------------------------------------- /server/test/fixtures/auth.stub.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/test/fixtures/auth.stub.ts -------------------------------------------------------------------------------- /server/test/fixtures/face.stub.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/test/fixtures/face.stub.ts -------------------------------------------------------------------------------- /server/test/fixtures/file.stub.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/test/fixtures/file.stub.ts -------------------------------------------------------------------------------- /server/test/fixtures/media.stub.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/test/fixtures/media.stub.ts -------------------------------------------------------------------------------- /server/test/fixtures/person.stub.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/test/fixtures/person.stub.ts -------------------------------------------------------------------------------- /server/test/fixtures/tag.stub.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/test/fixtures/tag.stub.ts -------------------------------------------------------------------------------- /server/test/fixtures/user.stub.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/test/fixtures/user.stub.ts -------------------------------------------------------------------------------- /server/test/medium.factory.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/test/medium.factory.ts -------------------------------------------------------------------------------- /server/test/medium/globalSetup.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/test/medium/globalSetup.ts -------------------------------------------------------------------------------- /server/test/medium/responses.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/test/medium/responses.ts -------------------------------------------------------------------------------- /server/test/small.factory.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/test/small.factory.ts -------------------------------------------------------------------------------- /server/test/utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/test/utils.ts -------------------------------------------------------------------------------- /server/test/vitest.config.medium.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/test/vitest.config.medium.mjs -------------------------------------------------------------------------------- /server/test/vitest.config.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/test/vitest.config.mjs -------------------------------------------------------------------------------- /server/tsconfig.build.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/tsconfig.build.json -------------------------------------------------------------------------------- /server/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/server/tsconfig.json -------------------------------------------------------------------------------- /web/.browserslistrc: -------------------------------------------------------------------------------- 1 | > 0.2% and last 4 major versions 2 | > 0.5% 3 | not dead 4 | -------------------------------------------------------------------------------- /web/.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | coverage/ 3 | .svelte-kit 4 | build/ 5 | -------------------------------------------------------------------------------- /web/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/.gitignore -------------------------------------------------------------------------------- /web/.npmrc: -------------------------------------------------------------------------------- 1 | engine-strict=true 2 | -------------------------------------------------------------------------------- /web/.nvmrc: -------------------------------------------------------------------------------- 1 | 24.11.0 2 | -------------------------------------------------------------------------------- /web/.prettierignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/.prettierignore -------------------------------------------------------------------------------- /web/.prettierrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/.prettierrc -------------------------------------------------------------------------------- /web/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/README.md -------------------------------------------------------------------------------- /web/bin/immich-web: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/bin/immich-web -------------------------------------------------------------------------------- /web/eslint.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/eslint.config.js -------------------------------------------------------------------------------- /web/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/package.json -------------------------------------------------------------------------------- /web/src/app.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/app.css -------------------------------------------------------------------------------- /web/src/app.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/app.d.ts -------------------------------------------------------------------------------- /web/src/app.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/app.html -------------------------------------------------------------------------------- /web/src/hooks.client.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/hooks.client.ts -------------------------------------------------------------------------------- /web/src/hooks.server.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/hooks.server.ts -------------------------------------------------------------------------------- /web/src/lib/__mocks__/sdk.mock.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/lib/__mocks__/sdk.mock.ts -------------------------------------------------------------------------------- /web/src/lib/actions/autogrow.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/lib/actions/autogrow.ts -------------------------------------------------------------------------------- /web/src/lib/actions/click-outside.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/lib/actions/click-outside.ts -------------------------------------------------------------------------------- /web/src/lib/actions/focus-outside.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/lib/actions/focus-outside.ts -------------------------------------------------------------------------------- /web/src/lib/actions/focus-trap.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/lib/actions/focus-trap.ts -------------------------------------------------------------------------------- /web/src/lib/actions/focus.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/lib/actions/focus.ts -------------------------------------------------------------------------------- /web/src/lib/actions/scroll-memory.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/lib/actions/scroll-memory.ts -------------------------------------------------------------------------------- /web/src/lib/actions/shortcut.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/lib/actions/shortcut.ts -------------------------------------------------------------------------------- /web/src/lib/actions/thumbhash.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/lib/actions/thumbhash.ts -------------------------------------------------------------------------------- /web/src/lib/actions/use-actions.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/lib/actions/use-actions.ts -------------------------------------------------------------------------------- /web/src/lib/actions/zoom-image.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/lib/actions/zoom-image.ts -------------------------------------------------------------------------------- /web/src/lib/assets/empty-1.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/lib/assets/empty-1.svg -------------------------------------------------------------------------------- /web/src/lib/assets/empty-2.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/lib/assets/empty-2.svg -------------------------------------------------------------------------------- /web/src/lib/assets/empty-3.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/lib/assets/empty-3.svg -------------------------------------------------------------------------------- /web/src/lib/assets/empty-4.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/lib/assets/empty-4.svg -------------------------------------------------------------------------------- /web/src/lib/assets/empty-5.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/lib/assets/empty-5.svg -------------------------------------------------------------------------------- /web/src/lib/assets/location-pin.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/lib/assets/location-pin.svg -------------------------------------------------------------------------------- /web/src/lib/assets/no-thumbnail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/lib/assets/no-thumbnail.png -------------------------------------------------------------------------------- /web/src/lib/assets/svg-paths.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/lib/assets/svg-paths.ts -------------------------------------------------------------------------------- /web/src/lib/cast/cast-button.svelte: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/lib/cast/cast-button.svelte -------------------------------------------------------------------------------- /web/src/lib/constants.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/lib/constants.ts -------------------------------------------------------------------------------- /web/src/lib/elements/Badge.svelte: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/lib/elements/Badge.svelte -------------------------------------------------------------------------------- /web/src/lib/elements/Dropdown.svelte: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/lib/elements/Dropdown.svelte -------------------------------------------------------------------------------- /web/src/lib/elements/GroupTab.svelte: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/lib/elements/GroupTab.svelte -------------------------------------------------------------------------------- /web/src/lib/elements/Portal.svelte: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/lib/elements/Portal.svelte -------------------------------------------------------------------------------- /web/src/lib/elements/Skeleton.svelte: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/lib/elements/Skeleton.svelte -------------------------------------------------------------------------------- /web/src/lib/elements/SkipLink.svelte: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/lib/elements/SkipLink.svelte -------------------------------------------------------------------------------- /web/src/lib/i18n.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/lib/i18n.spec.ts -------------------------------------------------------------------------------- /web/src/lib/modals/MapModal.svelte: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/lib/modals/MapModal.svelte -------------------------------------------------------------------------------- /web/src/lib/modals/timezone-utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/lib/modals/timezone-utils.ts -------------------------------------------------------------------------------- /web/src/lib/models/upload-asset.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/lib/models/upload-asset.ts -------------------------------------------------------------------------------- /web/src/lib/stores/face-edit.svelte.ts: -------------------------------------------------------------------------------- 1 | export const isFaceEditMode = $state({ value: false }); 2 | -------------------------------------------------------------------------------- /web/src/lib/stores/folders.svelte.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/lib/stores/folders.svelte.ts -------------------------------------------------------------------------------- /web/src/lib/stores/people.store.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/lib/stores/people.store.ts -------------------------------------------------------------------------------- /web/src/lib/stores/purchase.store.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/lib/stores/purchase.store.ts -------------------------------------------------------------------------------- /web/src/lib/stores/search.svelte.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/lib/stores/search.svelte.ts -------------------------------------------------------------------------------- /web/src/lib/stores/sidebar.svelte.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/lib/stores/sidebar.svelte.ts -------------------------------------------------------------------------------- /web/src/lib/stores/upload.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/lib/stores/upload.ts -------------------------------------------------------------------------------- /web/src/lib/stores/user.store.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/lib/stores/user.store.ts -------------------------------------------------------------------------------- /web/src/lib/stores/user.svelte.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/lib/stores/user.svelte.ts -------------------------------------------------------------------------------- /web/src/lib/stores/websocket.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/lib/stores/websocket.ts -------------------------------------------------------------------------------- /web/src/lib/utils.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/lib/utils.spec.ts -------------------------------------------------------------------------------- /web/src/lib/utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/lib/utils.ts -------------------------------------------------------------------------------- /web/src/lib/utils/actions.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/lib/utils/actions.ts -------------------------------------------------------------------------------- /web/src/lib/utils/album-utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/lib/utils/album-utils.ts -------------------------------------------------------------------------------- /web/src/lib/utils/asset-utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/lib/utils/asset-utils.ts -------------------------------------------------------------------------------- /web/src/lib/utils/auth.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/lib/utils/auth.ts -------------------------------------------------------------------------------- /web/src/lib/utils/byte-units.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/lib/utils/byte-units.spec.ts -------------------------------------------------------------------------------- /web/src/lib/utils/byte-units.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/lib/utils/byte-units.ts -------------------------------------------------------------------------------- /web/src/lib/utils/context-menu.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/lib/utils/context-menu.ts -------------------------------------------------------------------------------- /web/src/lib/utils/context.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/lib/utils/context.ts -------------------------------------------------------------------------------- /web/src/lib/utils/date-time.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/lib/utils/date-time.spec.ts -------------------------------------------------------------------------------- /web/src/lib/utils/date-time.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/lib/utils/date-time.ts -------------------------------------------------------------------------------- /web/src/lib/utils/dipatch.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/lib/utils/dipatch.ts -------------------------------------------------------------------------------- /web/src/lib/utils/duplicate-utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/lib/utils/duplicate-utils.ts -------------------------------------------------------------------------------- /web/src/lib/utils/eventemitter.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/lib/utils/eventemitter.ts -------------------------------------------------------------------------------- /web/src/lib/utils/executor-queue.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/lib/utils/executor-queue.ts -------------------------------------------------------------------------------- /web/src/lib/utils/exif-utils.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/lib/utils/exif-utils.spec.ts -------------------------------------------------------------------------------- /web/src/lib/utils/exif-utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/lib/utils/exif-utils.ts -------------------------------------------------------------------------------- /web/src/lib/utils/file-uploader.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/lib/utils/file-uploader.ts -------------------------------------------------------------------------------- /web/src/lib/utils/focus-util.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/lib/utils/focus-util.ts -------------------------------------------------------------------------------- /web/src/lib/utils/generate-id.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/lib/utils/generate-id.ts -------------------------------------------------------------------------------- /web/src/lib/utils/handle-error.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/lib/utils/handle-error.ts -------------------------------------------------------------------------------- /web/src/lib/utils/i18n.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/lib/utils/i18n.ts -------------------------------------------------------------------------------- /web/src/lib/utils/layout-utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/lib/utils/layout-utils.ts -------------------------------------------------------------------------------- /web/src/lib/utils/license-utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/lib/utils/license-utils.ts -------------------------------------------------------------------------------- /web/src/lib/utils/metadata-search.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/lib/utils/metadata-search.ts -------------------------------------------------------------------------------- /web/src/lib/utils/navigation.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/lib/utils/navigation.ts -------------------------------------------------------------------------------- /web/src/lib/utils/people-utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/lib/utils/people-utils.ts -------------------------------------------------------------------------------- /web/src/lib/utils/persisted.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/lib/utils/persisted.ts -------------------------------------------------------------------------------- /web/src/lib/utils/person.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/lib/utils/person.ts -------------------------------------------------------------------------------- /web/src/lib/utils/places-utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/lib/utils/places-utils.ts -------------------------------------------------------------------------------- /web/src/lib/utils/purchase-utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/lib/utils/purchase-utils.ts -------------------------------------------------------------------------------- /web/src/lib/utils/server.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/lib/utils/server.ts -------------------------------------------------------------------------------- /web/src/lib/utils/shared-links.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/lib/utils/shared-links.ts -------------------------------------------------------------------------------- /web/src/lib/utils/string-utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/lib/utils/string-utils.ts -------------------------------------------------------------------------------- /web/src/lib/utils/sw-messaging.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/lib/utils/sw-messaging.ts -------------------------------------------------------------------------------- /web/src/lib/utils/thumbnail-util.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/lib/utils/thumbnail-util.ts -------------------------------------------------------------------------------- /web/src/lib/utils/timeline-util.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/lib/utils/timeline-util.ts -------------------------------------------------------------------------------- /web/src/lib/utils/timesince.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/lib/utils/timesince.ts -------------------------------------------------------------------------------- /web/src/lib/utils/tree-utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/lib/utils/tree-utils.ts -------------------------------------------------------------------------------- /web/src/lib/utils/tunables.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/lib/utils/tunables.ts -------------------------------------------------------------------------------- /web/src/params/id.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/params/id.ts -------------------------------------------------------------------------------- /web/src/params/photos.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/params/photos.ts -------------------------------------------------------------------------------- /web/src/routes/(user)/+layout.svelte: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/routes/(user)/+layout.svelte -------------------------------------------------------------------------------- /web/src/routes/(user)/buy/+page.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/routes/(user)/buy/+page.ts -------------------------------------------------------------------------------- /web/src/routes/+error.svelte: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/routes/+error.svelte -------------------------------------------------------------------------------- /web/src/routes/+layout.svelte: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/routes/+layout.svelte -------------------------------------------------------------------------------- /web/src/routes/+layout.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/routes/+layout.ts -------------------------------------------------------------------------------- /web/src/routes/+page.svelte: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/routes/+page.svelte -------------------------------------------------------------------------------- /web/src/routes/+page.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/routes/+page.ts -------------------------------------------------------------------------------- /web/src/routes/admin/+page.svelte: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /web/src/routes/admin/+page.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/routes/admin/+page.ts -------------------------------------------------------------------------------- /web/src/routes/admin/users/+page.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/routes/admin/users/+page.ts -------------------------------------------------------------------------------- /web/src/routes/auth/login/+page.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/routes/auth/login/+page.ts -------------------------------------------------------------------------------- /web/src/routes/link/+page.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/routes/link/+page.ts -------------------------------------------------------------------------------- /web/src/service-worker/cache.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/service-worker/cache.ts -------------------------------------------------------------------------------- /web/src/service-worker/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/service-worker/index.ts -------------------------------------------------------------------------------- /web/src/service-worker/request.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/service-worker/request.ts -------------------------------------------------------------------------------- /web/src/test-data/setup.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/src/test-data/setup.ts -------------------------------------------------------------------------------- /web/static/.well-known/immich: -------------------------------------------------------------------------------- 1 | {"api":{"endpoint":"/api"}} 2 | -------------------------------------------------------------------------------- /web/static/.well-known/security.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/static/.well-known/security.txt -------------------------------------------------------------------------------- /web/static/apple-icon-180.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/static/apple-icon-180.png -------------------------------------------------------------------------------- /web/static/dark_skeleton.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/static/dark_skeleton.png -------------------------------------------------------------------------------- /web/static/favicon-144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/static/favicon-144.png -------------------------------------------------------------------------------- /web/static/favicon-16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/static/favicon-16.png -------------------------------------------------------------------------------- /web/static/favicon-32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/static/favicon-32.png -------------------------------------------------------------------------------- /web/static/favicon-48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/static/favicon-48.png -------------------------------------------------------------------------------- /web/static/favicon-96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/static/favicon-96.png -------------------------------------------------------------------------------- /web/static/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/static/favicon.ico -------------------------------------------------------------------------------- /web/static/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/static/favicon.png -------------------------------------------------------------------------------- /web/static/feature-panel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/static/feature-panel.png -------------------------------------------------------------------------------- /web/static/light_skeleton.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/static/light_skeleton.png -------------------------------------------------------------------------------- /web/static/logo-150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/static/logo-150.png -------------------------------------------------------------------------------- /web/static/logo-50.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/static/logo-50.png -------------------------------------------------------------------------------- /web/static/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/static/logo.png -------------------------------------------------------------------------------- /web/static/manifest.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/static/manifest.json -------------------------------------------------------------------------------- /web/static/pixelunion-no-bg.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/static/pixelunion-no-bg.svg -------------------------------------------------------------------------------- /web/static/pixelunion.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/static/pixelunion.svg -------------------------------------------------------------------------------- /web/static/robots.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/static/robots.txt -------------------------------------------------------------------------------- /web/svelte.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/svelte.config.js -------------------------------------------------------------------------------- /web/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/tsconfig.json -------------------------------------------------------------------------------- /web/vite.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pixelunioneu/immich/HEAD/web/vite.config.ts --------------------------------------------------------------------------------