Immich Integration (1.0.2)

Marcel
2026-03-04T08:11:08.005299+00:00

NC26–32 compatibility: "Add to Immich" file action was not visible on Nextcloud 26–32 due to a registry scoping change in @nextcloud/files v4 (only compatible with NC33+). A separate webpack bundle using @nextcloud/files v3 is now built and loaded automatically for Nextcloud versions below 33. Minimum supported version is now NC27.

Security

API key encryption: The Immich API key is now encrypted at rest using Nextcloud's OCP\Security\ICrypto before being written to oc_preferences. On read, the value is transparently decrypted; a plaintext fallback handles keys stored by older versions.

Input validation: All controllers now validate and sanitize incoming parameters (album IDs, asset IDs, paths, URLs) and return proper HTTP error codes (400, 500) instead of leaking raw error messages to the client.

Error handling: ImmichService catches exceptions internally and surfaces structured error responses, preventing stack traces from reaching the frontend.

Changed

Bootstrap: Migrated from boot() + addListener() to register() + registerEventListener() for proper lazy-loading of the file-action event listener (recommended pattern since NC26).

Download