Conversation
…mn (immich-app#26633) * fix(android): detect supported version for special format column * fix(android): remove unnecessary suppression for new API in special format check * fix(android): change visibility of hasSpecialFormatColumn method to private
The image in the photo view has no height, and is therefore entirely unconstrained. This causes the image to take up the full height of the viewport during the hero animation, which can make look out of sync. In some other cases, it can stretch or resize the image to fill the entire viewport.
…6654) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
…app#26653) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
immich-app#26652) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: bo0tzz <git@bo0tzz.me>
…#26607) Co-authored-by: Joe <code@joebabbitt.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Consolidate video state into a single asset-scoped provider, and reduce dependency on global state generally. Overall this should fix a few timing issues and race conditions with videos specifically, and make future changes in this area easier.
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
…h-app#26122) feat: improve heic, heif and jxl browser support detection
…h-app#26456) Signed-off-by: izzy <me@insrt.uk>
…ich-app#26684) Add `name` to all vitest configs matching CI job buckets (server:unit, server:medium, cli:unit, web:unit, e2e:server, e2e:maintenance) so they appear as filterable @tags in the Vitest VSCode extension. Fix `root` in server vitest configs to use an absolute path derived from `import.meta.url` instead of `'./'`, which resolved relative to the config file directory (`server/test/`) rather than `server/`, causing test discovery to fail in the Vitest VSCode extension.
…o view (immich-app#26667) * feat(web): when hovering over a face already deteced, display the bounding box also shown when hovering over the person in the details-pane. * prevent lint error * fix unused var
Update CONTRIBUTING.md
In order to scroll smoothly without interfering with the gesture detector on the photo view, we have an offstate scroll view which we defer all drags to, and then forward scroll offsets to the real scroll controller. This works well, but it can be simpler. Instead, we can create a custom scroll controller on a scroll view with never scrollable physics, and then forward drag events to that, bypassing the need for a proxy scroll controller. Co-authored-by: Alex <alex.tran1502@gmail.com>
Search results are replaced with a spinner when loading the next page, which is quite jarring. Search results now remain visible when loading the next page with a spinner at the bottom. The next page also loads sooner, which makes it feel a lot smoother. Co-authored-by: Alex <alex.tran1502@gmail.com>
|
Label error. Requires exactly 1 of: changelog:.*. Found: documentation, 🗄️server, cli, 🖥️web, 📱mobile. A maintainer will add the required label. |
Deeds67
added a commit
that referenced
this pull request
Jul 2, 2026
…ns (LOW #2/#15) The 1778800000000 collision (ReconcileFaceIdentityIndexOverrides + TrimSpacePersonNameIndex) is benign — Kysely keys migrations by full filename, so both apply in deterministic order and nothing is clobbered. Renaming was rejected: staging/RC/clone DBs run the rolling branch and Kysely hard-fails on boot if a recorded migration's file goes missing, so renaming an applied migration would brick them. Instead add a repo-invariant guard (upstream-preflight) that fails CI on any NEW timestamp collision, grandfathering the 3 known-benign pre-existing ones. Slice 17.
Deeds67
added a commit
that referenced
this pull request
Jul 2, 2026
…ns (LOW #2/#15) The 1778800000000 collision (ReconcileFaceIdentityIndexOverrides + TrimSpacePersonNameIndex) is benign — Kysely keys migrations by full filename, so both apply in deterministic order and nothing is clobbered. Renaming was rejected: staging/RC/clone DBs run the rolling branch and Kysely hard-fails on boot if a recorded migration's file goes missing, so renaming an applied migration would brick them. Instead add a repo-invariant guard (upstream-preflight) that fails CI on any NEW timestamp collision, grandfathering the 3 known-benign pre-existing ones. Slice 17.
Deeds67
added a commit
that referenced
this pull request
Jul 7, 2026
…#753 #1+#2) (#757) * docs(spaces): design spec for album/library asset visibility purge (#753 #1+#2) * docs(spaces): review fixes — impl-loop slices, union-checkpoint rationale, Locked/showInTimeline edges * feat(spaces): add shared_space_album_asset_audit table + migration * feat(spaces): purge album-linked space assets on Hidden (A1) * feat(spaces): prune shared_space_album_asset_audit on schedule * feat(spaces): wire album visibility purge/restore into asset updateAll (A3, A8, unit) * chore(spaces): revert-to-immich + regen SQL for album visibility purge * docs(spaces): impl-loop slice 1+2 plans for album/library visibility purge * feat(spaces): add shared_space_library_asset_audit table + migration * feat(spaces): purge library-linked space assets on Hidden, owner-excluded (L1/L2) * feat(spaces): wire library visibility purge into asset updateAll * chore(spaces): revert-to-immich for library visibility purge * test(spaces): cross-path visibility purge convergence (X1) * test(spaces): empty-list no-op + idempotent double-purge (X2, X3) * test(spaces): union checkpoint correctness across audit sources (X4) * test(spaces): audit retention prune for new space audit tables (R1) * docs(spaces): impl-loop slice 3 plan (cross-path invariants + retention) * chore(spaces): regenerate query SQL for album/library visibility purge * style(spaces): prettier-format impl-loop plan docs * fix(spaces): add new audit-table migrations to revert-to-immich cleanup list * style(spaces): prettier-format visibility-purge server files * chore(spaces): use spread-apart random migration timestamps for new audit tables
Deeds67
added a commit
that referenced
this pull request
Jul 10, 2026
…#753 #1+#2) (#757) * docs(spaces): design spec for album/library asset visibility purge (#753 #1+#2) * docs(spaces): review fixes — impl-loop slices, union-checkpoint rationale, Locked/showInTimeline edges * feat(spaces): add shared_space_album_asset_audit table + migration * feat(spaces): purge album-linked space assets on Hidden (A1) * feat(spaces): prune shared_space_album_asset_audit on schedule * feat(spaces): wire album visibility purge/restore into asset updateAll (A3, A8, unit) * chore(spaces): revert-to-immich + regen SQL for album visibility purge * docs(spaces): impl-loop slice 1+2 plans for album/library visibility purge * feat(spaces): add shared_space_library_asset_audit table + migration * feat(spaces): purge library-linked space assets on Hidden, owner-excluded (L1/L2) * feat(spaces): wire library visibility purge into asset updateAll * chore(spaces): revert-to-immich for library visibility purge * test(spaces): cross-path visibility purge convergence (X1) * test(spaces): empty-list no-op + idempotent double-purge (X2, X3) * test(spaces): union checkpoint correctness across audit sources (X4) * test(spaces): audit retention prune for new space audit tables (R1) * docs(spaces): impl-loop slice 3 plan (cross-path invariants + retention) * chore(spaces): regenerate query SQL for album/library visibility purge * style(spaces): prettier-format impl-loop plan docs * fix(spaces): add new audit-table migrations to revert-to-immich cleanup list * style(spaces): prettier-format visibility-purge server files * chore(spaces): use spread-apart random migration timestamps for new audit tables
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Fixes # (issue)
How Has This Been Tested?
Screenshots (if appropriate)
Checklist:
src/services/uses repositories implementations for database calls, filesystem operations, etc.src/repositories/is pretty basic/simple and does not have any immich specific logic (that belongs insrc/services/)Please describe to which degree, if any, an LLM was used in creating this pull request.
...