7799 Commits

Author SHA1 Message Date
Thomas
746252fe39
fix(web): limit max height of search results (#20727)
The height of the search results element was unrestricted, which meant that the
asset visibility calculations were completely incorrect. The consequence of
this is that assets which should not have been visible, were. In practical
terms, all assets below the viewport were rendered when they shouldn't have
been which is terrible for performance. Limiting the height of the viewport
fixes that calculation and assets are correctly hidden.

The consequence of limiting the height of the viewport is that the intersector
then incorrectly thought the scroll position was always at the end. This has
been fixed by calculating the position of sliding window against the calculated
asset layout container height.

Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-08-06 17:05:23 -05:00
Thomas
f36efd128b
fix(web): prevent thumbhashes from covering search bar (#20720)
The thumbhash had a z-index setting which meant it would cover the search bar,
and would always cause weird animations when scrolling up in search results.

This is fixable by removing the z-index and moving it in front the other
elements to get a naturally higher higher z-index preference.
2025-08-06 16:57:51 -05:00
shenlong
f1c494ef97
fix: use create if not exists clause for indexes (#20728)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2025-08-06 16:57:33 -05:00
shenlong
9c8c52874a
fix: cleanup logger DB in isolates (#20730)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2025-08-06 16:57:17 -05:00
shenlong
68b617130a
chore: disable android auto backup (#20734)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2025-08-06 16:52:42 -05:00
Thomas
89292fecb4
fix(web): use correct sliding window offset for search results (#20726)
The contents of search results are slightly offset by the search bar, search
terms and spacing (margins/padding), and needs to be factored in when
calculating whether an asset is visible or not. The offset was 0, which
meant that assets were removed from view too early.
2025-08-06 16:34:24 -05:00
Thomas
1193a23282
feat(web): don't scroll to visible assets (#20729)
The timeline has been quite aggressive with scrolling to assets, even if they
were right in the middle of the page. If the asset is visible, then we
shouldn't scroll to it. It's really confusing when assets jump around after
being viewed.
2025-08-06 16:31:37 -05:00
Xantin
bbfff64927
docs: update TrueNAS docs (#19990)
Co-authored-by: bo0tzz <git@bo0tzz.me>
Co-authored-by: Nicholas Flamy <30300649+NicholasFlamy@users.noreply.github.com>
2025-08-06 21:16:28 +02:00
shenlong
c5c9a522c1
fix: remove drift map scrubber (#20723)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2025-08-06 13:40:06 -05:00
Brandon Wees
3cd7f5ab90
feat: use sqlite for logging (#20414)
* feat: use drift for logging

* fix: tests

* feat: use the truncate limit from constants.ts as default

* chore: move setupAll to top level and restructure

* chore: code review changes

* fix: inherits

* feat: raise log line limit to 2000

* limit getAll to 250 lines

* delete DLog and make LogRepository not a singleton

* fix: drift build settings and `make migration`

* fix: tests

* remove sensitive log

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-08-06 10:49:29 -05:00
Lauritz Tieste
f2067221c5
fix: disk info is cleared when profile picture is uploaded (#20411)
fix: update disk info on user profile image upload
2025-08-06 10:36:07 -05:00
Thomas
89598cf0be
chore(web): remove arbitrary search result limit (#20719)
The search results page can become unstable with large amounts of assets, and
has therefore been limited to displaying just 5000 assets. This limit is
arbitrary and may be too restrictive.
2025-08-06 10:12:52 -05:00
Mert
0121043d7d
refactor(mobile): sqlite-based map view (#20665)
* feat(mobile): drift map page

* refactor: map query

* perf: do not filter markers

* fix: refresh timeline by key

* chore: rename

* remove ref listen and global key

* clean code

* remove locked and favorite

* temporary change for stress test

* optimizations

* fix bottom sheet

* cleaner bounds check

* cleanup

* feat: back button

---------

Co-authored-by: wuzihao051119 <wuzihao051119@outlook.com>
Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-08-06 10:05:49 -05:00
patrickgoering
1ca46fbd98
fix: video thumbnail generation for short videos (#20629)
fix video thumbnail generation for short videos

ffmpeg gives conversion failed with error 234 for short mp4 files (less
than 10s) that where converted from m2ts. Longer videos work fine.

It looks like ffmpeg has no frames left to use for generating a
thumbnail.

This change fixes this issue and seems to not change the behaviour for
other mp4 files (same thumbnail before and after change)

This might also fix all mts file thumbnail generation.
2025-08-06 13:10:49 +00:00
shenlong
6ddef3a7e4
fix: server version not fetched after auto login (#20713)
* fix: server version not fetched after auto login

* wrap get info with a try catch

---------

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2025-08-06 08:01:16 -05:00
Brandon Wees
0d9ebdc46a
fix(mobile): show video controls when in locked view (#20707)
* fix(mobile): show video controls when in locked view

* const constructor
2025-08-06 07:58:54 -05:00
Zack Pollard
fa26d0de33
refactor: new helper methods that work for all sync queries (#20690)
refactor: new helper methods that work for all sync queries
2025-08-06 08:34:12 -04:00
Jason Rasmussen
a5760129f0
fix: custom-url ssr (#20704) 2025-08-05 23:29:01 +02:00
Gaurav Yadav
d430b869ac
fix: shared link custom URL photo access authentication (#20534) 2025-08-05 23:22:19 +02:00
Brandon Wees
4179c8a17d
fix(mobile): filter people that have less than 3 faces (#20705) 2025-08-05 21:16:13 +00:00
Zack Pollard
0a9cbf01d2
feat: ack sync reset (#20703) 2025-08-05 20:30:19 +00:00
Alex
9567a2a560
fix: delete local asset show twice (#20700)
* chore: better button width

* fix: delete local action show twice
2025-08-05 19:18:57 +00:00
renovate[bot]
58dd6f094c
chore(deps): update dependency @types/bcrypt to v6 (#20669)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-05 19:58:08 +02:00
Zack Pollard
02381343ff
fix: album asset sync must sync new assets in a shared album (#20655) 2025-08-05 17:53:51 +01:00
Mert
09a5963eee
fix(mobile): catch thumbnail cache miss (#20694)
catch error
2025-08-05 11:32:06 -05:00
Alex
a573a23c83
fix: empty custom header prevent logging in (#20693) 2025-08-05 16:14:21 +00:00
Brandon Wees
7118dca559
feat(mobile): album shared user editing (#20671)
* feat(mobile): album shared user editing

* fix: album leaving

* i18n and options button

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-08-05 15:31:58 +00:00
Brandon Wees
13d43e193e
feat(mobile): use custom headers when connecting in widget (#20666)
* feat(mobile): use custom headers when connecting in widget

* delete log in android widget

* chore: code review changes
2025-08-05 10:29:27 -05:00
Brandon Wees
7a7843467c
feat(mobile): remove from album in asset viewer bar (#20672)
* feat: remove from album in asset viewer bar

* chore: move button to bottom bar instead of bottom sheet

* move back to bottom sheet

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-08-05 15:20:55 +00:00
Mert
9e6fee4064
fix(mobile): use cached thumbnail in full size image provider (#20637) 2025-08-05 10:20:25 -04:00
shenlong
9680f1290d
fix: exclude assets that haven't been hashed yet from uploads (#20684)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2025-08-05 08:35:25 -05:00
renovate[bot]
ce2ea98926
fix(deps): update typescript-projects (#20396)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Zack Pollard <zackpollard@ymail.com>
2025-08-05 12:45:47 +00:00
renovate[bot]
5c76cc34e1
chore(deps): update node.js to v22.18.0 (#20662)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-05 11:01:15 +00:00
renovate[bot]
eb2f4c866e
chore(deps): update dependency eslint-plugin-unicorn to v60 (#20677)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Zack Pollard <zackpollard@ymail.com>
2025-08-05 10:58:13 +00:00
renovate[bot]
2a370087e8
chore(deps): update dependency @types/node to ^22.17.0 (#20657)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-05 11:56:53 +01:00
renovate[bot]
272c8a5812
chore(deps): update grafana/grafana docker tag to v12.1.0 (#20661)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-05 11:56:05 +01:00
renovate[bot]
08fe549ed8
chore(deps): update base-image to v202507291116 (major) (#20668)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-05 11:54:37 +01:00
renovate[bot]
ae15efdf2a
chore(deps): update dependency pigeon to v26 (#20678)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Zack Pollard <zackpollard@ymail.com>
2025-08-05 10:52:03 +00:00
renovate[bot]
8e003f95db
chore(deps): update github/codeql-action action to v3.29.5 (#20656)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-05 11:44:50 +01:00
Brandon Wees
3e92e837f1
feat(mobile): create shared link for albums (#20652)
* feat(mobile): create shared link for albums

* translation

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-08-05 01:51:45 +00:00
Brandon Wees
081307ced2
fix: expand sheet when album search is focused (#20651)
* fix: expand sheet when album search is focused

* convert GeneralBottomSheet to ConsumerStatefulWidget

* fix: cleaning up

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-08-04 20:35:57 -05:00
Michael
a91bb399f0
feat: add server.versionCheck permission (#20555)
* add server.versionCheck permission

* getVersionCheck is no admin-route
2025-08-04 17:39:05 -05:00
Brandon Wees
42b78c59b5
fix(mobile): disable memory lane when memories are disabled (#20642)
* fix(mobile): disable memory lane when memories are disabled

* Update main_timeline.page.dart

* fix: formatting

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-08-04 22:34:28 +00:00
Brandon Wees
750d21aeba
fix(mobile): use storageIndicator setting for beta timeline (#20639)
* fix: use storageIndicator setting for beta timeline

* fix: reactively update the storage indicator icons when setting is changed

* Update drift_trash.page.dart

* override to bool for storageIndicator
2025-08-04 17:25:58 -05:00
Paweł Wojtaszko
990d9ba9a8
fix: adjust margin and gap for trailing elements in control app bar (#20645) 2025-08-04 17:24:19 -05:00
Brandon Wees
4d0c9172e5
fix: not clearing local data when logging out while sync is running (#20646) 2025-08-04 17:14:26 -05:00
Brandon Wees
094e3a2757
fix(mobile): cleanly handle logout when no host is set (#20521)
* fix: cleanly handle logging out when no host is set on API

* move conditional to auth_api repo
2025-08-05 03:11:58 +05:30
Zack Pollard
278668b8c5
fix: improvements to sync and upload when resuming app (#20524)
- App will now kick off hashing after local sync if the lifecycle is in resumed or active state
- We now wait for hashing to complete before we kick off the upload process
2025-08-05 03:11:44 +05:30
cford256
10141504a2
fix: exif rating rounding (#20457)
* fix_Exlif_Metadata_Rating_Rounding_to_Interger

Rounding Exlif Rating Interger
Images support having numbers other than integers for the rating metadata in EXLIF. The database expects it to be an integer though. Trying to upload an image that has a rating other than an integer results in it failing to parse the image and defaulting to showing a corrupted file icon. 

Rather than changing the database type, I would like to round the rating to the nearest integer so that Immich works with images that have a rating like this in their metadata.

* Changing Metadata validateRange to always round.

* Update server/src/services/metadata.service.ts

Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com>

---------

Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com>
2025-08-04 14:29:51 -05:00
Brandon Wees
67736c8fce
fix(mobile): fetch serverConfig before building shared link (#20638)
fix(mobile): fetch serverConfig before trying to pull externalDomain for new shared link
2025-08-04 14:28:43 -05:00