Commit graph

930 commits

Author SHA1 Message Date
Daniel Dietzler
3053cbd4c8
chore(server): Store generated files (thumbnails, encoded video) in subdirectories (#4112)
* save thumbnails in subdirectories

* migration job, migrate assets and face thumbnails

* fix tests

* directory depth of two instead of three

* cleanup empty dirs after migration

* clean up empty dirs after migration, migrate people without assetId

* add job card for new migration job

* fix removeEmptyDirs race condition because of missing await

* cleanup empty directories after asset deletion

* move ensurePath to storage core

* rename jobs

* remove unnecessary property of IEntityJob

* use updated person getById, minor refactoring

* ensure that directory cleanup doesn't interfere with migration

* better description for job in ui

* fix remove directories when migration is done

* cleanup empty folders at start of migration

* fix: actually persist concurrency setting

* add comment explaining regex

* chore: cleanup

---------

Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
2023-09-25 11:07:21 -04:00
fujie
c0ce81ca0e
fix(mobile): assetList is empty (#4213)
* fix(mobile): assetList is empty

* add comments

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
2023-09-25 08:09:09 +00:00
Daniele Ricci
014d164d99
feat(server): random assets API (#4184)
* feat(server): get random assets API

* Fix tests

* Use correct validation annotation

* Fix offset use in query

* Update API specs

* Fix typo

* Random assets e2e tests

* Improve e2e tests
2023-09-23 22:28:55 +07:00
Alex The Bot
e050121dbf Version v1.79.1 2023-09-22 01:37:20 +00:00
Alex The Bot
86f5ceb80e Version v1.79.0 2023-09-21 14:17:00 +00:00
Jonathan Jogenfors
acdc66413c
feat(server,web): libraries (#3124)
* feat: libraries

Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
Co-authored-by: Alex <alex.tran1502@gmail.com>
2023-09-20 13:16:33 +02:00
Alex
2e0c7abd65
fix(mobile): fix background upload regression on Android (#4139) 2023-09-19 16:39:54 +07:00
GenericGuy
94cbbf3c4b
feat(web): add setting for minimum face count for face detection (#4128)
* feat: add setting for minimum face count for face detection

Adds the minimum face count setting to the web interface to
circumvent detection of strangers and random background people
if desired.

* fix: codestyle, remove max for face count
2023-09-18 11:05:35 +07:00
Fynn Petersen-Frey
1c02e1dadf
feat(mobile): image caching & viewer improvements (#4095) 2023-09-18 10:57:05 +07:00
Mert
0a9b632e48
fix(server): use libopus for transcoding (#4102)
* updated audio codec enum

* added migration

* updated api

* fixed enum

* formatting

* simplified migration
2023-09-16 00:52:45 +00:00
Alex
9cec6aaf46
chore: post release tasks 2023-09-14 22:16:15 +07:00
Alex The Bot
a3206bf950 Version v1.78.1 2023-09-14 13:56:33 +00:00
Azsde
8a421eb778
fix (mobile): Fix slow album thumbnail generation for album picker (#3905)
* [BUGFIX] Fix slow album thumbnail generation

When generating the thumbnail of an album, all of the pictures of the
album are retrieved but only the first picture of the album is used.

Retrieving all of the pictures of the album at once can cause huge performance
issues on large albums.

Since only the first picture is used to generate the thumbnail, this commit
uses the getAssetListPaged method instead of getAssetListRange, effectively
retrieving only the first picture of the album.

* [DEVMINOR] Remove unecessary check

As we already check for the number of assets in the album, when
fetching assets using `album.getAssetListPaged` the returned result
won't be empty.

---------

Co-authored-by: Azsde <aelkaim@pixium-vision.com>
2023-09-13 22:32:06 +07:00
Alex
b1d31a4567
chore: post release 2023-09-13 17:27:31 +07:00
Alex The Bot
b42ca61e1f Version v1.78.0 2023-09-13 08:24:02 +00:00
Alex
197baf3473
chore(mobile): update translation 2023-09-13 11:40:59 +07:00
Alex
bbbdd463fd
chore(mobile): translation update (#4077) 2023-09-13 10:55:20 +07:00
shenlong
73ad0d468f
feat(mobile): upload image assets before videos (#3958)
* feat(mobile): upload image assets before videos (#3872)

* feat(mobile): upload image assets before videos

* mobile: sort by creation date before uploading assets

* feat(mobile): upload newest assets first for foreground upload

* feat(mobile): upload images before videos only for background backup
2023-09-13 10:50:16 +07:00
Dhrumil Shah
fb20381f98
feat(mobile): allow self-signed certificate on the mobile app (#4051)
* WIP: self-signed certs accept

* WIP: format

* WIP: pushing up adding settings menu

* Add serverEndpointURL check

* Add translation update

* Handle errors properly

* format

* typo

* cleanup

* styling and permission

* remove deadcode

* put pack condition

* styling

* remove hiding settings options

* format + match drop shadow

* match color

* remove deadcode

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
2023-09-12 21:51:43 +07:00
Fynn Petersen-Frey
bd226e9e2c
fix(mobile): images rendered twice due to rebuild (#4060)
* fix(mobile): images rendered twice due to rebuild

* fix bottom sheet triggered multiple times
2023-09-12 20:43:15 +07:00
Alex
47ea47ce14
fix(mobile): Fix background backup on iOS (#4038) 2023-09-11 17:31:15 +07:00
Fynn Petersen-Frey
5d1011b482
feat(mobile): efficient asset sync (#3945)
* feat(mobile): efficient asset sync
2023-09-10 14:51:18 +02:00
Jason Rasmussen
f1db257628
feat(server,web): server config (#4006)
* feat: server config

* chore: open api

* fix: redirect /map to /photos when disabled
2023-09-08 22:51:46 -04:00
Dhrumil Shah
fb477627c7
fix(mobile): Clean up image details if there is missing info (#4018)
* fix 0,0 location

* image details cleanup

* Static anal fix
2023-09-08 12:55:55 +07:00
Dhrumil Shah
e1eae00b35
Truncate Log lines (#4003) 2023-09-07 03:53:11 +07:00
Alex The Bot
608543da0b Version v1.77.0 2023-09-06 03:30:44 +00:00
Maarten Rijke
b4fa60d4fd
feat(web): show original uploader in shared album photo details (#3977)
* feat(web): show original uploader in shared album photo details

* feat: send owner in asset by id response

* chore: open api

* fix: linting

* fix: change to Shared By

* openapi

* openapi

* api

* styling

---------

Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
Co-authored-by: Alex <alex.tran1502@gmail.com>
2023-09-06 10:14:44 +07:00
Jason Rasmussen
454737ca79
refactor(server): update asset endpoint (#3973)
* refactor(server): update asset

* chore: open api
2023-09-04 22:25:31 -04:00
Dhrumil Shah
54775b896f
fix(mobile): change password page not navigating back (#3967) 2023-09-05 06:36:16 +07:00
shenlong
90f9501902
fix(mobile): curated places taking more size on large screens (#3959) 2023-09-05 06:10:27 +07:00
shenlong
f8d26bd865
fix(mobile): map markers not loading with int coordinates (#3957)
* fix(mobile): increase zoom-level for map zoom to asset

* refactor(mobile): map-view - rename lastAssetOffsetInSheet

* Workaround OpenAPI Dart generator bug

* fix(mobile): map - increase appbar top padding

* fix(mobile): navigation bar overlapping map bottom sheet

* fix(mobile): map - do not animate the drag handle of bottom sheet on scroll

* fix(mobile): F-Droid build failure due to map view

* fix(mobile): remove jank on map asset marker update

* fix(mobile): map view app-bar padding is made dynamic

* fix(mobile): reduce debounce time in bottom sheet asset scroll

* fix(mobile): bottom sheet - reduce drag handle total height

---------

Co-authored-by: Daniele Ricci <daniele@casaricci.it>
2023-09-05 06:08:43 +07:00
Mert
2069293cc1
feat(server): wide gamut thumbnails (#3658) 2023-09-03 02:21:51 -04:00
Mert
f8ff342852
feat(server): advanced settings for transcoding (#3775)
* set stream with `-map` flag

* updated tests

* fixed audio stream mapping

* added bframe setting to config

* updated api

* added b-frame option in dashboard

* updated tests and formatting

* "Advanced" section for FFmpeg with extra options

* updated api

* updated tests and formatting

* styling

* made vp9 bitstream filters conditional on b-frames

* fixed gop size condition

* add cq override

* simplified isEdited conditions

* simplified conditional flow for cq mode

* fixed dto

* clarified cq mode in description

* formatting

* added npl setting

* Adjusted b-frame title and description

* fixed rebase

* changed defaults for pascal compatibility, added temporal aq setting

* updated api

* added temporal aq to ui

* polished dashboard

* formatting
2023-09-03 08:22:42 +07:00
Mert
9539a361e4
fix(server): non-nullable IsOptional (#3939)
* custom `IsOptional`

* added link to source

* formatting

* Update server/src/domain/domain.util.ts

Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>

* nullable birth date endpoint

* made `nullable` a property

* formatting

* removed unused dto

* updated decorator arg

* fixed album e2e tests

* add null tests for auth e2e

* add null test for person e2e

* fixed tests

* added null test for user e2e

* removed unusued import

* log key in test name

* chore: add note about mobile not being able to use the endpoint

---------

Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
2023-09-01 16:40:00 +00:00
Jason Rasmussen
a26ed3d1a6
refactor(web,server): use feature flags for oauth (#3928)
* refactor: oauth to use feature flags

* chore: open api

* chore: e2e test for authorize endpoint
2023-09-01 18:08:42 +07:00
Alex The Bot
58ae734fc2 Version v1.76.1 2023-08-30 08:26:04 +00:00
Alex
343d89c032
chore: post release 2023-08-29 14:51:57 -05:00
Alex The Bot
49c2d4d115 Version v1.76.0 2023-08-29 19:24:43 +00:00
Alex Tran
78eeebf8e6 Revert "feat(mobile): upload image assets before videos (#3872)"
This reverts commit 912a13ea0d.
2023-08-29 14:07:59 -05:00
Mert
bcc36d14a1
feat(ml)!: customizable ML settings (#3891)
* consolidated endpoints, added live configuration

* added ml settings to server

* added settings dashboard

* updated deps, fixed typos

* simplified modelconfig

updated tests

* Added ml setting accordion for admin page

updated tests

* merge `clipText` and `clipVision`

* added face distance setting

clarified setting

* add clip mode in request, dropdown for face models

* polished ml settings

updated descriptions

* update clip field on error

* removed unused import

* add description for image classification threshold

* pin safetensors for arm wheel

updated poetry lock

* moved dto

* set model type only in ml repository

* revert form-data package install

use fetch instead of axios

* added slotted description with link

updated facial recognition description

clarified effect of disabling tasks

* validation before model load

* removed unnecessary getconfig call

* added migration

* updated api

updated api

updated api

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2023-08-29 08:58:00 -05:00
waclaw66
22f5e05060
fix(web, mobile): camera info (#3904)
* fix(web): camera lens info

* fix(mobile): camera lens ISO fix

* fix svelte-check
2023-08-29 08:57:20 -05:00
Alex
0a89c7ffc4
chore(mobile): add more catch all error log detail (#3893) 2023-08-27 23:54:04 -05:00
shalong-tanwen
912a13ea0d
feat(mobile): upload image assets before videos (#3872)
* feat(mobile): upload image assets before videos

* mobile: sort by creation date before uploading assets
2023-08-27 02:18:17 -05:00
shalong-tanwen
cb391342d7
feat(mobile): map view (#3661)
* feat(mobile): map page - add map view

* map: add map-markers

* feat(map): add relative date filter

* fix: do not let users scroll past map bounds

* fix: fetch relative date from store to state on init

* feat(mobile):re-fetch markers only on filter change

* feat(mobile) - asset bottom sheet in map page

* feat(mobile): display markers based on bottom sheet scroll

* fix: exif-bottom-sheet - rebase conflict

* feat(mobile): map-view - strongly typed map page events

* feat(map): zoom to asset

* chore: dart analyzer fixes

* map-page move attribution to top-right

* feat(mobile): map view - asset selection handling

* feat(mobile): map-view display map in places row

* fix: make asset marker icon responsive

* optimise map page rebuilds

* refactor(mobile): map page

* feat(mobile): map-view: Go to location

* map-view(mobile): minor refactor

* fix(mobile): Handle invalid coords gracefully

* small styling

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2023-08-27 05:07:35 +00:00
Alex The Bot
f1027d7807 Version v1.75.2 2023-08-26 22:34:54 +00:00
Alex The Bot
cc1fecfffd Version v1.75.1 2023-08-26 18:31:14 +00:00
shalong-tanwen
1b0484fc46
fix(mobile): Widget overflow due to exception on logout (#3869) 2023-08-26 00:06:55 -05:00
Alex The Bot
6fe214a784 Version v1.75.0 2023-08-26 04:44:39 +00:00
Daniel Dietzler
59bb727636
feat(web, server): Ability to use config file instead of admin UI (#3836)
* implement method to read config file

* getConfig returns config file if present

* return isConfigFile for http requests

* disable elements if config file is used, show message if config file is set, copy existing config to clipboard

* fix allowing partial configuration files

* add new env variable to docs

* fix tests

* minor refactoring, address review

* adapt config type in frontend

* remove unnecessary imports

* move config file reading to system-config repo

* add documentation

* fix code formatting in system settings page

* add validator for config file

* fix formatting in docs

* update generated files

* throw error when trying to update config. e.g. via cli or api

* switch to feature flags for isConfigFile

* refactoring

* refactor: config file

* chore: open api

* feat: always show copy/export buttons

* fix: default flags

* refactor: copy to clipboard

---------

Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
2023-08-25 13:44:52 -04:00
Jason Rasmussen
8211afb726
feat(web,server)!: configure machine learning via the UI (#3768) 2023-08-25 06:15:03 +02:00
James58899
2cccef174a
fix(mobile): missing conversion to UTC time zone (#3495) 2023-08-25 06:08:19 +02:00
Jason Rasmussen
10c2bda3a9
chore: remove without thumbs (#3529)
* refactor(server): remove withoutThumbs

* chore: open api

* fix: bad merge
2023-08-24 21:45:54 -04:00
Fynn Petersen-Frey
cf9e04c8ec
feat(server): asset entity audit (#3824)
* feat(server): audit log

* feedback

* Insert to database

* migration

* test

* controller/repository/service

* test

* module

* feat(server): implement audit endpoint

* directly return changed assets

* add daily cleanup of audit table

* fix tests

* review feedback

* ci

* refactor(server): audit implementation

* chore: open api

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
Co-authored-by: Fynn Petersen-Frey <zoodyy@users.noreply.github.com>
Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
2023-08-24 15:28:50 -04:00
Alex The Bot
d2bad1d553 Version v1.74.0 2023-08-19 06:09:16 +00:00
Steffen Auer
4ee8a30a5a
chore(mobile): ios map launch, use OSM as map fallback, use dates as labels (#3772) 2023-08-18 17:53:50 -05:00
martyfuhry
6243bce46c
chore(mobile): Bump to Flutter 3.13 (#3767)
* Bump to Flutter 3.13.0

* Updates permission status

* Adds hidden to app livecycle state

* Updates and switches to WakelockPlus

* bump flutter version github action

* mobile test version

* fix format

* video player

* video uri

* ios test

* Update android target sdk requirement to PlayStore

---------

Co-authored-by: Alex Tran <Alex.Tran@conductix.com>
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2023-08-18 17:52:40 -05:00
Daniele Ricci
98b72fdb9b
feat: set person birth date (web only) (#3721)
* Person birth date (data layer)

* Person birth date (data layer)

* Person birth date (service layer)

* Person birth date (service layer, API)

* Person birth date (service layer, API)

* Person birth date (UI) (wip)

* Person birth date (UI) (wip)

* Person birth date (UI) (wip)

* Person birth date (UI) (wip)

* UI: Use "date of birth" everywhere

* UI: better modal dialog

Similar to the API key modal.

* UI: set date of birth from people page

* Use typed events for modal dispatcher

* Date of birth tests (wip)

* Regenerate API

* Code formatting

* Fix Svelte typing

* Fix Svelte typing

* Fix person model [skip ci]

* Minor refactoring [skip ci]

* Typed event dispatcher [skip ci]

* Refactor typed event dispatcher [skip ci]

* Fix unchanged birthdate check [skip ci]

* Remove unnecessary custom transformer [skip ci]

* PersonUpdate: call search index update job only when needed

* Regenerate API

* Code formatting

* Fix tests

* Fix DTO

* Regenerate API

* chore: verbiage and view mode

* feat: show current age

* test: person e2e

* fix: show name for birth date selection

---------

Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
2023-08-18 16:10:29 -04:00
Jason Rasmussen
5e901e4d21
feat(web,server): run jobs for specific assets (#3712)
* feat(web,server): manually queue asset job

* chore: open api

* chore: tests
2023-08-18 09:31:48 -05:00
Jason Rasmussen
2b839088c7
feat(web,server): server features (#3756)
* feat: server features

* chore: open api

* icon size

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2023-08-18 04:55:26 +00:00
Alex
28d3d3e679
fix(mobile): invalid range on label builder crash timeline (#3759)
* fix(mobile): invalid date on label builder crash timeline

* actual fix

---------

Co-authored-by: Alex Tran <Alex.Tran@conductix.com>
2023-08-17 23:50:41 -05:00
Alex
2de30e34f4
feat(mobile): Improve album UI and Interactions (#3754)
* fix: outlick editable field does not change edit icon

* fix: unfocus on submit change album name

* styling

* styling

* confirm dialog

* Confirm deletion

* render user

* user avatar with image

* use UserCircleAvatar

* rights

* stlying

* remove/leave options

* styling

* state management

---------

Co-authored-by: Alex Tran <Alex.Tran@conductix.com>
2023-08-17 23:26:12 -05:00
shalong-tanwen
d1e74a28d9
fix(mobile): LivePhoto video not uploaded during manual asset upload (#3732) 2023-08-17 07:29:49 -05:00
Lucas Eduardo
53f5643994
fix: shebangs (#3643)
Signed-off-by: lucasew <lucas59356@gmail.com>
2023-08-16 22:50:01 -05:00
Jason Rasmussen
bab739efbd
restore: bulk actions (#3730)
* feat: improve bulk isArchive and isFavorite updates

* chore: open api
2023-08-16 15:04:55 -05:00
Skyler Mäntysaari
19bbdebdf7
fix(mobile): Do not show version announcement if user is not admin. (#3703) 2023-08-15 21:12:49 -05:00
Jason Rasmussen
efc7fdb669
fix(web,server): use POST request to get download info (#3694)
* fix(web,server): use POST request to get download info

* chore: open api
2023-08-15 10:49:32 -05:00
Alex
a75f368d5b
chore: post update 2023-08-15 09:42:28 -05:00
Alex The Bot
a3b6095b61 Version v1.73.0 2023-08-15 12:45:48 +00:00
Alex
67bac9ff59
[Localizely] Translations update (#3682) 2023-08-14 13:16:16 -05:00
Alex
0d80ae3a91
fix(mobile): make user.memoryEnable optional (#3680)
* chore(server): avoid breaking changes

* generate api

* mobile app
2023-08-14 12:52:06 -05:00
X
5fa9704a65
fix(mobile): Empty albums don't show title (#3576) 2023-08-13 08:39:46 -05:00
shalong-tanwen
77a5820c3c
fix(mobile): manual asset upload - app state handling + cancel button (#3611)
* feat(mobile): Cancel manual asset upload

* fix(mobile): re-add the missing translation keys

* feat(mobile): show manual upload error in backup page

* refactor: manual upload in-progress count

* fix(mobile): handle app state properly during manual asset upload
2023-08-12 16:02:58 -05:00
Jorge Avila
b790354f9a
fix(mobile): update useEffect to run on any change instead of only on lead (#3650)
-- this change is mainly for the AlbumInfoListTile widget
2023-08-12 10:02:24 -05:00
Jason Rasmussen
5cd13227ad
feat(web): timeline bucket for albums (4) (#3604)
* feat: server changes for album timeline

* feat(web): album timeline view

* chore: open api

* chore: remove archive action

* fix: favorite for non-owners
2023-08-11 11:00:51 -05:00
X
e9b0840f01
fix(mobile): improve hero animation (#3636) 2023-08-10 08:38:49 -05:00
Alex
f4475549d6
chore(web): better action button consistency (#3633)
Co-authored-by: Alex Tran <Alex.Tran@conductix.com>
2023-08-09 21:05:52 -05:00
Jason Rasmussen
a6eb227330
feat(web,server): user memory settings (#3628)
* feat(web,server): user preference for time-based memories

* chore: open api

* dev: mobile

* fix: update

* mobile work

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
Co-authored-by: Alex Tran <Alex.Tran@conductix.com>
2023-08-09 21:01:16 -05:00
shalong-tanwen
57a7103d75
feat(mobile): launch map app from exif info (#3626) 2023-08-09 14:47:49 -05:00
Alex
ddd4ec2d9e
feat(web/server): webp thumbnail size configurable (#3598)
* feat(server/web): webp thumbnail size configurable

* update api

* add ui and fix test

* lint

* setting for jpeg size

* feat: coerce to number

* api

* jpeg resolution

---------

Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
2023-08-08 09:39:51 -05:00
Mert
1d37d8cac0
feat(server): tone-mapping (#3512)
* added tonemapping

* check for hdr in transcode policy

* merged video thumbnail and transcoding logic

* updated tests

* removed log

* added dashboard option, updated api

* `out_color_matrix` for sdr video thumbs, cleanup

* updated tests & styling

* refactored tonemapping setting

* fixed tests

* formatting

* added tests

* updated api

* set target npl higher for mobius and reinhard

* convert to nv12 before nvenc

* fix test

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2023-08-07 15:35:25 -05:00
Alex
19da705fcb
[Localizely] Translations update (#3589) 2023-08-07 15:35:11 -05:00
Alex The Bot
6efc2ec9be Version v1.72.2 2023-08-07 16:41:17 +00:00
Alex The Bot
b3b5f063cf Version v1.72.1 2023-08-07 02:54:24 +00:00
Alex
13df619ba9
fix(server): pin openapi genreator patch and regenerate api (#3573)
* fix(server): pin openapi genreator patch and regenerate api

* variable
2023-08-06 15:55:14 -05:00
Alex The Bot
3edb347666 Version v1.72.0 2023-08-06 19:48:25 +00:00
Jason Rasmussen
2f26a7edae
feat(server/web): album description (#3558)
* feat(server): add album description

* chore: open api

* fix: tests

* show and edit description on the web

* fix test

* remove unused code

* type event

* format fix

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2023-08-06 02:43:26 +00:00
shalong-tanwen
deaf81e2a4
feat(mobile): Manual asset upload (#3445)
* fix: exclude albums filter in backup provider

* refactor: Separate builder methods for Top Control App Bar buttons

* fix: Show download button only for Remote only assets

* fix(mobile): Force Refresh duration is too low to trigger it consistently

* feat(mobile): Make Buttons dynamic in Home Selection DraggableScrollableSheet

* feat(mobile): Manual Asset upload

* refactor(mobile): Replace _showToast with ImmichToast calls

* refactor(mobile): home_page selectionAssetState handling

* chore(mobile): min and initial size of DraggableScrollState increased

This is to prevent the buttons in the bottom sheet getting clipped behind the 3 way navigation buttons
in the default density of Android devices

* feat(mobile): notifications for manual upload progress

* wording

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2023-08-06 02:40:50 +00:00
Jason Rasmussen
ff32506c5e
feat(web): use time buckets of person detail page (3) (#3557)
* feat: add personId to time bucket endpoints

* chore: open api

* feat(web): time bucket on person detail page
2023-08-05 08:58:52 -05:00
Jason Rasmussen
c6abef186c
refactor(server,web): time buckets for main timeline, archived, and favorites (1) (#3537)
* refactor: time buckets

* feat(web): use new time bucket api

* feat(web): use asset grid in archive/favorites

* chore: open api

* chore: clean up uuid validation

* refactor(web): move memory lane to photos page

* Update web/src/routes/(user)/archive/+page.svelte

Co-authored-by: Sergey Kondrikov <sergey.kondrikov@gmail.com>

* fix: hide archived photos on main timeline

* fix: select exif info

---------

Co-authored-by: Sergey Kondrikov <sergey.kondrikov@gmail.com>
2023-08-04 17:07:15 -04:00
Jason Rasmussen
b44f8d52ee
refactor(server): standardize user controller (#3501)
* chore: remove redundant sortint

* chore: standardize user controller

* chore: open api

* fix: web dtos
2023-08-03 13:17:38 -05:00
X
fa03ed7dd7
fix(mobile): "preselectedAssets" parameter not working (#3516)
* fix(mobile): "preselectedAssets" parameter not working

* fix(mobile): create album page "initialAssets" parameter not working
2023-08-03 11:40:10 -05:00
Alex Tran
5eb8d7e8b0 update openapi 2023-08-02 16:10:55 -05:00
martyfuhry
fb6591607f
Local merged videos should now play locally instead of loading remote (#3521) 2023-08-02 16:01:30 -05:00
Mert
ee49f470b7
feat(server): transcoding hardware acceleration (#3171)
* added transcode configs for nvenc,qsv and vaapi

* updated dev docker compose

* added software fallback

* working vaapi

* minor fixes and added tests

* updated api

* compile libvips

* move hwaccel settings to `hwaccel.yml`

* changed default dockerfile, moved `readdir` call

* removed unused import

* minor cleanup

* fix for arm build

* added documentation, minor fixes

* added intel driver

* updated docs

styling

* uppercase codec and api names

* formatting

* added tests

* updated docs

* removed semicolons

* added link to `hwaccel.yml`

* added newlines

* added `hwaccel` section to docker-compose.prod.yml

* ensure mesa drivers are installed

* switch to mimalloc for sharp

* moved build version and sha256 to json

* let libmfx set the render device

* possible fix for vp9 on qsv

* updated tests

* formatting

* review suggestions

* semicolon

* moved `LD_PRELOAD` to start script

* switched to jellyfin's ffmpeg package

* fixed dockerfile

* use cqp instead of icq for qsv vp9

* updated dockerfile

* added sha256sum for other platforms

* fixtures
2023-08-01 20:56:10 -05:00
Jason Rasmussen
b9cda59172
refactor(server)!: add/remove album assets (#3109)
* refactor: add/remove album assets

* chore: open api

* feat: remove owned assets from album

* refactor: move to bulk id req/res dto

* chore: open api

* chore: merge main

* dev: mobile work

* fix: adding asset from web not sync with mobile

* remove print statement

---------

Co-authored-by: Alex Tran <Alex.Tran@conductix.com>
2023-08-01 20:29:14 -05:00
Jason Rasmussen
310fab526d
chore(server): auto sort open api spec (#3500)
* chore: recursively sort api keys

* chore: open api
2023-08-01 16:49:18 +00:00
PyKen
a9cd3609dd
fix(mobile): Improve vertical swipe detection in gallery viewer (#3486)
* Improve vertical swipe detection in gallery viewer

* Use final
2023-07-31 13:18:40 -05:00
shalong-tanwen
e0a3e5a200
feat(mobile): auto close memories on scrolling beyond first / last memory (#3476)
* feat(mobile): Close on scroll beyond first / last memory

* fix(mobile): close memory only on the last asset
2023-07-31 13:14:17 -05:00
Alex
c587fb1df8
fix(mobile): fix asset order in album from latest to oldest (#3469) 2023-07-31 13:02:29 -05:00
PyKen
51cfe10c28
feat(web/server): Search by panorama photos (#3470)
* Add panorama filter

* Add generated api changes

* Fix naming
2023-07-30 20:31:57 -05:00
Jacob Roberts
23d3657ac2
fix the grammar for albumns to be backed up (#3461) 2023-07-29 01:33:48 -05:00
shalong-tanwen
74f04336bb
feat(mobile): Clip and change background for Asset selection (#3460) 2023-07-29 01:32:57 -05:00
Alex The Bot
3f1cf44717 Version v1.71.0 2023-07-28 18:32:33 +00:00
Alex
89ddbac8bc
chore: build report 2023-07-28 09:06:25 -05:00
Dmitry Brazhenko
e071b82e8a
feat (web/server) 360 degrees Web panoramas [attempt 2] (#3412)
* commit 1 (isPanorama: boolean)

* working solution for projectiontypeenum

* fix

* format fix

* fix

* fix

* fix

* fix

* enum projectiontype

* working solution with exif

* fix

* reverted >

* fix format

* reverted auto-magic api.ts prettification

* fix

* reverted api.ts autogenerated

* api ts regenerated

* Update web/src/lib/components/assets/thumbnail/thumbnail.svelte

Co-authored-by: Sergey Kondrikov <sergey.kondrikov@gmail.com>

* Update web/src/lib/components/asset-viewer/asset-viewer.svelte

Co-authored-by: Sergey Kondrikov <sergey.kondrikov@gmail.com>

* exifProjectionType

* Update server/src/microservices/processors/metadata-extraction.processor.ts

Co-authored-by: Sergey Kondrikov <sergey.kondrikov@gmail.com>

* projectionType?: string = ProjectionType.NONE;

* not null

* projectionType!: ProjectionType;

* opeapi generator fix

* fixes

* fix

* fix

* generate api

* asset.exifInifo?.projectionType

* Update server/src/domain/asset/response-dto/exif-response.dto.ts

Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>

* Update server/src/microservices/processors/metadata-extraction.processor.ts

Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>

* enum -> varchar;projectiontypeenum->projectiontype

* asset-viewer fixed prettiffier

* @Column({}) single line

* enum | string

* make api

* enum | string

* enum | str fix

* fix

* chore: use string instead of enum

* chore: open api

* fix: checks

---------

Co-authored-by: Sergey Kondrikov <sergey.kondrikov@gmail.com>
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
2023-07-27 23:29:09 -05:00
Dhrumil Shah
fe9ef1a3ea
feat(mobile) - Add better offline support (#3279)
* WIP: Adding init support for offline-loading

* WIP: found bug and fixed with offline browing adv setting

* WIP: big some bugs with first login

* WIP: static analysis fixes

* PR: Removed setting for offline browing

* PR: static analysis - remove imports

* PR: Refactored user login state

* PR: changed logger log level as it happens a lot

* PR: change log var to _log

* PR: addressing comments

* WIP: bug fixes

* WIP: static analysis on the logger variable
2023-07-27 22:05:27 -05:00
Alex The Bot
2872886e77 Version v1.70.0 2023-07-27 03:40:16 +00:00
martyfuhry
7d3ec8af37
fix(mobile): Memory lane now updates to the correct day if the app is resumed the next day (#3414)
* Adds todayProvider to memory lane

* Revert "Adds todayProvider to memory lane"

This reverts commit 67ae58b513.

* Invalidate memory provider on app resume
2023-07-24 11:39:10 -05:00
Alex
4977926c88
post mobile release 2023-07-23 13:51:48 -05:00
Alex The Bot
f41e1159d1 Version v1.69.0 2023-07-23 17:40:02 +00:00
Dhrumil Shah
baf1ea313e
feat(mobile): render login fields/buttons based on server configuration (#3339)
* WIP: Show login fields/buttons based on server configuration

* PR: change login disabled message to use translation

* added localization string)

* text

---------

Co-authored-by: Alex Tran <Alex.Tran@conductix.com>
2023-07-22 23:04:17 -05:00
martin
ed64c91da6
fix: hide faces (#3352)
* fix: hide faces

* remove unused variable

* fix: work even if one fails

* better style for hidden people

* add hide face in the menu dropdown

* add buttons to toggle visibility for all faces

* add server test

* close modal with escape key

* fix: explore page

* improve show & hide faces modal

* keep name on people card

* simplify layout

* sticky app bar in show-hide page

* fix format

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2023-07-22 22:00:43 -05:00
shalong-tanwen
337cd33042
fix(mobile): Decrease ScrollBar Fade timeout to a second (#3370) 2023-07-22 15:00:22 -05:00
martyfuhry
1e8fc7266c
Fixes hide controls when zoomed and shows them when not zoomed (#3366) 2023-07-22 14:56:49 -05:00
martyfuhry
7f35583c2c
feat(mobile): Precaches next image in memories (#3365)
* Precaches images in memories

* Fixes jumps and precaches images

* refactors to move precacheAsset over to ImmichImage to keep logic in same place

---------

Co-authored-by: Alex Tran <Alex.Tran@conductix.com>
2023-07-22 14:51:25 -05:00
martyfuhry
7b25c9d0a7
fix(mobile): Uses gray box placeholder for loading images by default and fixes odd spinner (#3364)
* image loading

* Use gray box placeholder by default and fix odd spinner with normal spinner

* Progress indicator is separate

* Fixes loading for cached network image too

---------

Co-authored-by: Alex Tran <Alex.Tran@conductix.com>
2023-07-22 10:03:31 -05:00
shalong-tanwen
c0bee2a6b7
fix(mobile): AssetCount reset and Elliptical progress in Memories (#3355)
* fix: Constraint CircularProgressIndicator in Memories

* fix(mobile): Asset count reset when scroll cancelled midway in Memories
2023-07-21 23:56:49 -05:00
Alex The Bot
1835fbae49 Version v1.68.0 2023-07-20 03:06:12 +00:00
martin
f28fc8fa5c
feat(server,web): hide faces (#3262)
* feat: hide faces

* fix: types

* pr feedback

* fix: svelte checks

* feat: new server endpoint

* refactor: rename person count dto

* fix(server): linter

* fix: remove duplicate button

* docs: add comments

* pr feedback

* fix: get unhidden faces

* fix: do not use PersonCountResponseDto

* fix: transition

* pr feedback

* pr feedback

* fix: remove unused check

* add server tests

* rename persons to people

* feat: add exit button

* pr feedback

* add server tests

* pr feedback

* pr feedback

* fix: show & hide faces

* simplify

* fix: close button

* pr feeback

* pr feeback

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2023-07-18 13:09:43 -05:00
Alex
a2568f711f
chore(mobile): remove things sections (#3309)
Co-authored-by: Alex Tran <Alex.Tran@conductix.com>
2023-07-17 11:20:05 -05:00
Adam Cigánek
e287b18435
fix(mobile): fix forgetting backup albums (#3108) (#3244) 2023-07-17 03:08:58 +00:00
Dhrumil Shah
9012cf6946
fix(mobile) - Allow sign out if server is down, or device is offline (#3275)
* WIP: Allow app sign out when server cannot be reached

* WIP: import logging lib

* WIP: move log out up
2023-07-15 20:52:41 -05:00
Alex
c254a04aec
feat(server): add endpoint to get supported media types on the server (#3284)
* feat(server): add endpoint to get supported media types on the server

* api generation

* remove xmp format

* change dto

* openapi

* dev
2023-07-15 20:24:46 -05:00
Alex
436a2e9bf3
chore(mobile): share logo platform consistency (#3290) 2023-07-15 20:11:51 -05:00
Jason Rasmussen
f55d63fae8
feat(server): storage label claim (#3278)
* feat: storage label claim

* chore: open api
2023-07-15 14:50:29 -05:00
Alex The Bot
81e07fda08 Version v1.67.2 2023-07-14 14:01:20 +00:00
Jason Rasmussen
f952bc0b64
refactor(server): asset stats (#3253)
* refactor(server): asset stats

* chore: open api
2023-07-14 08:30:17 -05:00
xpwmaosldk
ea3d01ec62
chore(mobile): clean up (#3256) 2023-07-14 08:20:04 -05:00
Alex The Bot
2d4e2af629 Version v1.67.1 2023-07-14 02:45:02 +00:00
Alex The Bot
cd184cf366 Version v1.67.0 2023-07-14 00:39:54 +00:00
Fynn Petersen-Frey
f9739c9730
feat(mobile): stop asset grid rebuilds (#3226)
* feat(mobile): stop asset grid rebuilds

* undo unnecessary changes

---------

Co-authored-by: Fynn Petersen-Frey <zoodyy@users.noreply.github.com>
2023-07-13 10:42:06 -05:00
Jason Rasmussen
b71d7e33bb
refactor(server): calculate asset type server side (#3200)
* refactor(server): calculate asset type server-side

* chore: open api

* chore: remove comments

* fix: linting

* update

* Revert "update"

This reverts commit dc58702923.

* fix: upload LivePhotos

* chore: remove unused request fields for upload

* remove unused method

* mobile-fix: livePhoto filename

* fix: revert check for livephotos filename and extension

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2023-07-11 22:56:30 -05:00
Alex
c86b2ae500
feat(web/server): merge faces (#3121)
* feat(server/web): Merge faces

* get parent id

* update

* query to get identical asset and change controller

* change delete asset signature

* delete identical assets

* gaming time

* delete merge person

* query

* query

* generate api

* pr feedback

* generate api

* naming

* remove unused method

* Update server/src/domain/person/person.service.ts

Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>

* Update server/src/domain/person/person.service.ts

Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>

* better method signature

* cleaning up

* fix bug

* added interfaces

* added tests

* merge main

* api

* build merge face interface

* api

* selector interface

* style

* more style

* clean up import

* styling

* styling

* better

* styling

* styling

* add merge face diablog

* finished

* refactor: merge person endpoint

* refactor: merge person component

* chore: open api

* fix: tests

---------

Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
2023-07-11 16:52:41 -05:00
Jason Rasmussen
6180828ed2
refactor(server): mime types (#3197)
* refactor(server): mime type check

* chore: open api

* chore: remove duplicate test
2023-07-10 12:56:45 -05:00
Mert
8349a28ed8
refactor(server): modularize getFfmpegOptions (#3138)
* refactored `getFfmpegOptions`

refactor transcoding, make separate service

* fixed enum casing

* use `Logger` instead of `console.log`

* review suggestions

* use enum for `getHandler`

* fixed formatting

* Update server/src/domain/media/media.util.ts

Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>

* Update server/src/domain/media/media.util.ts

Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>

* More specific imports, renamed codec classes

* simplified code

* removed unused import

* added tests

* added base implementation for bitrate and threads

---------

Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
2023-07-08 21:43:11 -05:00
Alex
73e82303e7
[Localizely] Translations update (#3162) 2023-07-08 15:27:24 -05:00
Alex
64697235d6
feat(mobile): adding additional languages (#3161)
* update locale

* localizely

* Update info.plist

---------

Co-authored-by: Alex Tran <Alex.Tran@conductix.com>
2023-07-08 15:26:26 -05:00
Mert
a5cc408469
fix(server): thumbnail content type not being passed to stream handle (#3137)
* asset mimetype instead of application/octet-stream

* use thumbnail mimetype instead

* narrowed openapi spec

* thumbnail format validation

* JPEG fallback, `getThumbnailPath` returns format

* return content type in `getThumbnailPath`

* moved `format` validation to dto

* removed unused import

* moved fallback warning

* added `ApiOkResponse`
2023-07-08 15:07:56 -05:00
Fynn Petersen-Frey
d590dec159
Revert "feat(mobile): reduce UI rebuilds (#3129)" (#3159)
This reverts commit fe2330ebf6.
2023-07-08 15:03:54 -05:00
Alex
b262bcec03
[Localizely] Translations update (#3158) 2023-07-08 10:09:34 -05:00
Fynn Petersen-Frey
fe2330ebf6
feat(mobile): reduce UI rebuilds (#3129) 2023-07-08 08:46:22 -05:00
Alex
812cb3d940
Revert "fix(server): use thumbnail content type instead of application/octet-stream (#3075)" (#3134)
* Revert "fix(server): use thumbnail content type instead of application/octet-stream (#3075)"

This reverts commit 3cc77d945b.

* generate api
2023-07-06 17:25:56 -05:00
Alex Tran
852ef3cd1b chore(server): update openapi 2023-07-06 16:56:02 -05:00
Mert
3cc77d945b
fix(server): use thumbnail content type instead of application/octet-stream (#3075)
* asset mimetype instead of application/octet-stream

* use thumbnail mimetype instead

* narrowed openapi spec

* thumbnail format validation

* JPEG fallback, `getThumbnailPath` returns format

* return content type in `getThumbnailPath`

* moved `format` validation to dto

* removed unused import

* moved fallback warning
2023-07-06 10:27:21 -05:00
Alex The Bot
0d30ceb284 Version v1.66.1 2023-07-05 02:50:53 +00:00
Alex The Bot
8a3ab5be3e Version v1.66.0 2023-07-04 15:51:53 +00:00
Alex
7947f4db4c
feat(web/server): Face thumbnail selection (#3081)
* add migration

* verify running migration populate new value

* implemented service

* generate api

* FE works

* FR Works

* fix test

* fix test fixture

* fix test

* fix test

* consolidate api

* fix test

* added test

* pr feedback

* refactor

* click ont humbnail to show feature selection as well
2023-07-02 17:46:20 -05:00
Fynn Petersen-Frey
615893be38
fix(mobile): setting to always display remote assets (#3044) 2023-06-30 20:47:44 -05:00
martyfuhry
734f8e02b5
fix(mobile): Uses ImageFiltered for performance (#3051)
* Uses ImageFiltered for performance

* values

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2023-06-30 13:49:17 -05:00
Jason Rasmussen
ad343b7b32
refactor(server): download assets (#3032)
* refactor: download assets

* chore: open api

* chore: finish tests, make size configurable

* chore: defualt to 4GiB

* chore: open api

* fix: optional archive size

* fix: bugs

* chore: cleanup
2023-06-30 11:24:28 -05:00