feat(web/server): adding recently added view (#8716)#26800
Open
brucethomax wants to merge 75 commits intoimmich-app:mainfrom
Open
feat(web/server): adding recently added view (#8716)#26800brucethomax wants to merge 75 commits intoimmich-app:mainfrom
brucethomax wants to merge 75 commits intoimmich-app:mainfrom
Conversation
2e8cdc7 to
e902f03
Compare
c8d42dd to
f73c24f
Compare
f92bb45 to
110da77
Compare
Author
|
Ready for review! Let me know what I can improve/refactor. Looking forward to feedback on my first contribution! Thanks! 🙏 |
Author
|
I am not sure why these are failing or timing out. Would someone be able to provide some insight or advice? Thanks! |
…mich-app#26726) * fix(migration): restrict trashed asset migration to Android platform * playbackStyle migration add different log depending on platform
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
It's not being used right now; can always add it back :P
Videos have recently been changed to support zooming, but this can make the controls in the centre of the screen unergonomic as they will either stay in the centre when dismissing, or stick to the video when zooming. Neither is great. We should align the behaviour with other apps which has the play/pause toggle at the bottom of the screen with the seeker bar instead. Co-authored-by: Alex <alex.tran1502@gmail.com>
immich-app#26807) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
The numbers in the backup page are not monospace, and so changes cause the layout to shift. Using tabular figures (monospace) will prevent that. Refs: immich-app#25021
…ility (immich-app#26678) - Precise font sizing using canvas measureText instead of character-count heuristic - Fix overlay repositioning on viewport resize by computing metrics from reactive state instead of DOM reads - Fix animation delay on resize by using transition-colors instead of transition-all - Add keyboard accessibility: OCR boxes are focusable via Tab with reading-order sort - Show text on focus (same styling as hover) with proper ARIA attributes
remove server url Co-authored-by: Alex <alex.tran1502@gmail.com>
* feat(mobile): open in browser * chore: open in browser instead of webview * chore: allow archived asset * fix: moved openinbrowser above unstack * feat: deeplink into favorites, trash & archived * fix: use remoteId (for tests to succeed) --------- Co-authored-by: Alex <alex.tran1502@gmail.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Ensure that all files are flushed after they've been written. At current, files are not explicitly flushed to disk, which can cause data corruption. In extreme circumstances, it's possible that uploaded files may not ever be persisted at all.
…mmich-app#26944) * fix(web): allow pasting PIN code from clipboard or password manager The keydown handler was blocking Ctrl+V/Cmd+V since it called preventDefault() on all non-numeric keys. Also adds an onpaste handler to distribute pasted digits across the individual inputs. * refactor: handle paste in handleInput, remove maxlength * cleanup + fix digit focus --------- Co-authored-by: Preslav Penchev <preslav.penchev@acronis.com> Co-authored-by: Michel Heusschen <59014050+michelheusschen@users.noreply.github.com>
Sometimes the current asset won't update when deleted, or it won't refresh until an event (like showing details) happens.
* fix: filter after searching by asset id * Update web/src/lib/modals/SearchFilterModal.svelte Co-authored-by: Michel Heusschen <59014050+michelheusschen@users.noreply.github.com> --------- Co-authored-by: Michel Heusschen <59014050+michelheusschen@users.noreply.github.com>
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/af/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/ar/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/be/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/bg/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/bn/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/ca/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/cs/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/da/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/de/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/de_CH/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/el/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/eo/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/es/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/et/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/eu/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/fi/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/fr/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/ga/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/gl/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/gsw/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/gu/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/he/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/hi/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/hu/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/id/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/it/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/ja/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/km/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/kn/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/ko/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/lt/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/lv/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/ml/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/ms/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/nb_NO/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/nl/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/pl/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/pt/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/pt_BR/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/ro/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/ru/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/sk/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/sl/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/sr_Cyrl/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/sr_Latn/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/sv/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/te/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/th/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/tr/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/uk/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/vi/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/yue_Hant/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/zh_Hans/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/zh_Hant/ Translation: Immich/immich Co-authored-by: -J- <heyj0e@tuta.io> Co-authored-by: Abdullah Atsa <abdullahatsauban@gmail.com> Co-authored-by: Adam Havránek <adamhavra@seznam.cz> Co-authored-by: Ahmed Hamdy <ahmedhamdy19375@gmail.com> Co-authored-by: Ahmed Khaleel Shihab <ahmed91shihab@gmail.com> Co-authored-by: Aindriú Mac Giolla Eoin <aindriu80@gmail.com> Co-authored-by: Aleksa Milošević <akimaki15@gmail.com> Co-authored-by: Anton Palmqvist <apq@users.noreply.hosted.weblate.org> Co-authored-by: Antón Gómez López <antongomez03@gmail.com> Co-authored-by: Arif Budiman <arifpedia@gmail.com> Co-authored-by: Balázs R <nvi9@outlook.hu> Co-authored-by: Baptiste Mille-Mathias <baptiste.millemathias@alcmeon.com> Co-authored-by: Berkay Görgülü <berthanas@gmail.com> Co-authored-by: Bora Atıcı <boratici.acc@gmail.com> Co-authored-by: CHUNG, Jin-ho <doctorjinho@gmail.com> Co-authored-by: Cesare Capo <cescapo@icloud.com> Co-authored-by: Chintan Prajapati <chintan9@student.fdu.edu> Co-authored-by: Denis Pacquier <denis.pacquier@gmail.com> Co-authored-by: DevServs <bonov@mail.ru> Co-authored-by: Dusan Hlavaty <dhlavaty@gmail.com> Co-authored-by: Dymitr <zasvab@gmail.com> Co-authored-by: Dániel Gál <galdaniel.school@gmail.com> Co-authored-by: Emanuel Santos Martins <santosmartinsemanuel@gmail.com> Co-authored-by: Emanuele La Mura <acedit.wcry@gmail.com> Co-authored-by: Farkas Rábai <farkasrabai@gmail.com> Co-authored-by: Fjuro <fjuro@users.noreply.hosted.weblate.org> Co-authored-by: Floruit <1964993179@qq.com> Co-authored-by: Frank Paul Silye <frankps@gmail.com> Co-authored-by: Gabriel <jellyfin.sensitize624@passmail.net> Co-authored-by: Gideon Wentink <gjwentink@gmail.com> Co-authored-by: Goran Aničin <anicin.goran@gmail.com> Co-authored-by: HackingAll <hacking.all.YT@gmail.com> Co-authored-by: Happy <59247878+happy2452354@users.noreply.github.com> Co-authored-by: Haru Ijima <haruijimakun@gmail.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: IMPERA <rickbrouwer2005premium@gmail.com> Co-authored-by: Ian.Su <stu92116stu92116@hotmail.com.tw> Co-authored-by: Immich <weblate@immich.app> Co-authored-by: Indrek Haav <indrek.haav@hotmail.com> Co-authored-by: IsakBH <isak@brunhenriksen.net> Co-authored-by: Ismail <binhelati@gmail.com> Co-authored-by: Ivan Dimitrov <idimitrov08@gmail.com> Co-authored-by: Jannik Norden <development.jnorden@outlook.com> Co-authored-by: Jeppe Nellemann <jepnel@proton.me> Co-authored-by: Joseph <josephlegrand33+hosted.weblate.org@gmail.com> Co-authored-by: Jozef Gaal <preklady@mayday.sk> Co-authored-by: Junghyuk Kwon <kwon@junghy.uk> Co-authored-by: KW Lam <kwlam281@gmail.com> Co-authored-by: Kaushal Patel <kaushalpatel1982@gmail.com> Co-authored-by: Kim Hokyeong <manmen.mi1375@gmail.com> Co-authored-by: Krzysztof <doom.zg@gmail.com> Co-authored-by: Leo Bottaro <github@leobottaro.com> Co-authored-by: Leon S <leonnis16@gmail.com> Co-authored-by: Liviu Roman <contact@liviuroman.com> Co-authored-by: Londoneye02 <jcdelcaz@gmail.com> Co-authored-by: Luca Beyer <trickobert@gmail.com> Co-authored-by: Lukas Konsin <lukaskonsin@proton.me> Co-authored-by: Madipodo <madipo@posteo.de> Co-authored-by: Marc Casillas <mcasillassu@gmail.com> Co-authored-by: MarcSerraPeralta <marcserraperalta@gmail.com> Co-authored-by: Marian Wolf <marian.wolf2008@gmail.com> Co-authored-by: Matjaž T. <matjaz@moj-svet.si> Co-authored-by: Mayukh Roy <mayukhroy2020@gmail.com> Co-authored-by: Mees Frensel <meesfrensel@gmail.com> Co-authored-by: Meet Bhingradiya <meetbhingradiya36@gmail.com> Co-authored-by: Michel Heusschen <59014050+michelheusschen@users.noreply.github.com> Co-authored-by: MrZapp-LM <paul.lutz@lichtermacher.at> Co-authored-by: Muhammad Ivan Aldorino <ivanaldorino@gmail.com> Co-authored-by: Mykola Vaskevych <22372199@studentmail.ul.ie> Co-authored-by: Mārtiņš Bruņenieks <martinsb@gmail.com> Co-authored-by: Olaf Nielsen <solluh@mail.de> Co-authored-by: PPNplus <ppnplus@protonmail.com> Co-authored-by: PaCoalt <pschwarzwaelder@yahoo.com> Co-authored-by: Petri Hämäläinen <petri.hamalainen@mailbox.org> Co-authored-by: Philip Goto <philip.goto@gmail.com> Co-authored-by: Philipp Frauenfelder <philipp.frauenfelder@gmail.com> Co-authored-by: PhillyMay <mein.alias@outlook.com> Co-authored-by: Phyruos <phyruos@gmail.com> Co-authored-by: Predrag Milićević <predragmilicevic@gmail.com> Co-authored-by: Psycho <unhomen@gmail.com> Co-authored-by: Ramon \"9Tails\" Canales <emaildoramon@gmail.com> Co-authored-by: Rebelder <bas+github@bbelder.eu> Co-authored-by: Reo7s <biz@reo-ang.net> Co-authored-by: Roger Veciana Rovira <rveciana@gmail.com> Co-authored-by: Roman Fedorchuk <roma.fedorchuk@gmail.com> Co-authored-by: Ruben Silva <ruben02b@gmail.com> Co-authored-by: Shadi Alrashoodi <shadifaisal91@gmail.com> Co-authored-by: Shashibhushan Singh <shashibhushansingh11@gmail.com> Co-authored-by: Shawn <xiaxinx@gmail.com> Co-authored-by: Shihfu Juan <xlion@xlion.tw> Co-authored-by: Skanda <skillwiz94@gmail.com> Co-authored-by: Sylvain Pichon <service@spichon.fr> Co-authored-by: TA <tobi@warsnich.de> Co-authored-by: TV Box <realceday.tvbox@gmail.com> Co-authored-by: Thomas Grimstad <solmester@gmail.com> Co-authored-by: Thomas Vente <thomas.vente@gmail.com> Co-authored-by: Tim Morley <weblate.3919org@timsk.org> Co-authored-by: TobnacTobi <Tobias.Schrull@gmx.de> Co-authored-by: Toivo Schmale <thetoicraft@gmail.com> Co-authored-by: Tomo Tomov <tomotomov92@gmail.com> Co-authored-by: Ugnius <kaugnius@gmail.com> Co-authored-by: Ulices <hasecilu@tuta.io> Co-authored-by: Ulpi Antor <weblate.residual441@passmail.net> Co-authored-by: Unn Krigul <unn@arter.studio> Co-authored-by: User 123456789 <user123456789@users.noreply.hosted.weblate.org> Co-authored-by: Vallabh Sharma <srivallabhsharma@gmail.com> Co-authored-by: Vegard Fladby <vegard@fladby.org> Co-authored-by: Viesturs <viesturs.sprogis@outlook.com> Co-authored-by: Vivek M <vivekmalhotra004@gmail.com> Co-authored-by: Vixepti <contact@vixepti.fr> Co-authored-by: Xo <xocodokie@users.noreply.hosted.weblate.org> Co-authored-by: Zawaer <zawarudo123pro@gmail.com> Co-authored-by: anton garcias <isaga.percompartir@gmail.com> Co-authored-by: ashraf0484 <t.sashraf@gmail.com> Co-authored-by: bittin1ddc447d824349b2 <bittin@reimu.nl> Co-authored-by: chamdim <chamdim@protonmail.com> Co-authored-by: dimitrijeforesta <dimitrije.foresta@gmail.com> Co-authored-by: eav5jhl0 <eav5jhl0@users.noreply.hosted.weblate.org> Co-authored-by: jellebuitenhuis <github@jellebuitenhuis.nl> Co-authored-by: kylo32 <kylo32@gmail.com> Co-authored-by: l m <virtuamoo@gmail.com> Co-authored-by: millallo <millallo@tiscali.it> Co-authored-by: muziqaz <muziqaz@users.noreply.hosted.weblate.org> Co-authored-by: mycodeco <victorschiellerup@gmail.com> Co-authored-by: nachtpfoetchen <nachtpfoetchen@posteo.de> Co-authored-by: pyccl <changcongliang@163.com> Co-authored-by: stesoma <soma.steltzer@gmail.com> Co-authored-by: techmoocher 🦊 <ndvphuc276@gmail.com> Co-authored-by: timmy61109 <qazzxcasdqwewsxedc@gmail.com> Co-authored-by: waclaw66 <waclaw66@seznam.cz> Co-authored-by: 안세훈 <on9686@gmail.com>
Member
|
I think something went wrong with that rebase 🫣 |
|
@brucethomax someone fixed your issue #8716 |
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
#8716
This adds a "recently added" section to the sidebar. This should work with external libraries and uploads.
How Has This Been Tested?
Automated tests have been added for the timeline.service to make sure the option is passed thru and asset.repository tests to make sure everything is backwards compatible.
Added a new timeline view sorted by createdAt rather than localDateTime Added a new route `/recently-added` Added a new input enum to the client/dto `AssetDateField` (open to naming suggestions) Added new output fields to return the createdAt and createdOffestHours accumulators rather than switching on the fields (open to ideas). Add an index to the asset table for `createdAt`, `asset_createdAt_month_idx` which might be overkill - we can remove and add later if necessary. Added a "Uploaded" time (resusing the existing translation) for the asset details.Screenshots (if appropriate)
API Changes
/timeline/buckets/timeline/bucketOnly these needed to be changed to accept a new field in the
TimeBucketDtoforAssetDateFieldwith the backwards compatible defaulting to thelocalDateTimeDetails are easy to parse in the commit.
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.
I used it to sketch out the basic idea, then had to completely blow it away since it's didn't follow existing codebase patterns. Helped with a few tests, yet still had to manually update them.