Commit graph

1273 commits

Author SHA1 Message Date
weathondev
f5c4af73aa
feat: adding photo & video storage space to server stats (#14125)
* expose detailed user storage stats + display them in the storage per user table

* chore: openapi & sql

* fix: fix test stubs

* fix: formatting errors, e2e test and server test

* fix: upper lower case typo in spec file

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2024-11-15 16:38:57 -06:00
Michel Heusschen
24ae4ecff1
fix(web): don't refresh panorama viewer when modifying asset (#14163) 2024-11-15 16:30:38 -06:00
Michel Heusschen
64a7baec8c
refactor(web): remove reactivity triggers (#14164) 2024-11-15 16:28:28 -06:00
Michel Heusschen
a60209db3e
fix(web): prevent infinite loop when modifying stacked asset (#14162) 2024-11-15 07:16:56 -05:00
Michel Heusschen
1b5811d992
fix(web): allow selecting people after clearing search options (#14146) 2024-11-14 09:59:50 -06:00
Michel Heusschen
1fa0122eda
fix(web): update description height when navigating between assets (#14145) 2024-11-14 09:59:30 -06:00
Alex
d1085e8a02
chore(web): move enum out of .svelte file (#14144)
* chore(web): clean up todo task

* chore(web): move enums out of .svelte file
2024-11-14 15:41:11 +00:00
Michel Heusschen
d6a70bc7e5
fix(web): saving pasted coordinates (#14143) 2024-11-14 15:21:40 +00:00
Michel Heusschen
d3fe238eef
fix(web): ensure current asset index stays within bounds (#14013) 2024-11-14 09:05:36 -06:00
Alex
0b3742cf13
chore(web): migration svelte 5 syntax (#13883) 2024-11-14 08:43:25 -06:00
Michel Heusschen
586393f178
fix(web): use locale for scrubber label when scrolling (#14012) 2024-11-08 15:36:26 -05:00
Alex
06e0ba29f8
chore(web): scrubber animation (#13936)
* chore(web): scrubber animation

* minor styling
2024-11-05 13:55:20 -05:00
cfitzw
6bfc20ef95
feat: render asset path (#13873)
render asset path
2024-11-02 13:27:40 -05:00
Daniel Dietzler
eadcbd52fb
chore: svelte 5 🎉 (#13738)
chore: svelte 5

Co-authored-by: Michel Heusschen <59014050+michelheusschen@users.noreply.github.com>
Co-authored-by: Ben McCann <322311+benmccann@users.noreply.github.com>
2024-11-02 10:49:07 -05:00
Mert
b9096f3e99
feat(server): use tonemapx for software tone-mapping (#13785) 2024-10-31 20:48:23 -04:00
Zack Pollard
16027678ee
chore: move library settings cron expression to setting select element (#13856) 2024-10-31 15:06:53 +00:00
Zack Pollard
7d933ec97a
feat: built-in automatic database backups (#13773) 2024-10-31 11:29:42 +00:00
Alex
244c8cb4d4
feat(web): scrubber label and animation (#13815)
* feat(web): scrubber label and animation

* tune x fly in distance

* refactor

* lint and minor fix

* fly height
2024-10-30 14:38:35 +00:00
Justin
0230dc284b
feat(web): disable opening image and library sub-items by default (#13729)
Disable opening image and library sub-items by default

Disable both the Image Settings and the External Library sub-items by default. This aligns with auth other settings sub-items showing as collapsed by default.
2024-10-29 12:02:34 -05:00
Zack Pollard
2c86da07c6
feat(web): library settings crontab link includes existing expression (#13807) 2024-10-29 15:51:00 +00:00
Pranay Pandey
7e9fb5df5e
fix(web): Add debouncing to the search popup form (#13684)
This will fix the bug where when we click on the second date picker just after selecting date in first date picker it closes the search popup form
2024-10-23 07:51:17 -05:00
Ben
e98acc976e
chore: move weblate translations to root directory (#13604)
* chore: move translations to root directory

* chore: update build processes to work with new i18n location
2024-10-22 15:39:28 +00:00
Animesh Kotka
45c86e95e8
feat(web): allow changing shared user role in album options modal (#13654)
* enable user options suggestion as workaround in top option menu in 
shared album

* PR Review changes:
Function rename to handleUpdateSharedUserRole
2024-10-22 12:34:38 +00:00
Darrel
c77345637b
chore(web): add tests for ChangeDate component (#13599)
* chore(web): setup tests for ChangeDate component

* chore(web): add tests for callback funcs with the right value

* chore(web): add tests for daylight saving time

* rename file properly

---------

Co-authored-by: bo0tzz <git@bo0tzz.me>
2024-10-21 14:39:47 -04:00
Darrel
45517ab7ae
fix(web): reset select all button state on escape press (#13600)
* factor out cancel multiselect state logic to utils

* use cancel multiselct helper in album page

* use cancel multiselct helper in album-viewer component

* use cancel multiselct helper in asset-grid component

* remove unused to fix lint
2024-10-20 18:11:00 +00:00
Alex
c9c0212ca9
fix(web): intersection observer not triggered to load more people (#13589) 2024-10-18 22:53:47 +02:00
pyorot
b1149881bd
feat(server): add pcm_s16le accepted audio codec (#13418) 2024-10-18 08:26:16 -04:00
Daniel Dietzler
6b2f23b5a3
fix: web search add to album reactivity (#13539) 2024-10-17 15:53:12 -04:00
grgergo
7011231c4c
fix(web): improve photosphere viewer settings (#13468)
change photosphere viewer settings
2024-10-17 18:07:01 +00:00
CrushedAsian255
d9949434f6
feat(web): Change relink person icon from minus to pencil (#13536)
The relink person icon is currently a minus symbol. This can be confusing as it looks like a "remove person" button. Changing it to a pencil makes it clear it is an editing operation, not a removing operation.
I don't know how to write Dart code, so I cannot help with the Mobile app.
2024-10-17 13:13:35 -04:00
jedi04
bb694aeeeb
fix(server): Allow passwordless users when oauth enabled (#13517)
* fix(server): Allow passwordless users when oauth enabled

* fix(web): Use features flags for checking oauth
2024-10-17 12:24:50 -04:00
bo0tzz
79acbc1d7b
feat: show warning when running main branch build (#13462)
* feat: show warning when running main branch build

* fix: emoji weirdness

* fix: use icon instead of emoji

* fix: missing conditional
2024-10-17 08:36:52 -04:00
Manan Jain
c653c48ed2
fix: styling for last image in person grid (#13444)
* Add Display Content to LastPersonContainer Div

* Update web/src/lib/components/faces-page/people-infinite-scroll.svelte

Co-authored-by: Jason Rasmussen <jason@rasm.me>

---------

Co-authored-by: manan <manan@manan.myguest.virtualbox.org>
Co-authored-by: Jason Rasmussen <jason@rasm.me>
2024-10-16 08:57:06 +00:00
Zack Pollard
94048dedbd
fix(web): rtl text on map is hidden (#13342) 2024-10-10 12:16:37 +01:00
Pranav tiwari
1baa49edb7
fix(web): User removal from option menu on the top in shared album (#12959)
* bug fix

* added few more type hint

* onMount removed, removed current user to user

* user check removed and conflict in view mode resolved between option and share info modal

* format fix

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
2024-10-10 08:56:08 +00:00
Alex
a11d45458b
fix(web): video player on Safari (#13242) 2024-10-08 11:42:19 +07:00
Mert
2c87683fd4
feat(server): refresh face detection (#12335)
* refresh faces

handle non-ml faces

* fix metadata face handling

* updated tests

* added todo comment
2024-10-03 21:58:28 -04:00
Alex
3c9413fef3
chore(web): relax spacing for help and feedback modal (#13118) 2024-10-02 13:04:22 -04:00
martin
e7862fc0f0
fix: mouse hover over stack (#13119)
fix: mouse hover on stack
2024-10-02 22:04:21 +07:00
Jason Rasmussen
4d20b11f25
feat: track upgrade history (#13097) 2024-10-01 13:33:58 -04:00
Zack Pollard
3eccff4306
feat: support and feedback modal with third party support (#13056) 2024-10-01 11:15:31 +01:00
Mert
995f0fda47
feat(server): separate quality for thumbnail and preview images (#13006)
* allow different thumbnail and preview quality, better config structure

* update web and api

* wording

* remove empty line?
2024-09-28 06:01:04 +00:00
martin
3a37fc8bfd
feat: no slideshow transition (#12989) 2024-09-27 15:05:07 +00:00
Jonathan Jogenfors
b2f2be3485
refactor(server): library syncing (#12220)
* refactor: library scanning

fix tests

remove offline files step

cleanup library service

improve tests

cleanup tests

add db migration

fix e2e

cleanup openapi

fix tests

fix tests

update docs

update docs

update mobile code

fix formatting

don't remove assets from library with invalid import path

use trash for offline files

add migration

simplify scan endpoint

cleanup library panel

fix library tests

e2e lint

fix e2e

trash e2e

fix lint

add asset trash tests

add more tests

ensure thumbs are generated

cleanup svelte

cleanup queue names

fix tests

fix lint

add warning due to trash

fix trash tests

fix lint

fix tests

Admin message for offline asset

fix comments

Update web/src/lib/components/asset-viewer/asset-viewer-nav-bar.svelte

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

add permission to library scan endpoint

revert asset interface sort

add trash reason to shared link stub

improve path view in offline

update docs

improve trash performance

fix comments

remove stray comment

* refactor: add back isOffline and remove trashReason from asset, change sync job flow

* chore(server): drop coverage to 80% for functions

* chore: rebase and generated files

---------

Co-authored-by: Zack Pollard <zackpollard@ymail.com>
2024-09-25 18:26:19 +01:00
Ben
8d515adac5
feat(web): fixed combobox positioning (#12848)
* fix(web): modal sticky bottom scrolling

* chore: minor styling tweaks

* wip: add portal so modals show on Safari in detail panel

* feat: fixed position dropdown menu

* chore: refactoring and cleanup

* feat: zooming and virtual keyboard working for iPadOS/Safari

* Revert "feat: zooming and virtual keyboard working for iPadOS/Safari"

This reverts commit cac29bac0df9112cec1d4c66af82dd343081e08a.

* wip: minor code cleanup

* wip: recover from visual viewport changes

* wip: ease in a little more visualviewport magic

* wip: code cleanup

* fix: only show dropdown above when viewport is zoomed out

* fix: code review suggestions for code style

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

* fix: better variable naming

* chore: better documentation for the bottom breakpoint

---------

Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com>
2024-09-25 12:04:53 -04:00
Daniel Dietzler
b45fce8ddf
fix: album title state weirdness (#12874) 2024-09-24 11:13:37 -04:00
Daniel Dietzler
ec32a9e610
fix: set min values for face detection to reasonable values (#12877)
fix: set min values for face detection to >0
2024-09-23 22:03:59 -04:00
Zack Pollard
bcd416477b
feat: serve map tile styles from tiles.immich.cloud (#12858)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2024-09-23 20:30:23 +00:00
Daniel Dietzler
8cd3f6b884
fix(web): events as props (#12825) 2024-09-20 18:24:46 -04:00
Daniel Dietzler
124eb8251b
chore: migrate away from event dispatcher (#12820) 2024-09-20 17:02:58 -04:00
Jason Rasmussen
94fc1f213a
refactor(web): migrate away from event dispatcher (#12802) 2024-09-19 18:20:09 -04:00
Jason Rasmussen
cfc575d89c
chore(web): remove stray dateTimeOriginal reference (#12796) 2024-09-19 17:06:51 -04:00
Jason Rasmussen
0b02fda4e0
fix(web): only show the timezone when it is known (#12779) 2024-09-18 17:07:50 -04:00
renovate[bot]
ab5dd4d66a
chore(deps): update typescript-projects (#12536)
* chore(deps): update typescript-projects

* chore: import

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jason Rasmussen <jason@rasm.me>
2024-09-17 22:31:12 +00:00
martin
c468da589a
fix: update the profile picture in the navigation-bar (#12723)
* fix: update the profile picture in the navigation-bar

* chore: clean up

---------

Co-authored-by: Jason Rasmussen <jason@rasm.me>
2024-09-17 01:48:15 +00:00
Alex
186b4e1333
feat(web): improve UI/UX for settings pages (#12626)
* fix(web): local date time for buckets

* feat(web): improve UI/UX for setting pages

* search admin settings and icon

* clean up

* fix translation file

* Update web/src/routes/admin/system-settings/+page.svelte

Co-authored-by: Ben <45583362+ben-basten@users.noreply.github.com>

* Update web/src/lib/components/shared-components/settings/setting-accordion.svelte

Co-authored-by: Ben <45583362+ben-basten@users.noreply.github.com>

* better search bar on smaller screen

* lint

* template syntax

---------

Co-authored-by: Jason Rasmussen <jason@rasm.me>
Co-authored-by: Ben <45583362+ben-basten@users.noreply.github.com>
2024-09-16 16:51:03 -04:00
Jason Rasmussen
b74b20824a
feat: tag cleanup job (#12654) 2024-09-16 16:49:12 -04:00
Alex
b06ea687b4
chore(web): small cleanup for full screen modal (#12680) 2024-09-15 11:23:35 -05:00
Alex
f22338f36f
fix(web): scrollbar shows when not need (#12659) 2024-09-14 03:20:40 +00:00
Jason Rasmussen
a373d50c31
fix(web): memory viewer (#12649)
refactor(web): memory viewer
2024-09-13 12:27:10 -04:00
Jason Rasmussen
15f9ff1fcb
fix(web): bucket by localDateTime (#12612)
fix(web): local date time for buckets
2024-09-12 15:30:28 -04:00
Saschl
92811190a8
fix(web): load original panorama if specified in user settings (#12123)
* fix: load original panorama if specified in user settings

* fixes after merge

* chore: cleanup

---------

Co-authored-by: Saschl <noreply@saschl.com>
Co-authored-by: Jason Rasmussen <jason@rasm.me>
2024-09-12 19:30:21 +00:00
Jason Rasmussen
d03e97f650
fix(web): better merge direction (#12601) 2024-09-12 13:54:34 -04:00
Pavel Sapachev
4e08ff6c33
fix(web): remove unnecessary divider in External Library settings (#12583)
* fix(web): remove unnecessary divider in External Library Settings

* fix: narrowing
2024-09-12 01:35:16 +00:00
Jason Rasmussen
01c7adc24d
feat(web): unlink live photos (#12574)
feat(web): unlink live photo
2024-09-11 16:26:29 -04:00
Jason Rasmussen
27050af57b
feat(web): manually link live photos (#12514)
feat(web,server): manually link live photos
2024-09-10 08:51:11 -04:00
Jason Rasmussen
9a9d64acd7
fix(web): leave assets selected after add to album (#12537) 2024-09-10 00:18:31 -04:00
Ben
02047a0104
feat(web): move search options into a modal (#12438)
* feat(web): move search options into a modal

* chore: revert adding focus ring

* minor styling

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2024-09-10 04:12:26 +00:00
Jason Rasmussen
710cbd694b
fix(web): preserve search text (#12531) 2024-09-09 23:49:56 -04:00
Ben
009a1402e6
fix(web): clip scrollbar overflow in modals (#12526) 2024-09-09 22:37:53 -05:00
Jason Rasmussen
d39917a4db
fix(web): show trash indicator (#12521) 2024-09-09 16:03:17 -04:00
Carsten Otto
8c3c3357fe
feat(web): select the EXIF timezone (if it exists) in dropdown (#12495) 2024-09-09 14:26:21 -05:00
Ben
0a552d2bfa
feat(web): responsive top navigation (#12373)
- icons fit in mobile
- guarantee the search bar space in all screen sizes
- fix the storage bar being too wide
2024-09-09 10:29:23 -04:00
Jason Rasmussen
2554cc96b0
feat(web): logout of all tabs (#12407) 2024-09-07 13:21:05 -04:00
Ivan Mondragon
2dc95704c5
feat(web): add download shortcut on the timeline & asset viewer (#12339)
feat(web): implement download shortcut
2024-09-06 08:26:58 -05:00
Michel Heusschen
529b7fe748
fix(web): show focus outline for asset thumbnails again (#12382)
* fix(web): show focus outline for asset thumbnails again

* fix e2e test
2024-09-06 08:18:45 -05:00
martin
a653d9d29f
feat: optimize copy image to clipboard (#12366)
* feat: optimize copy image to clipboard

* pr feedback

* fix: urlToBlob

Co-authored-by: Jason Rasmussen <jason@rasm.me>

* fix: imgToBlob

Co-authored-by: Jason Rasmussen <jason@rasm.me>

* chore: finish rename

* fix: dimensions

---------

Co-authored-by: Jason Rasmussen <jason@rasm.me>
2024-09-06 08:16:59 -05:00
Michel Heusschen
ecc85ff6c6
fix(web): ensure shared link covers are full size (#12386) 2024-09-06 08:16:39 -05:00
Michel Heusschen
639bc0c660
fix(web): broken album thumbnail (#12381)
* fix(web): broken album thumbnail

* use properties from thumbnail
2024-09-06 08:16:18 -05:00
Jason Rasmussen
d6729c50c9
fix: only load rtl plugin once (#12365)
fix(web): only load rtl plugin once
2024-09-05 14:29:41 -04:00
Min Idzelis
d7d3b8dfec
fix: flash bug on tag (#12332)
* fix flash bug on tag

* fix lint

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
2024-09-05 09:29:07 -05:00
Carsten Otto
259bc8a6b0
fix(web): only show valid time zones/offsets, update list based on date (#12315)
fix(web): only show valid time zones / offsets, update list based on date

this also prefers the local time zone over others with the same offset
2024-09-05 09:12:22 -05:00
Ben
c5848112bb
feat(web): add skip link to sidebar (#12330)
Co-authored-by: Alex <alex.tran1502@gmail.com>
2024-09-05 08:24:24 -05:00
Jason Rasmussen
f4ec842577
refactor(web): upload panel (#12326)
Co-authored-by: Alex <alex.tran1502@gmail.com>
2024-09-04 23:38:55 -04:00
BugFest
77e6a6d78b
feat(server): Import face regions from metadata (#6455)
* feat: faces-from-metadata - Import face regions from metadata

Implements immich-app#1692.
- OpenAPI spec changes to accomodate metadata face import configs. New settings to enable the feature.
- Updates admin UI compoments
- ML faces detection/recognition & Exif/Metadata faces compatibility

Signed-off-by: BugFest <bugfest.dev@pm.me>

* chore(web): remove unused file confirm-enable-import-faces

* chore(web): format metadata-settings

* fix(server): faces-from-metadata tests and format

* fix(server): code refinements, nullable face asset sourceType

* fix(server): Add RegionInfo to ImmichTags interface

* fix(server): deleteAllFaces sourceType param can be undefined

* fix(server): exiftool-vendored 27.0.0 moves readArgs into ExifToolOptions

* fix(server): rename isImportFacesFromMetadataEnabled to isFaceImportEnabled

* fix(server): simplify sourceType conditional

* fix(server): small fixes

* fix(server): handling sourceType

* fix(server): sourceType enum

* fix(server): refactor metadata applyTaggedFaces

* fix(server): create/update signature changes

* fix(server): reduce computational cost of Person.getManyByName

* fix(server): use faceList instead of faceSet

* fix(server): Skip regions without Name defined

* fix(mobile): Update open-api (face assets feature changes)

* fix(server): Face-Person reconciliation with map/index

* fix(server): tags.RegionInfo.AppliedToDimensions must be defined to process face-region

* fix(server): fix shared-link.service.ts format

* fix(mobile): Update open-api after branch update

* simplify

* fix(server): minor fixes

* fix(server): person create/update methods type enforcement

* fix(server): style fixes

* fix(server): remove unused metadata code

* fix(server): metadata faces unit tests

* fix(server): top level config metadata category

* fix(server): rename upsertFaces to replaceFaces

* fix(server): remove sourceType when unnecessary

* fix(server): sourceType as ENUM

* fix(server): format fixes

* fix(server): fix tests after sourceType ENUM change

* fix(server): remove unnecessary JobItem cast

* fix(server): fix asset enum imports

* fix(open-api): add metadata config

* fix(mobile): update open-api after metadata open-api spec changes

* fix(web): update web/api metadata config

* fix(server): remove duplicated sourceType def

* fix(server): update generated sql queries

* fix(e2e): tests for metadata face import feature

* fix(web): Fix check:typescript

* fix(e2e): update subproject ref

* fix(server): revert format changes to pass format checks after ci

* fix(mobile): update open-api

* fix(server,movile,open-api,mobile): sourceType as DB data type

* fix(e2e): upload face asset after enabling metadata face import

* fix(web): simplify metadata admin settings and i18n keys

* Update person.repository.ts

Co-authored-by: Jason Rasmussen <jason@rasm.me>

* fix(server): asset_faces.sourceType column not nullable

* fix(server): simplified syntax

* fix(e2e): use SDK for everything except the endpoint being tested

* fix(e2e): fix test format

* chore: clean up

* chore: clean up

* chore: update e2e/test-assets

---------

Signed-off-by: BugFest <bugfest.dev@pm.me>
Co-authored-by: mertalev <101130780+mertalev@users.noreply.github.com>
Co-authored-by: Jason Rasmussen <jason@rasm.me>
2024-09-04 18:23:58 -04:00
Jason Rasmussen
720412645f
feat(web): sort albums in modal (#12331) 2024-09-04 18:21:21 -04:00
Alex
0a8bd7dc66
fix(web): correct color for active tree item (#12318)
* fix(web): correct color for active tree item

* remove white space
2024-09-04 14:07:32 -05:00
Zack Pollard
1783dfd393
fix(web): handle RTL languages in the map component (#12308) 2024-09-04 17:02:37 +01:00
Carsten Otto
4bf82fb4c4
fix(web): retain selected time zone offset also for +00:00 (#12310)
Co-authored-by: Alex <alex.tran1502@gmail.com>
2024-09-04 14:47:40 +00:00
Jason Rasmussen
69cedef772
chore: remove repair sidebar item (#12294) 2024-09-03 22:54:13 -05:00
Jason Rasmussen
c7ddd0b44a
fix(web): paste event in input fields (#12297) 2024-09-03 22:53:34 -05:00
martin
efdf1b49f4
fix: hide scrollbar when the asset grid is empty (#12217) 2024-09-02 14:43:36 -05:00
Ben
d8b602f757
feat(web): shared breadcrumbs component for folders and tags (#12215)
* feat(web): shared breadcrumbs component for folders and tags

* chore: revert changes to tree view
2024-09-02 14:42:27 -05:00
Alex
59507e557e
fix(web): auto grow area extend when there is no content (#12197)
* fix(web): text area expand when there is no description

* use correct content
2024-09-02 14:41:19 -05:00
Vietbao Tran
862d6d9abe
feat(web): load original panorama image when zoomed in to 75% or above (#12222)
* feat(web): load original panorama image when zoomed in to 75% or above

* add checks that original 360 image is web compatible and better error handling

* fix web compatability check typing

* fix asset type
2024-09-02 14:39:55 -05:00
Ben
4cc11efd04
fix(web): hide tree view text overflow with ellipsis (#12161)
fix(web): hide tree view overflow with ellipsis
2024-08-30 17:32:12 -04:00
kaziu687
18fcc3569f
fix(web): unable to scroll timeline after using gesture (#12163) 2024-08-30 21:31:42 +00:00
Alex
fcbc1ba399
fix(web): memory view in timeline href (#12158) 2024-08-30 15:00:31 -04:00
Jason Rasmussen
5e6ac87eaf
chore: object shorthand linting rule (#12152)
chore: object shorthand
2024-08-30 14:38:53 -04:00
Alex
3316acb71f
chore(web): tag creation hint (#12142)
* chore(web): tag creation hint

* use FormatMessage

* use correct format

* use correct css class

* copywriting
2024-08-30 12:16:56 -04:00
Spencer Fasulo
48fb0f309d
fix(web): Device list shows Ubuntu as unknown OS (#12127)
Co-authored-by: Spencer Fasulo <spencer.fasulo@icloud.com>
2024-08-30 03:14:05 +00:00
Alex
6fe011e2d7
feat(web): jump to timeline (#12117)
* feat(web): jump to timeline

* Update web/src/lib/components/memory-page/memory-viewer.svelte

Co-authored-by: Michel Heusschen <59014050+michelheusschen@users.noreply.github.com>

* wording and open in new tab

* Use correct wording and icon

* fix: hide on archived and trashed assets

---------

Co-authored-by: Michel Heusschen <59014050+michelheusschen@users.noreply.github.com>
Co-authored-by: Jason Rasmussen <jason@rasm.me>
2024-08-29 21:14:52 +00:00
Alex
ebecb60f39
feat: user's features preferences (#12099)
* feat: metadata in UserPreference

* feat: web metadata settings

* feat: web metadata settings

* fix: typo

* patch openapi

* fix: missing translation key

* new organization of preference strucutre

* feature settings on web

* localization

* added and used feature settings

* add default value to response dto

* patch openapi

* format en.json file

* implement helper method

* use tags preference logic

* Fix logic bug and add tests

* fix preference can be null in detail panel
2024-08-29 14:29:04 -05:00
Jason Rasmussen
d08a20bd57
feat: tags (#11980)
* feat: tags

* fix: folder tree icons

* navigate to tag from detail panel

* delete tag

* Tag position and add tag button

* Tag asset in detail panel

* refactor form

* feat: navigate to tag page from clicking on a tag

* feat: delete tags from the tag page

* refactor: moving tag section in detail panel and add + tag button

* feat: tag asset action in detail panel

* refactor add tag form

* fdisable add tag button when there is no selection

* feat: tag bulk endpoint

* feat: tag colors

* chore: clean up

* chore: unit tests

* feat: write tags to sidecar

* Remove tag and auto focus on tag creation form opened

* chore: regenerate migration

* chore: linting

* add color picker to tag edit form

* fix: force render tags timeline on navigating back from asset viewer

* feat: read tags from keywords

* chore: clean up

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2024-08-29 12:14:03 -04:00
kaziu687
c008feca63
feat(web): navigate assets with gestures (next/prev) (#11888)
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2024-08-29 10:40:17 -05:00
Michel Heusschen
9f5a3f1e84
chore(web): enforce valid translation keys using typescript (#12106) 2024-08-29 08:41:39 -04:00
Kenneth Bingham
2297d86569
fix(mobile): use a valid OAuth callback URL (#10832)
* add root resource path '/' to mobile oauth scheme

* chore: add oauth-callback path

* add root resource path '/' to mobile oauth scheme

* chore: add oauth-callback path

* fix: make sure there are three forward slash in callback URL

---------

Co-authored-by: Jason Rasmussen <jason@rasm.me>
Co-authored-by: Alex <alex.tran1502@gmail.com>
2024-08-28 11:30:06 -05:00
Ben
72ab664936
feat(web): announce notifications to screen readers (#12071) 2024-08-27 17:13:17 -05:00
Ben
9894b9513b
fix(web): shared link expiration date accessibility (#12060)
- use native select - shows focus, automatically has keyboard
  navigation, accessible for screen readers
- remove DropdownButton component
- fix dropdown styling in Safari
2024-08-26 21:05:23 -04:00
Alex
f4371578f5
fix(web): show supporter badge for account less than 14 days (#12058) 2024-08-26 17:20:50 +00:00
Ben
96056208fc
fix(web): announce current theme to screen reader users (#12039) 2024-08-25 18:50:54 -05:00
Min Idzelis
b2dd5a3152
feat: loading screen, initSDK on bootstrap, fix FOUC for theme (#10350)
* feat: loading screen, initSDK on bootstrap, fix FOUC for theme

* pulsate immich logo, don't set localstorage

* Make it spin

* Rework error handling a bit

* Cleanup

* fix test

* rename, memoize

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2024-08-25 17:34:08 -05:00
Christopher Makarem
b41af65997
fix: align camera model drop down behavior with other drop downs on web and mobile (#11951)
* fix(web): align search filter behavior to show all camera models

* fix(mobile): align search filter behavior to clear camera model when make is set

* (mobile) correctly clear the model controller

* fix(mobile) re-add text controller to dropdown

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
2024-08-25 05:00:15 +00:00
Snowknight26
7a4fccb1b2
fix(web): show a clearer confirmation message when deleting an unnamed album (#11988)
* fix(web): show a different confirmation message when deleting an unnamed album

* Rename the function

* Fix formatting
2024-08-24 23:59:18 -05:00
Ben
c14e2914f8
fix(web): rating stars accessibility (#11966)
* fix(web): exif ratings accessibility

* chore: add tests

* fix: eslint errors

* fix: clean up issues from changes in use:focusOutside
2024-08-23 12:34:12 -04:00
Jason Rasmussen
7fbf50a75e
fix: remove asset.resized (#11983)
fix: remove resized
2024-08-22 23:24:49 -04:00
Jason Rasmussen
f69ce6ad8a
refactor(web): folder view (#11967)
refactor(web): tree view
2024-08-22 11:38:19 -04:00
Carles Albàs Boix
296bbeb2fc
feat(web): Left hand navigation for memories (#11913) 2024-08-22 14:40:15 +00:00
Min Idzelis
837b1e4929
feat(web): Scroll to asset in gridview; increase gridview perf; reduce memory; scrollbar ticks in fixed position (#10646)
* Squashed

* Change strategy - now pre-measure buckets offscreen, so don't need to worry about sub-bucket scroll preservation

* Reduce jank on scroll, delay DOM updates until after scroll

* css opt, log measure time

* Trickle out queue while scrolling, flush when stopped

* yay

* Cleanup cleanup...

* everybody...

* everywhere...

* Clean up cleanup!

* Everybody do their share

* CLEANUP!

* package-lock ?

* dynamic measure, todo

* Fix web test

* type lint

* fix e2e

* e2e test

* Better scrollbar

* Tuning, and more tunables

* Tunable tweaks, more tunables

* Scrollbar dots and viewport events

* lint

* Tweaked tunnables, use requestIdleCallback for garbage tasks, bug fixes

* New tunables, and don't update url by default

* Bug fixes

* Bug fix, with debug

* Fix flickr, fix graybox bug, reduced debug

* Refactor/cleanup

* Fix

* naming

* Final cleanup

* review comment

* Forgot to update this after naming change

* scrubber works, with debug

* cleanup

* Rename scrollbar to scrubber

* rename  to

* left over rename and change to previous album bar

* bugfix addassets, comments

* missing destroy(), cleanup

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
2024-08-21 21:15:21 -05:00
David Kerr
07538299cf
feat: folder view (#11880)
* feat: folder view poc

* fix(folder-view): ui modifications

* fix(folder-view): improves utility return types

* fix(folder-view): update getAssetsByOriginalPath

Endpoint now only returns direct children of the path instead of all images in all subfolders.  Functions renamed and scoped to "folder", endpoints renamed

* fix(folder-view): improve typing

* fix(folder-view): replaces css with tailwind

* fix(folder-view): includes folders in main panel

* feat(folder-view): folder cache implementation

* fix(folder-view): can now search for absolute paths

* fix(folder-view): sets default sort to alphabetical by filename

* refactor/styling the browser view

* double click to navigate

* folder tree

* use correct side bar icon

* styling when selected

* correct open icon

* folder layout

* return assetReponseDto

* it's alive

* update new api

* more styling for folder tree

* use query params and path viewer

* use arrow up left for parent folder backward navigation

* use arrow up left for parent folder backward navigation

* encode URL

* handle long folder name

* refactor to the view controller

* remove unused code

* clear cache when logout

* cleaning up

* cleaning up web

* clean as new

* clean as new

* pr feedback + show asset name

* add tests

* add tests

* remove generated file

* lint

* revert docker-compose.dev file

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

Co-authored-by: Jason Rasmussen <jason@rasm.me>

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

Co-authored-by: Jason Rasmussen <jason@rasm.me>

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
Co-authored-by: Jason Rasmussen <jason@rasm.me>
2024-08-21 13:49:37 -05:00
Jason Rasmussen
817f42aef7
fix(web): upload on file paste (#11922) 2024-08-20 08:25:26 -05:00
Jason Rasmussen
ef9a06be5c
fix(server): album statistics endpoint (#11924) 2024-08-20 07:50:36 -04:00
Jason Rasmussen
8338657eaa
refactor(server): stacks (#11453)
* refactor: stacks

* mobile: get it built

* chore: feedback

* fix: sync and duplicates

* mobile: remove old stack reference

* chore: add primary asset id

* revert change to asset entity

* mobile: refactor mobile api

* mobile: sync stack info after creating stack

* mobile: update timeline after deleting stack

* server: update asset updatedAt when stack is deleted

* mobile: simplify action

* mobile: rename to match dto property

* fix: web test

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
2024-08-19 12:37:15 -05:00
Carles Albàs Boix
ca52cbace1
feat(web): Left hand navigation with A/D (#11907) 2024-08-19 12:07:18 -05:00
simkli
5ab92f346a
feat(web): drag and drop or paste directories for upload (#11879)
feat(web): support for directories drag and drop

Allows directories to be drag and dropped or pasted for upload.
2024-08-18 09:38:21 -05:00
Snowknight26
bd42e05152
fix(web): correctly populate the camera model search dropdown (#11883) 2024-08-18 08:13:41 -04:00
Michel Heusschen
c9f1304bce
fix(web): show camera make in search options after searching (#11884) 2024-08-18 08:12:10 -04:00
Michel Heusschen
5ef9a8ff8d
feat(web): pasting coordinates (#11866) 2024-08-17 11:03:34 -04:00
Jason Rasmussen
f230b3aa42
feat(server): granular permissions for api keys (#11824)
feat(server): api auth permissions
2024-08-16 09:48:43 -04:00
Jason Rasmussen
32c05ea950
feat(server): do not automatically download android motion videos (#11774)
feat(server): do not automatically download embedded android motion videos
2024-08-15 20:06:16 +00:00
ilyaChuk
7f7fec2cea
feat(web): image editor - panel and cropping (#11074)
* cropping, panel

* fix presets

* types

* prettier

* fix lint

* fix aspect ratio, performance optimization

* improved tool selection, removed placeholder

* fix the mouse's exit from canvas

* fix error

* the "save" button and change tracking

* lint, format

* the mini functionality of the save button

* fix aspect ratio

* hide editor button on mobiles

* strict equality

Co-authored-by: Michel Heusschen <59014050+michelheusschen@users.noreply.github.com>

* Use the dollar sign syntax for stores inside components

* unobtrusive grid lines, circles at the corners

* more correct image load, handleError

* more strict equality

* fix styles. unused and tailwind

Co-Authored-By: Michel Heusschen <59014050+michelheusschen@users.noreply.github.com>

* dont store isShowEditor

* if showEditor - hide navbar & shortcuts

* crop-canvas decomposition (danger)

I could have accidentally broken something.. but I checked the work and it seems ok.

* fix lint

* fix ts

* callback function as props

* correctly disabling shortcuts

* convenient canvas borders

• you can use the mouse to go beyond the boundaries and freely change the crop.
• the circles on the corners of the canvas are not cut off.

* -the editor button for video files, -save button

* hide editor btn if panoramic || gif || live

* corners instead of circles (preview), fix lint&format

* confirm close editor without save

* vertical aspect ratios

* recovery after merge. editor's closing shortcut

* fix format

* move from canvas to html elements

* fix changes detections

* rotation

* hide detail panel if showing editor

* fix aspect ratios near min size

* fix crop area when changing image size when rotate

* fix of fix

* better layout - grouping

https://github.com/user-attachments/assets/48f15172-9666-4588-acb6-3cb5eda873a8

* hide the button

* fix i18n, format

* hide button

* hide button v2

---------

Co-authored-by: Michel Heusschen <59014050+michelheusschen@users.noreply.github.com>
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2024-08-14 09:54:50 -05:00
Alex
593f036c0d
fix(web): fallback aperture info when there is no locale set (#11770)
* fix(web): fallback aperture info when there is no locale set

* pr feedback
2024-08-14 15:52:44 +02:00
martin
fdf0b16fe3
feat(web): add privacy step in the onboarding (#11359)
* feat: add privacy step in the onboarding

* fix: remove console.log

* feat:Details the implications of enabling the map on the settings page

Added a link to the guide on customizing map styles as well

* feat: add map implication

* refactor: onboarding style

* fix: tile provider

* fix: remove long explanations

* chore: cleanup

---------

Co-authored-by: pcouy <contact@pierre-couy.dev>
Co-authored-by: Jason Rasmussen <jason@rasm.me>
2024-08-13 17:01:30 +00:00
Michel Heusschen
b014162088
refactor(web): add tailwind plugin for repeating grid cols (#11748) 2024-08-13 11:36:46 -04:00
Michel Heusschen
276101ee82
feat(web): improve shared link management on mobile (#11720)
* feat(web): improve shared link management on mobile

* fix format
2024-08-13 09:37:47 -05:00
Michel Heusschen
5acdc958b6
fix(web): single row of items (#11729)
* fix(web): single row of items

* remove filterBoxWidth

* slight size adjustment

* rewrite action as component
2024-08-13 08:20:08 -04:00
Michel Heusschen
c2965c4408
fix(web): detail panel out of sync when reopening (#11713)
* fix(web): detail panel out of sync when reopening

* extract event handler
2024-08-12 08:10:43 -04:00
Michel Heusschen
30aa2c9b82
fix(web): use fallback image if shared asset isn't resized (#11704)
* fix(web): use fallback image if shared asset isn't resized

* remove test-data index file
2024-08-11 15:43:07 -04:00
Michel Heusschen
7d320217b9
chore(web): remove unused file (#11696) 2024-08-11 08:01:37 -04:00
Michel Heusschen
34c4fbf730
fix(web): asset viewer dynamic size (#11697) 2024-08-11 07:59:26 -04:00
Christoph Suter
f33dbdfe9a
feat(web): add Exif-Rating (#11580)
* Add Exif-Rating

* Integrate star rating as own component

* Add e2e tests for rating and validation

* Rename component and async handleChangeRating

* Display rating can be enabled in app settings

* Correct i18n reference

Co-authored-by: Michel Heusschen <59014050+michelheusschen@users.noreply.github.com>

* Star rating: change from slider to buttons

* Star rating for clarity

* Design updates.

* Renaming and code optimization

* chore: clean up

* chore: e2e formatting

* light mode border and default value

---------

Co-authored-by: Christoph Suter <christoph@suter-burri.ch>
Co-authored-by: Michel Heusschen <59014050+michelheusschen@users.noreply.github.com>
Co-authored-by: Mert <101130780+mertalev@users.noreply.github.com>
Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2024-08-09 17:45:52 +00:00
Michel Heusschen
96481aae5d
refactor(web): supporter badge (#11656)
* refactor(web): supporter badge

* add style lang
2024-08-08 14:02:44 -04:00
Michel Heusschen
96f8050143
feat(web): improve group-tab accessibility (#11647)
feat(web): improve GroupTab accessibility
2024-08-08 07:28:24 -04:00
Zack Pollard
14689462f8
feat: change web asset detail map to zoom level 12.5 (#11643) 2024-08-07 23:38:02 +01:00
i-am-a-teapot
65f5118bdd
feat(web): Add stacking option to deduplication utilities (#11114)
* feat(web): Add stacking option to deduplication utilities

* Update web/src/lib/components/utilities-page/duplicates/duplicates-compare-control.svelte

Co-authored-by: Alex <alex.tran1502@gmail.com>

* Fix prettier

* Draft for server side modifications. Endpoint for stacks (PUT,DELETE)

* Fix error

* Disable stakc button if less or more than one asset selected

* Remove unnecesarry log

* Revert to first commit

* Further Revert

* Actually Revert to Origin

* Only one stack button

* Update +page.svelte

* Fix optional arguments

* Fix Prettier

* Fix Linting

* Add stack information to asset view

* clean up

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
2024-08-06 17:06:30 +00:00
Michel Heusschen
dd638ac207
fix(web): slideshow on iphone (#11599)
* fix(web): slideshow on iphone

* make requestFullscreen type optional
2024-08-06 08:34:17 -05:00
renovate[bot]
82d934d09d
chore(deps): update dependency eslint to v9 (#11601)
* chore(deps): update dependency eslint to v9

* chore: migrate to eslint flat config files

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2024-08-05 16:13:16 -04:00
renovate[bot]
2821e0bf95
chore(deps): update typescript-eslint monorepo to v8 (major) (#11598)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2024-08-05 19:13:00 +00:00
Jason Rasmussen
94da5942bd
feat(web): open in map view (#11592) 2024-08-05 10:25:53 -05:00
oidq
37cc6fbf27
fix(web): prevent change-location suggestion race-condition (#11523)
When debouncer activated on deletion, the handleSearchPlaces() function
would fire a request with empty query. UI would then show Immich API error.
2024-08-02 05:52:17 +00:00