Thomas
1772f720bf
fix(mobile): reset video controls hide timer when showing controls ch… ( #26985 )
...
fix(mobile): reset video controls hide timer when showing controls changes
The hide timer currently only resets when the status of the video
changes, but does not account for when the controls change. This means
that two things happen:
1. The hide timer does not reset when the controls become visible
again, the controls will stay visible forever or until the playback
status changes.
2. The hide timer will fire too quickly, and will hide the controls
much sooner than 5 seconds if the controls are hidden and then shown
again before the hide timer fires.
2026-04-04 16:12:56 -05:00
Thomas
bcc29903de
chore(mobile): persist video controls visibility when swiping ( #26986 )
...
At current, the controls for videos are always hidden when opening an
asset from the timeline, and when swiping between assets. The latter is
actually quite annoying, so it would be better UX if video controls were
hidden when opening from the timeline like before, but visibility of the
controls was retained when swiping between assets.
2026-04-04 16:11:59 -05:00
Thomas
767caf9bfe
fix(mobile): ignore pointer events on toasts ( #26990 )
...
These toasts can sometimes cover UI elements and make them impossible to
interact with until they are dismissed. Specifically, deleting an asset
will show a toast over the video controls and prevent seeking.
2026-04-04 10:39:13 -05:00
Min Idzelis
649d14822a
refactor(web): rename MonthGroup to TimelineMonth ( #27447 )
...
Rename MonthGroup class to TimelineMonth to better convey that it represents a single month within the timeline. Updates the file, class, and all references across 16 files.
Change-Id: Id50fd6d4b7d0e431571b67c0f81c0e316a6a6964
2026-04-03 13:27:12 -04:00
Jason Rasmussen
207672c481
fix: user-agent format ( #27488 )
...
* fix: user-agent format
* ci: fix static analysis
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-04-03 12:26:50 -04:00
John Maguire
4fcd9c2e0d
feat: add preview button when selecting images ( #27305 )
...
* Add preview button when selecting images
* Fix test helper
* prettier
* styling
---------
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2026-04-03 16:21:43 +00:00
renovate[bot]
a2687d674e
chore(deps): update dependency lodash-es to v4.18.1 [security] ( #27448 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-03 18:16:05 +02:00
renovate[bot]
fb1bc7f9e2
chore(deps): update dependency lodash to v4.18.1 [security] ( #27461 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-03 18:15:31 +02:00
Mert
18e8d30b1c
fix(server): double exif join ( #27485 )
2026-04-03 18:14:46 +02:00
Vogeluff
95ef60628c
fix(web): always show search type button ( #27043 )
...
* fix(web): always show search type button
* fix(web): formatting fixes
* fix(web): search-type-button inactive styling outline/secondary
* chore: styling
---------
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2026-04-03 15:37:03 +00:00
Mees Frensel
a19b7148e5
feat(web): use ui meter component for storage ( #27459 )
2026-04-03 09:36:22 -05:00
Weblate (bot)
8e414e42f3
chore(web): update translations ( #27029 )
...
Co-authored-by: -J- <heyj0e@tuta.io>
Co-authored-by: Aindriú Mac Giolla Eoin <aindriu80@gmail.com>
Co-authored-by: André Nøbbe Christiansen <andre@nobbe.dk>
Co-authored-by: Arif Budiman <arifpedia@gmail.com>
Co-authored-by: Chao En, Kuo <daniel970275@gmail.com>
Co-authored-by: Cornelius Christiansen <christiansen.cornelius@gmail.com>
Co-authored-by: David Kurniawan <kurniawandavid17@gmail.com>
Co-authored-by: DevServs <bonov@mail.ru>
Co-authored-by: Deyan Stamboliev <deyan.stamboliev@gmail.com>
Co-authored-by: Fatah Rokbi <fatahrokbi@gmail.com>
Co-authored-by: Felipe Gomes <seutiaoemporio@gmail.com>
Co-authored-by: Fjuro <fjuro@users.noreply.hosted.weblate.org>
Co-authored-by: Francesco Miccoli <fra03mi@gmail.com>
Co-authored-by: Frank Paul Silye <frankps@gmail.com>
Co-authored-by: Gideon Wentink <gjwentink@gmail.com>
Co-authored-by: HackingAll <hacking.all.YT@gmail.com>
Co-authored-by: Hakan <gucsav@yahoo.com>
Co-authored-by: Hans Cats <hanscats@gmail.com>
Co-authored-by: Happy <59247878+happy2452354@users.noreply.github.com>
Co-authored-by: Hosted Weblate user 85894 <reo7s@users.noreply.hosted.weblate.org>
Co-authored-by: Hurricane_32 <rodrigorimo@hotmail.com>
Co-authored-by: Indrek Haav <indrek.haav@hotmail.com>
Co-authored-by: Indrek Haav <indrekhaav@users.noreply.hosted.weblate.org>
Co-authored-by: Ivan Dimitrov <idimitrov08@gmail.com>
Co-authored-by: Jarek Iwanus <jiwanus@proton.me>
Co-authored-by: Jeppe Nellemann <jepnel@proton.me>
Co-authored-by: JiZPaper <JiZPaper@gmail.com>
Co-authored-by: Joseph <josephlegrand33+hosted.weblate.org@gmail.com>
Co-authored-by: Jozef Gaal <preklady@mayday.sk>
Co-authored-by: Link Notig <TestMailProtonWhyNot@protonmail.com>
Co-authored-by: Marin Čorkalo <mcorkalo@gmail.com>
Co-authored-by: Marwan Jalaleddine <marwanjalaleddine@gmail.com>
Co-authored-by: Matjaž T. <matjaz@moj-svet.si>
Co-authored-by: Matthias Hirsch <ma.hirsch.hh@gmail.com>
Co-authored-by: Michel Heusschen <59014050+michelheusschen@users.noreply.github.com>
Co-authored-by: Niklas Trautwein <jniklast@gmail.com>
Co-authored-by: Olaf Nielsen <solluh@mail.de>
Co-authored-by: Oleksandr Yurov <oyurov@icloud.com>
Co-authored-by: Oscar Guillén <osguima3@gmail.com>
Co-authored-by: PigeonPeak <pigeonpeak@proton.me>
Co-authored-by: PontusÖsterlindh <pontus@osterlindh.com>
Co-authored-by: Psycho <unhomen@gmail.com>
Co-authored-by: Roi Gabay <roigby@gmail.com>
Co-authored-by: Runskrift <anders@rimfrost.nu>
Co-authored-by: Sepehr Behroozi <sep.behroozi@gmail.com>
Co-authored-by: Shimul Roy <stenasaha@gmail.com>
Co-authored-by: Skanda <skillwiz94@gmail.com>
Co-authored-by: Sylvain Pichon <service@spichon.fr>
Co-authored-by: Szymon Kucharski <szymon.kucharski5@gmail.com>
Co-authored-by: TA <tobi@warsnich.de>
Co-authored-by: TV Box <realceday.tvbox@gmail.com>
Co-authored-by: Tage Lauritsen <tage@tunenet.dk>
Co-authored-by: Tim Morley <weblate.3919org@timsk.org>
Co-authored-by: UDP <udp@users.noreply.hosted.weblate.org>
Co-authored-by: Vegard Fladby <vegard@fladby.org>
Co-authored-by: Xo <xocodokie@users.noreply.hosted.weblate.org>
Co-authored-by: Yllelder <yllelder@gmail.com>
Co-authored-by: anton garcias <isaga.percompartir@gmail.com>
Co-authored-by: bittin1ddc447d824349b2 <bittin@reimu.nl>
Co-authored-by: bural <bural@mailbox.org>
Co-authored-by: chamdim <chamdim@protonmail.com>
Co-authored-by: dacx910 <dacx910@users.noreply.hosted.weblate.org>
Co-authored-by: dark fury <nodo05nodo05@gmail.com>
Co-authored-by: dark&white <darkwhite@users.noreply.hosted.weblate.org>
Co-authored-by: dvbthien <dvbthien@users.noreply.hosted.weblate.org>
Co-authored-by: fabiosequeira <fabio.sequeira.t0126448@edu.atec.pt>
Co-authored-by: josu. <josugarralda@gmail.com>
Co-authored-by: kylo32 <kylo32@gmail.com>
Co-authored-by: millallo <millallo@tiscali.it>
Co-authored-by: muziqaz <muziqaz@users.noreply.hosted.weblate.org>
Co-authored-by: pcnc <paul@cioanca.eu>
Co-authored-by: pyccl <changcongliang@163.com>
Co-authored-by: pythoncontroller <zinovlaun@gmail.com>
Co-authored-by: stefano trubian <trubianstefano@gmail.com>
Co-authored-by: waclaw66 <waclaw66@seznam.cz>
Co-authored-by: walpeDEV <walpe.aw@proton.me>
Co-authored-by: தமிழ்நேரம் <tamilneram247@gmail.com>
Co-authored-by: 藍焰-0Blue_Yan0 <jim080825@gmail.com>
2026-04-03 00:04:17 +01:00
Zack Pollard
db0f86c749
feat: move version checks to our own infrastructure ( #27450 )
2026-04-02 23:32:26 +01:00
Jason Rasmussen
adb6b39eec
fix: migrations ( #27477 )
2026-04-02 17:49:26 -04:00
Jason Rasmussen
c8ae99e7d7
fix: escape html ( #27469 )
2026-04-02 15:19:24 -04:00
Alex
37823bcd51
feat: create new person in face editor ( #27364 )
...
* feat: create new person in face editor
* add delay
* fix: test
* i18n
* fix: unit test
* pr feedback
2026-04-02 15:28:40 +00:00
Mees Frensel
b465f2b58f
fix: scrollbar ui theme colors ( #27455 )
2026-04-02 10:18:47 -05:00
Min Idzelis
2166f07b1f
refactor(web): rename DayGroup to TimelineDay ( #27446 )
...
Rename DayGroup class to TimelineDay to better convey that it represents
a single day within the timeline. Updates the file, class, and all
references across 13 files.
Change-Id: I9faef9bad73cd5b11f40daaf5eb140dd6a6a6964
2026-04-01 19:30:54 -04:00
Min Idzelis
c9e251c78c
feat(web): highlight active person thumbnail in detail panel and edit faces panel ( #27401 )
...
- Dim non-hovered person thumbnails to 40% opacity when any face is active
- Add ring highlight on the active person's thumbnail
- Add focus-visible outline styling for keyboard navigation
- Apply same treatment to both detail panel people section and edit faces side panel
Change-Id: I4ac10fe4568b95f3e0e8d9104133180f6a6a6964
Co-authored-by: Alex <alex.tran1502@gmail.com>
2026-04-01 10:49:09 -05:00
Mees Frensel
da4b88fc14
fix(web): transition bg and border-radius ( #27438 )
...
* fix(web): transition bg and border-radius
* also transition thumb
2026-04-01 09:34:49 -05:00
okxint
d1e2e8ab4e
fix(server): use substring matching for person name search ( #26903 )
2026-04-01 13:31:54 +00:00
Timon
2a619d3c10
fix(web): Enable stack selector in shared album view ( #24641 )
2026-04-01 15:19:14 +02:00
Brandon Wees
c29493e3a0
fix: withFilePath select edited or unedited file ( #27328 )
...
* fix: withFilePath select edited or unedited file
* chore: test
2026-04-01 08:19:38 -04:00
renovate[bot]
4ef777d145
chore(deps): update dependency handlebars to v4.7.9 [security] ( #27334 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-01 08:17:58 -04:00
renovate[bot]
0b40f4fd76
chore(deps): update dependency happy-dom to v20.8.9 [security] ( #27350 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-01 08:16:45 -04:00
bo0tzz
ecba4e2a62
chore: tee GITHUB_OUTPUT for debugging ( #27378 )
2026-04-01 08:15:43 -04:00
Michel Heusschen
4eb531197e
fix(web): prevent AssetUpdate from adding unrelated timeline assets ( #27369 )
2026-04-01 08:14:28 -04:00
Alex
505a07a825
feat: add move to lock folder in folder view ( #27384 )
2026-04-01 08:10:39 -04:00
Robin Meese
548dbe8ad6
feat(docs): add keycloack example to oauth docs ( #27425 )
2026-04-01 13:39:36 +02:00
renovate[bot]
0c184940f4
chore(deps): update github-actions ( #27416 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-31 15:58:36 +00:00
Channing Bellamy
be180fd9da
fix: detection of WebM container ( #24182 )
2026-03-31 11:44:51 -04:00
renovate[bot]
859f58174e
chore(deps): update node.js to v24.14.1 ( #27412 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-31 12:46:38 +02:00
renovate[bot]
a6c7e76008
chore(deps): update grafana/grafana docker tag to v12.4.2 ( #27411 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-31 12:39:33 +02:00
renovate[bot]
0ff94213e6
chore(deps): update dependency exiftool-vendored to v35.15.1 ( #27415 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-31 12:39:11 +02:00
Yaros
6b1dd6f680
fix(mobile): favorite button not updating state ( #27271 )
2026-03-30 21:24:56 -05:00
Min Idzelis
7d4286bbc5
fix(web): add drop shadow to asset viewer nav bar and prevent button shrinking ( #27404 )
...
- Add subtle drop shadow to the asset viewer nav bar for better visual
separation from the image behind it
- Add drop shadow to the OCR text recognition button in the lower right
- Prevent nav bar action buttons from shrinking to nothing by adding
*:shrink-0 to the flex container, with p-1/-m-1 to avoid clipping
focus outlines
Change-Id: I61cdc0ec66a65cde1c95b40c2c5428006a6a6964
2026-03-30 19:22:10 -05:00
Min Idzelis
18201a26d9
feat(web): OCR overlay interactivity during zoom ( #27039 )
...
Change-Id: Id62e1a0264df2de0f3177a59b24bc5176a6a6964
2026-03-30 19:19:53 -05:00
Daniel Dietzler
a2e3635ac9
chore: use esm global import ( #27408 )
2026-03-31 00:22:07 +02:00
Min Idzelis
ce346bf956
feat(web): dim photo outside hovered face bounding box ( #27402 )
...
When hovering over a detected face in the photo viewer, an SVG mask overlay
dims the rest of the image (40% black) while leaving the hovered face fully
visible. The overlay fades in/out smoothly via CSS opacity transition by
freezing the last highlighted box positions in state, preventing the overlay
from popping off instantly when the mouse leaves.
Change-Id: I07e2eb2b297820ec89812785fe7943846a6a6964
2026-03-30 16:16:38 -05:00
Mert
a1a2939868
fix(mobile): low upload timeout on android ( #27399 )
...
fix timeout
2026-03-30 16:05:21 -05:00
renovate[bot]
e8309585d6
fix(deps): update dependency nodemailer to v8 [security] ( #27351 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-30 19:44:39 +02:00
Jason Rasmussen
17d4941089
refactor: asset select manager ( #27330 )
2026-03-30 15:45:57 +01:00
Tony Fung
b09ebb11e9
perf(server): optimize people page query ( #27346 )
...
Optimize People page query: modified SQL to use index for faster performance
2026-03-28 21:33:05 +00:00
Nicolas-micuda-becker
181b028b09
fix(web): keep upload totals stable when dismissing items ( #27247 ) ( #27354 )
...
* fix(web): keep upload totals stable when dismissing items (#27247 )
* chore: remove package-lock.json
---------
Co-authored-by: bwees <brandonwees@gmail.com>
2026-03-28 16:25:44 -05:00
bo0tzz
eb20b715e4
fix: don't auto-close manually reopened PRs ( #27347 )
2026-03-28 12:50:09 +00:00
Luis Nachtigall
a277c6311f
fix(mobile): streamline error handling for live photo saving ( #27337 )
2026-03-27 19:07:38 -05:00
Jason Rasmussen
5889c42eb6
refactor: asset select manager ( #27329 )
2026-03-27 14:23:33 -04:00
Jason Rasmussen
14cce0cba3
refactor: asset select manager ( #27327 )
2026-03-27 13:48:51 -04:00
Jason Rasmussen
9b80ffd9c6
refactor: selection mananger ( #27325 )
2026-03-27 12:41:52 -04:00
Luis Nachtigall
306a3b8c7f
fix(mobile): images loads sometimes cancel too early ( #27067 )
...
* refactor listener tracking for image stream completers and fix early cancel call
* fix: improve cache listener identification in image stream tracking
* add documentation and test cases for listener tracking in ImageStreamCompleter
* fix: remove unnecessary image provision flag from listener tracking
* fix: override setImage method in cache aware listener tracker mixin
* fix: rename test file
2026-03-27 10:35:50 -04:00