High performance self-hosted photo and video management solution.
 
 
 
 
 
 
Go to file
Sudheer Reddy Puthana 8853079c54
feat(mobile): add read only mode (#19368)
* feat(mobile): Add Kid (Readonly) Mode toggle

This commit introduces a "Kid (Readonly) Mode" feature.

- Adds a `KidModeProvider` to manage the state of Kid Mode.
- Implements a `KidModeCheckbox` widget in the app bar dialog to toggle Kid Mode.
- When Kid Mode is enabled,
  - Disables selecting the multigrid & the bottom bar
  - Removes the top bar from view

Signed-off-by: Sudheer Puthana <Sud-Puth@users.noreply.github.com>

Reverts the changes to devtools_options.yaml file

Signed-off-by: Sudheer Puthana <Sud-Puth@users.noreply.github.com>

refactor: replace Kid Mode with Readonly Mode

This commit replaces the "Kid Mode" feature with a more generic "Readonly Mode".

- Renamed `KidModeProvider` to `ReadonlyModeProvider`.
- Readonly Mode state is now persisted in app settings.
- Added a new app setting `allowUserAvatarOverride` to toggle read-only mode.
- Updated translations.
- Added a message in the app bar dialog indicating when read-only mode is active.

Signed-off-by: Sudheer Puthana <Sud-Puth@users.noreply.github.com>

Address comments -

- Removes the `allowUserAvatarOverride` setting.
- Hides the bottom gallery bar when read-only mode is enabled.
- Adds an icon on the main app bar when read-only mode is enabled with a snackbar.

Signed-off-by: Sudheer Puthana <Sud-Puth@users.noreply.github.com>

Update to snackbar

- When toggling readonly mode from either the settings or the app bar, a snackbar notification will now appear.
- The readonly mode message in the profile drawer has been restyled.
- The upload button in the app bar is now hidden when readonly mode is enabled.

Signed-off-by: Sudheer Puthana <Sud-Puth@users.noreply.github.com>

Removes clearing of snackbar

Signed-off-by: Sudheer Puthana <Sud-Puth@users.noreply.github.com>

Address Comments

- Consolidated snackbar messages for enabling/disabling readonly mode.
- Ensured the "Select All" icon in asset group titles is hidden in readonly mode.

Signed-off-by: Sudheer Puthana <Sud-Puth@users.noreply.github.com>

Adds in the missing translation keys for readonly_mode

Signed-off-by: Sudheer Puthana <Sud-Puth@users.noreply.github.com>

Fix translation

Signed-off-by: Sudheer Puthana <Sud-Puth@users.noreply.github.com>

Fix check failure for BorderRadius

Signed-off-by: Sudheer Puthana <Sud-Puth@users.noreply.github.com>

Changes:
- Adjusted AppBar background color in readonly mode.
- Removes cross-out pencil icon button in favor of above.
- Hides the "Edit" icon next to date/time, disable description and onTap for people and location when readonly mode is enabled.

Signed-off-by: Sudheer Puthana <Sud-Puth@users.noreply.github.com>

Address comments from Alex

- Moved readonly mode check to `GalleryAppBar` to hide the entire `TopControlAppBar` when readonly mode is enabled.
- Changed `toggleReadonlyMode` in `ImmichAppBar` to directly toggle the state.

Signed-off-by: Sudheer Puthana <Sud-Puth@users.noreply.github.com>

migrate readonly mode to new beta timeline

remove readonly mode from legacy UI

only show readonly functionality when on beta timeline

simplify selection icon

update generated provider

chore: more formatting

* fix: bad merge

* chore: use Notifier for readonlyModeProvider

* fix: drag select now honors readonly mode

* fix: disable asset bottom sheet in readonly

* fix: disable editing user icon when in readonly

* chore: remove generated file

* fix: disable tabs instead entire tab bar

This solves the issues with the scrubber

* chore: remove unneeded import

* chore: lint

* remove unused condition in bottomsheet

---------

Co-authored-by: Brandon Wees <brandonwees@gmail.com>
Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-08-28 17:30:15 +00:00
.devcontainer fix: dev-scripts (#21270) 2025-08-25 17:10:59 -04:00
.github chore: install pnpm in prepare-release GHA (#21126) 2025-08-21 17:19:42 -05:00
.vscode chore: use pnpm for builds (#19752) 2025-08-19 08:55:24 -04:00
cli chore: version v1.139.4 2025-08-25 02:39:18 +00:00
deployment chore(deps): update terraform cloudflare to v4.52.1 (#20387) 2025-07-29 12:06:52 +01:00
design chore: update readme screenshot (#8182) 2024-03-22 04:31:36 +00:00
docker chore(deps): pin busybox docker tag to ab33eac (#21280) 2025-08-27 21:44:19 -05:00
docs chore: faq commercial guidelines (#21320) 2025-08-26 20:47:42 +00:00
e2e chore(deps): update ghcr.io/immich-app/postgres:14-vectorchord0.3.0 docker digest to 7a4469b (#21286) 2025-08-26 11:07:27 +02:00
fastlane Added required setup for f-droid (#88) 2022-03-29 14:13:47 -05:00
i18n feat(mobile): add read only mode (#19368) 2025-08-28 17:30:15 +00:00
machine-learning fix(deps): update machine-learning (#21044) 2025-08-18 21:55:49 -04:00
misc/release chore: pump the pump script (#21122) 2025-08-21 17:00:48 -05:00
mobile feat(mobile): add read only mode (#19368) 2025-08-28 17:30:15 +00:00
open-api feat: asset metadata (#20446) 2025-08-27 14:31:23 -04:00
readme_i18n docs: update italian README: better wording, add some important sections, fixed links and alt texts (#21221) 2025-08-25 15:15:39 +00:00
server fix: motion video extraction race condition (#21285) 2025-08-27 15:10:55 -04:00
web feat(web): add geolocation utility (#20758) 2025-08-28 16:54:11 +00:00
.dockerignore chore: dockerfile layout changes (#19673) 2025-07-18 17:56:26 -04:00
.editorconfig chore: linting (#7532) 2024-02-29 11:26:55 -05:00
.gitattributes chore: do not render drift migration auto gen files (#20060) 2025-07-21 16:48:22 -05:00
.gitignore chore: dockerfile layout changes (#19673) 2025-07-18 17:56:26 -04:00
.gitmodules chore: update submodule (#11789) 2024-08-14 22:06:11 +00:00
.pnpmfile.cjs fix: isolate docker host/container filesystem for node_modules and build output (#21167) 2025-08-24 13:09:45 -05:00
CODEOWNERS chore: add code owner (#8701) 2024-04-11 06:34:19 +00:00
CODE_OF_CONDUCT.md Added Code of conduct 2024-07-05 15:31:13 +00:00
LICENSE Change license to AGPLv3 (#7046) 2024-02-12 15:31:59 +00:00
Makefile fix: isolate docker host/container filesystem for node_modules and build output (#21167) 2025-08-24 13:09:45 -05:00
README.md chore: remove demo box spec from README.md (#17367) 2025-04-03 18:09:29 -04:00
SECURITY.md chore: use immich.app email for security reports (#10594) 2024-06-24 07:25:48 -07:00
install.sh fix: bash install.sh script for mac os (#15874) 2025-02-03 16:41:42 -06:00
package.json chore: use pnpm for builds (#19752) 2025-08-19 08:55:24 -04:00
pnpm-lock.yaml fix: isolate docker host/container filesystem for node_modules and build output (#21167) 2025-08-24 13:09:45 -05:00
pnpm-workspace.yaml chore: use pnpm for builds (#19752) 2025-08-19 08:55:24 -04:00
renovate.json chore: shared renovate configuration (#16903) 2025-03-25 14:56:54 +00:00

README.md


License: AGPLv3 Discord

High performance self-hosted photo and video management solution



Català Español Français Italiano 日本語 한국어 Deutsch Nederlands Türkçe 中文 Українська Русский Português Brasileiro Svenska العربية Tiếng Việt ภาษาไทย

Disclaimer

  • ⚠️ The project is under very active development.
  • ⚠️ Expect bugs and breaking changes.
  • ⚠️ Do not use the app as the only way to store your photos and videos.
  • ⚠️ Always follow 3-2-1 backup plan for your precious photos and videos!

[!NOTE] You can find the main documentation, including installation guides, at https://immich.app/.

Demo

Access the demo here. For the mobile app, you can use https://demo.immich.app for the Server Endpoint URL.

Login credentials

Email Password
demo@immich.app demo

Features

Features Mobile Web
Upload and view videos and photos Yes Yes
Auto backup when the app is opened Yes N/A
Prevent duplication of assets Yes Yes
Selective album(s) for backup Yes N/A
Download photos and videos to local device Yes Yes
Multi-user support Yes Yes
Album and Shared albums Yes Yes
Scrubbable/draggable scrollbar Yes Yes
Support raw formats Yes Yes
Metadata view (EXIF, map) Yes Yes
Search by metadata, objects, faces, and CLIP Yes Yes
Administrative functions (user management) No Yes
Background backup Yes N/A
Virtual scroll Yes Yes
OAuth support Yes Yes
API Keys N/A Yes
LivePhoto/MotionPhoto backup and playback Yes Yes
Support 360 degree image display No Yes
User-defined storage structure Yes Yes
Public Sharing Yes Yes
Archive and Favorites Yes Yes
Global Map Yes Yes
Partner Sharing Yes Yes
Facial recognition and clustering Yes Yes
Memories (x years ago) Yes Yes
Offline support Yes No
Read-only gallery Yes Yes
Stacked Photos Yes Yes
Tags No Yes
Folder View Yes Yes

Translations

Read more about translations here.

Translation status

Repository activity

Activities

Star history

Star History Chart

Contributors