Commit graph

530 commits

Author SHA1 Message Date
Matthias Rupp
65daf342df
feat(web): Global map showing all assets with geo information (#2355)
* First crude implementation of the global asset map in web

* Use single DOM element for all markers

* Minor layout changes

* Refactor

* Add asset viewer

* Add API endpoint that returns only assets with location information (Thanks @EPP100)

* Remove sidebar icon flip

* Add dark theme support

* Center map to most recent asset

* Allow cluster viewing

* Fix linter errors

* Add newlines

* Fix ts errors

* Fix eslint error

* Run prettier

* Server code style

* Fix openapi mobile code generation issues

* Map markers test

* fix: Support video thumbnails

* Update API

* Review suggestions

* Review suggestions

* Linter error

* Chage mapMarker endpoint to map-marker

* Clean up leaflet imports
2023-05-05 20:33:30 -05:00
Michel Heusschen
15a498fd60
feat(server): add api key to openapi spec (#2362)
* feat(server): add api key to openapi spec

* regenerate api
2023-05-04 11:41:29 -05:00
Jason Rasmussen
af7da9d2c9
chore: standardize process method names (#2363) 2023-05-04 11:40:34 -05:00
Jason Rasmussen
91ad584064
chore: regenerate open api (#2374) 2023-05-03 14:27:57 -05:00
Jason Rasmussen
6acfb55dcc
fix: correct npx path (#2354) 2023-04-28 21:28:35 -05:00
Jason Rasmussen
ce42b84430
build: improve pump script (#2351) 2023-04-28 21:10:32 -05:00
Jason Rasmussen
e22cdea485
chore(server,mobile): remove device info entity (#1527)
* chore(server): remove unused device info code

* chore: generate open api

* remove any DeviceTypeEnum usage from mobile

* chore: coverage

* fix: drop device info table

---------

Co-authored-by: Fynn Petersen-Frey <zody22@gmail.com>
2023-04-28 15:01:03 -05:00
Jason Rasmussen
c4f5dc6d01
fix(server): oauth mobile callback url (#2339)
* fix(server): mobile redirect uri

* chore: add test
2023-04-26 15:39:18 -05:00
Jason Rasmussen
b8313abfa8
feat(web,server): manage authorized devices (#2329)
* feat: manage authorized devices

* chore: open api

* get header from mobile app

* write header from mobile app

* styling

* fix unit test

* feat: use relative time

* feat: update access time

* fix: tests

* chore: confirm wording

* chore: bump test coverage thresholds

* feat: add some icons

* chore: icon tweaks

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2023-04-25 21:19:23 -05:00
Jason Rasmussen
aa91b946fa
fix(server): use current schema for search/explore (#2331) 2023-04-25 12:21:07 -05:00
Alex The Bot
3d251f51fc Version v1.54.1 2023-04-23 02:36:09 +00:00
Alex The Bot
b0d5cb62fa Version v1.54.0 2023-04-18 16:34:37 +00:00
Alex
975d23ee5c
fix(web): empty album is not auto deleted (#2283)
* fix(web): empty album is not auto deleted

* regenerate api

* fix test
2023-04-18 11:26:04 -05:00
Alex
2e5cd986dd
feat(mobile): Archive feature on mobile (#2258)
* update asset to include isArchive property

* Not display archived assets on timeline

* replace share button to archive button

* Added archive page

* Add bottom nav bar

* clean up homepage

* remove deadcode

* improve on sync is archive

* show archive asset correctly

* better merge condition

* Added back renderList to re-rendering don't jump around

* Better way to handle showing archive assets

* complete ArchiveSelectionNotifier

* toggle archive

* remove deadcode

* fix unit tests

* update assets in DB when changing assets

* update asset state to reflect archived status

* allow to archive assets via multi-select from timeline

* fixed logic

* Add options to bulk unarchive

* regenerate api

* Change position of toast message

---------

Co-authored-by: Fynn Petersen-Frey <zoodyy@users.noreply.github.com>
2023-04-17 00:02:07 -05:00
Alex
a9859bc029
feat: Add description (#2237)
* Added dto, logic to insert description and web implementation

* create text field and update on remote database

* Update description and save changes

* styling

* fix web test

* fix server test

* preserve description on metadata extraction job run

* handle exif info is null situation

* pr feedback

* format openapi spec

* update createAssetDto

* refactor logic to service

* move files

* only owner can update description

* Render description correctly in shared album

* Render description correctly in shared link

* disable description edit for not owner of asset on mobile

* localization and clean up

* fix test

* Uses providers for description text (#2244)

* uses providers for description text

* comments

* fixes initial data setting

* fixes notifier

---------

Co-authored-by: martyfuhry <martyfuhry@gmail.com>
2023-04-13 10:22:06 -05:00
dependabot[bot]
561b208508
chore(deps): bump class-validator from 0.13.2 to 0.14.0 in /server (#2240)
Bumps [class-validator](https://github.com/typestack/class-validator) from 0.13.2 to 0.14.0.
- [Release notes](https://github.com/typestack/class-validator/releases)
- [Changelog](https://github.com/typestack/class-validator/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/typestack/class-validator/compare/v0.13.2...v0.14.0)

---
updated-dependencies:
- dependency-name: class-validator
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-12 20:56:07 +00:00
Sergey Kondrikov
d314805caf
feat (server, web): Implement Archive (#2225)
* feat (server, web): add archive

* chore: generate api

* feat (web): add empty placeholder for archive page

* chore: remove title on favorites page

Duplicates sidebar selection. Two pages (Archive and Favorites)
are consistent now

* refactor (web): create EmptyPlaceholder component for empty pages

* fixed menu close button not close:

* fix (web): remove not necessary store call

* test (web): simplify asset tests code

* test (web): simplify asset tests code

* chore (server): remove isArchived while uploading

* chore (server): remove isArchived from typesense schema

* chore: generate api

* fix (web): delete asset from archive page

* chore: change archive asset count endpoint

old endpoint: /asset/archived-count-by-user-id
new endpoint: /asset/stat/archive

* chore: generate api

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2023-04-12 10:37:52 -05:00
Alex
eb9481b668
fix(server): generate thumbnail job uses stale path (#2236)
* fix(server): generate thumbnail job' using stale path

* add query for webp generation

* revert query for webp because it happens after files are moved

* Add log info
2023-04-11 20:28:25 -05:00
Alex
dd8d113334
fix(server): jobs using stale path (#2233)
* fix(server): jobs using stale path

* fixed test

* pr feedback
2023-04-11 08:56:52 -05:00
Alex
258bc328e0
chore(server): better logging for error message (#2230)
* chore(server): better logging for error message

* pr feedback
2023-04-11 08:53:42 -05:00
Alex
a1a62b00a0
feat(server): add originalFileName to asset table (#2231) 2023-04-11 05:23:39 -05:00
Alex
db628cec11
fix(server): cannot delete an asset if presented in album (#2223)
* fix(server): cannot delete an asset if presented in album

* added migration

* preserve correct migration
2023-04-09 21:48:01 -05:00
Alex
e9c171f7ab
fix(web): show OAuth login button when disabled (#2219)
* fix(web): show OAuth login button when disable

* update api
2023-04-08 22:18:22 -05:00
Michel Heusschen
983abf5e14
chore(server): update openapi (#2205) 2023-04-08 21:26:09 -05:00
Skyler Mäntysaari
d76b3c8f78
chore(server): remove unneeded debug logging (#2203)
* chore(server): commented out debug log line for codecs

* chore(server): removed debug log line for codecs as it's not needed

* Prettier run

* Make the log more useful and move it to verbose level
2023-04-08 20:35:54 -05:00
Skyler Mäntysaari
fb42a736f1
fix(server): expand tests and add avi, mov to mimetypes. (#2213) 2023-04-08 20:35:27 -05:00
Skyler Mäntysaari
a68fbcc520
chore(server): redis error handling (#2212)
* chore(server): bull error handler

* chore(server): redis error handling

* Let's not touch bull
2023-04-08 20:35:08 -05:00
Michel Heusschen
8e3a7caebd
feat(server): improve validation of albums (#2188)
* feat(server): improve validation of albums

* regenerate openapi + fix downloadArchive for web
2023-04-06 12:50:55 -05:00
Alex The Bot
cfcae39699 Version v1.53.0 2023-04-06 04:56:28 +00:00
Zack Pollard
a5a6bebf0b
feat(all): transcoding improvements (#2171)
* test: rename some fixtures and add text for vertical video conversion

* feat: transcode video asset when audio or container don't match target

* chore: add niceness to the ffmpeg command to allow other processes to be prioritised

* chore: change video conversion queue to one concurrency

* feat: add transcode disabled preset to completely turn off transcoding

* linter

* Change log level and remove unused await

* opps forgot to save

* better logging

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2023-04-05 22:32:59 -05:00
Michel Heusschen
7b9248c10a
chore(server): update typeorm (#2173) 2023-04-05 13:23:03 +01:00
Alex
4853240de9
fix(server): Revert alpine version to fix Sharp dependencies not installed correctly (#2172) 2023-04-05 02:57:30 +00:00
Michel Heusschen
d5f2e3e45c
refactor(server): more consistent param validation (#2166) 2023-04-04 17:24:08 -05:00
Jason Rasmussen
4cb74f0fe4
refactor(server): reverse geocoding (#2167)
* refactor(server): reverse geocoding

* fix: nullable results
2023-04-04 17:23:07 -05:00
Jason Rasmussen
48393c215b
refactor(server): video transcode processor (#2163)
* refactor(server): video transcode processor

* refactor: rename shouldRotate to isVideoVertical, remove unnecessary await

* refactor: rename getOptions to getFfmpegOptions to be clearer in that context

* fix: optimal preset converting vertical videos already smaller than target resolution

---------

Co-authored-by: Zack Pollard <zackpollard@ymail.com>
2023-04-04 10:48:02 -04:00
Jason Rasmussen
ec6a7ae97c
fix(server): do not link live photos across users (#2162) 2023-04-03 23:48:05 -05:00
Zack Pollard
808d6423be
feat(all): ffmpeg quality options improvements (#2161)
* feat: change target scaling to resolution in ffmpeg config

* feat(microservices): scale vertical video correctly, only scale if video is larger than target
2023-04-03 20:42:53 -05:00
Sergey Kondrikov
7e526f87b4
feat(server): enhanced thumbnails generation code (#2147)
* Add size parameter to extractVideoThumbnail

* Ensure minimum dimension of webp thumbnail
2023-04-03 20:18:27 -05:00
Skyler Mäntysaari
fc585bffcc
feat(server): Support TypeSense High-Availibility configuration (#2146)
* feat(server): Support TypeSense High-Availibility configuration.

* Lint fixes

* Address comments.
2023-04-03 20:16:45 -05:00
Devin Buhl
2dcccb37a0
chore(docker): Default NODE_ENV to production for server image and update alpine version (#2157)
* default NODE_ENV to production for server image

* update node image to use 3.17 alpine in server

* update web docker image to use alpine 3.17

* remove NODE_ENV from production docker-compose

* NODE_ENV is also needed default in machine-learning
2023-04-03 15:05:29 -05:00
Michel Heusschen
c584791b65
feat(server): improve validation in controllers (#2149)
* feat(server): improve validation in controllers

* set ValidationPipe config with decorator
2023-04-02 23:24:18 -05:00
AndreAle94
94b2ea9b5f
Add timezone to exif entity (#1894)
* Add timezone to exif entity

* Refactor logging

---------

Co-authored-by: Andrea Alemani <andrea.alemani94@gmail.com>
2023-04-02 14:11:24 -05:00
Michel Heusschen
b06ddec2d5
feat(server/web): jobs clear button + queue status (#2144)
* feat(server/web): jobs clear button + queue status

* adjust design and colors

* Adjust some styling

* show status next to buttons instead of on top

* Update rounded corner for badge

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2023-04-01 15:46:07 -05:00
Alex
d04f340b5b
fix(server): user update (#2143)
* fix(server): user update

* update dto

* generate api

* improve validation

* add e2e tests for updating user

---------

Co-authored-by: Michel Heusschen <59014050+michelheusschen@users.noreply.github.com>
2023-04-01 11:43:45 -05:00
Skyler Mäntysaari
23e4449f27
feat(server): redis sentinel support (#2141)
* feat(server): redis sentinel initial support

* feat(server): Lint fixes

* Include example for Redis Sentinel.

* Address PR comments
2023-03-31 15:33:21 -05:00
Michel Heusschen
51785a1ead
feat(server): apply ValidationPipe on controllers (#2137) 2023-03-31 10:14:01 -05:00
Jason Rasmussen
49f66be8af
chore(server): use ioredis (#2116) 2023-03-31 09:36:08 -05:00
Michel Heusschen
009b6e3ca5
feat(server): add faststart to ffmpeg options (#2138) 2023-03-31 09:34:54 -05:00
Jason Rasmussen
34d300d1da
refactor(server): flatten infra folders (#2120)
* refactor: flatten infra folders

* fix: database migrations

* fix: test related import

* fix: github actions workflow

* chore: rename schemas to typesense-schemas
2023-03-30 14:38:55 -05:00
Jason Rasmussen
468e620372
chore: remove unused config (#2121) 2023-03-30 12:22:25 -05:00