1
Fork 0
Commit Graph

557 Commits

Author SHA1 Message Date
Peter - Ubuntu dual boot e0176b2cf8 Remove unnecessary files. 2021-09-19 20:24:44 +01:00
Peter - Ubuntu dual boot f530e90d27 Forgot to add test code. 2021-09-19 20:03:48 +01:00
Peter - Ubuntu dual boot 13330c4e1b Starting to write unit tests. 2021-09-19 20:02:52 +01:00
Peter - Ubuntu dual boot cb397096d5 Transparent disabled buttons, but not resetting disabled state on picture change, unless sidebar is closed. 2021-09-18 21:49:28 +01:00
Peter - Ubuntu dual boot 7da8898f69 Redundant code, typo. 2021-09-18 20:46:53 +01:00
Peter - Ubuntu dual boot 4c995a976e Cleaning up commented out code. 2021-09-18 20:44:59 +01:00
Peter - Ubuntu dual boot f71cef04fa Fixing album model and index checks. 2021-09-18 20:43:34 +01:00
Peter - Ubuntu dual boot 406a3575ef Reverting changes after I forgot to create a new branch for testing. 2021-09-18 20:37:59 +01:00
Peter - Ubuntu dual boot 93f972a087 ? 2021-09-18 20:23:00 +01:00
Peter - Ubuntu dual boot 5797db4d8c More work, needs fixing 2021-09-18 20:21:40 +01:00
viktorstrate 56dfedd522
WIP: Work on new timeline 2021-09-18 20:17:24 +02:00
Peter - Ubuntu dual boot 3fc7730c56 Beginning basic logic for face covers - adding new PreviewImageFaces field. 2021-09-18 19:10:57 +01:00
Peter - Ubuntu dual boot 4ee8040364 Working permissions (logic reused from other components), album and photo sidebars now fully functional. Will require some testing, and need to adjust for people pages. 2021-09-18 11:58:21 +01:00
Peter - Ubuntu dual boot 47692bfcf8 Front end prototype. Need to figure out how to get album id from photo id, currently set to album id 3 for proof of concept. 2021-09-17 19:25:59 +01:00
Peter - Ubuntu dual boot 6408b2c0d0 Proof of concept for variable album covers - GQL playground working. 2021-09-17 15:35:01 +01:00
Peter - Ubuntu dual boot 193e05e7e0 Proof of concept for variable album covers - GQL playground working. 2021-09-17 15:33:44 +01:00
viktorstrate 5eb4bf83f3
Fix bug where search would be case sensitive when using PostgreSQL 2021-09-02 18:20:10 +02:00
viktorstrate adfcf33e79
Write tests for searching 2021-09-02 18:09:37 +02:00
viktorstrate 521b121613
Hide faces from frontend if disabled 2021-08-31 12:05:46 +02:00
viktorstrate 9bcfdbb2cd
Add environment variables to disable features
Face detection still needs to be hidden on the frontend if it's disabled
2021-08-31 11:34:55 +02:00
viktorstrate e142784267
Improve performance when testing if user owns an album
This is done by querying parent albums instead of sub-albums,
which changes the runtime from exponential to linear time.

This fixes #388
2021-08-30 21:36:45 +02:00
viktorstrate ff3d0af513
Make Ascending the default sort direction.
This solves #366
2021-08-30 17:03:39 +02:00
viktorstrate 30d5f06591
Integrate simplified Chinese 2021-08-30 12:17:39 +02:00
Théa Grondier 9365cf0f78 Linting 2021-08-22 23:46:17 +02:00
Théa Grondier 2dadca5e1e Fix: Correctly display counterpart JPGs for RAWs 2021-08-22 17:18:36 +02:00
Bruno Pereira e79d6ca61e Generated types for portuguese translation 2021-08-10 00:33:09 +01:00
viktorstrate 193c57a740
Generate typescript types for chinese translation 2021-07-25 15:39:05 +02:00
wilson 7d55bb58a4 Add traditionalChinese option in the menu
Update traditionalChinese translation
2021-07-25 20:29:44 +08:00
viktorstrate 110cc68546
Add russian translation 2021-07-22 13:56:29 +02:00
Marco Herrn fe9e2752df Treat symlinks to directories like directories
It seems that the first try was not enough. Now symlinks should be
 detected in all cases.
2021-07-20 20:39:11 +02:00
Marco Herrn 0129cb7703 Treat symlinks to directories like directories
This allows symlinking to create additional subalbums.

Closes: #431
2021-07-16 13:48:29 +02:00
Marco Herrn 7c993832ec Add support for Matroska (MKV) video container 2021-07-12 11:36:23 +02:00
feinedsquirrel 52c2c76169 update Kagami/go-face target commit and new deps for it 2021-06-04 14:45:33 -06:00
Dhole 3de9282fba Sanitize float values in EXIF fields
Read exposure as rational in EXIF internal parser
2021-05-19 13:53:34 +02:00
viktorstrate 24b74c2d94
Add check that prevents deletion of sole admin user 2021-05-11 20:40:18 +02:00
viktorstrate 049a06302a
Add unit tests for scanner media_type 2021-05-06 22:25:17 +02:00
viktorstrate b022a13e55
Batch exiftool runs + scanner package restructuring 2021-05-06 22:01:48 +02:00
viktorstrate 6693cb589c
Fix incorrect media type resolver func 2021-04-27 20:31:15 +02:00
viktorstrate 8d2654997d
Add test for routes authenticateMedia 2021-04-26 22:35:10 +02:00
viktorstrate 8539d48944
Add test for TokenFromBearer 2021-04-26 21:39:20 +02:00
viktorstrate 0a0fdeedc5
Improve user tests API 2021-04-26 21:22:28 +02:00
viktorstrate 542e5c8532
Improve scanner_album NewRootPath tests 2021-04-26 20:37:29 +02:00
viktorstrate 253f126aaf
Add scanner_album tests 2021-04-26 15:07:06 +02:00
viktorstrate 1029b61a4c
Fix faces not getting scanned
- This fixes #344
- Add integration tests for face recognition
- Properly check that the user own the queried album
2021-04-26 12:21:15 +02:00
viktorstrate d03923992c
clean up api log prints 2021-04-26 10:26:54 +02:00
viktorstrate 3073cfb953
Attempt to fix clear db for mysql 2021-04-24 19:28:20 +02:00
viktorstrate ed02e90338
Attempt to fix clear db 2021-04-24 19:21:10 +02:00
viktorstrate d09d5f6ca0
Improve codeql action + fix test db clean 2021-04-24 19:12:45 +02:00
viktorstrate 761db0639d
Add simple scanner integration test 2021-04-24 18:51:21 +02:00
viktorstrate 060e2008b7
Add tests for albums, users, site_info models 2021-04-23 23:07:18 +02:00
viktorstrate 60f8a68bf6
Implement database integration tests 2021-04-23 15:10:23 +02:00
viktorstrate dc8325bd4a
Extend exif tests 2021-04-22 22:46:52 +02:00
viktorstrate 88a9d705a9
Add integration tests for exif parsers 2021-04-22 21:37:59 +02:00
Robin Moser 8bd47c4de6
add structure for German localization 2021-04-20 01:16:39 +02:00
viktorstrate 7e4e0dd1e7
Integrate polish translation 2021-04-19 19:09:40 +02:00
viktorstrate 32f4aaa840
Integrate spanish translation 2021-04-19 13:23:21 +02:00
viktorstrate e0e678e144
Rewrite and fix FacesOverlay 2021-04-17 22:40:46 +02:00
viktorstrate e43a344902
Rewrite sidebar share to Typescript 2021-04-17 22:14:17 +02:00
viktorstrate f6f7377096
Fix bug causing mediatype to always be Photo 2021-04-17 17:51:13 +02:00
viktorstrate 7f885fa63e
Fix minor bugs 2021-04-17 17:28:16 +02:00
viktorstrate 6c63d3a6dd
Integrate italian translation
- Add before save checks on user language, to make sure the value is
  valid
2021-04-17 12:23:02 +02:00
viktorstrate 8e8abe7d37
Replace all gorm .Scan() calls with .Find()
if the argument is a model. This ensures that the proper gorm hooks are
called which was causing the full screen view on the Places page to
crash.

Also fixed a bug in Messages.js that caused a crash.
2021-04-15 16:27:26 +02:00
viktorstrate de76360fbf
Integrate swedish translation 2021-04-15 11:59:49 +02:00
viktorstrate bf19ffc0a5
Integrate french translation 2021-04-14 12:36:16 +02:00
viktorstrate bbb12003fc
Fix #299 and #300 2021-04-13 22:15:47 +02:00
viktorstrate f8cd804c3d
Improve database compatibility
- Make MediaType case insensitive when saved to database
- Null check exif migrations, this might solve #300
2021-04-13 21:39:07 +02:00
viktorstrate 97a8f3726d
Convert many pages to Typescript 2021-04-13 19:57:33 +02:00
viktorstrate 264ee54e7f
Start on typescript transition 2021-04-12 00:14:48 +02:00
viktorstrate 084d9bfef7
Cleanup logs and external exif parser 2021-04-11 22:55:44 +02:00
viktorstrate b6a85d0966
Finish localization
- Add user preferences section to settings
- Make settings page available for all users
- Move log out button to settings page
- Make it possible for each user to choose their desired language
2021-04-11 22:31:42 +02:00
viktorstrate 8ec2a7789b
Fix sidecar hash bug
This closes #276
2021-04-03 22:52:53 +02:00
viktorstrate ceb8c4103f
Fix exiftool detection 2021-04-03 21:39:32 +02:00
viktorstrate ad60eccf8b
Add database migrations for exif values 2021-04-03 21:20:02 +02:00
viktorstrate 95c174d3a5
Setup husky hooks for api 2021-04-03 17:49:18 +02:00
viktorstrate 17fe8c01dc
Update go dependencies 2021-04-03 16:43:11 +02:00
Kjeldgaard 3bde799fb3 Fix log bug
Fix log bug, exposure time is now float and not string.

Signed-off-by: Kjeldgaard <Kjeldgaard@users.noreply.github.com>
2021-03-31 23:43:44 +02:00
Kjeldgaard f946500eaa Use barasher/go-exiftool
Use barasher/go-exiftool again.
Exposure is not saved as float and not a string.

Signed-off-by: Kjeldgaard <Kjeldgaard@users.noreply.github.com>
2021-03-31 23:35:25 +02:00
Viktor Strate Kløvedal 454b2dbadd
Merge branch 'master' into 244_exiftool 2021-03-29 12:10:02 +02:00
Kjeldgaard 1193222f92 Update external exif parser method
Exiftool meta data parsed as intergers and not strings. Keep internal
exif parsing functionality.

Signed-off-by: Kjeldgaard <Kjeldgaard@users.noreply.github.com>
2021-03-28 23:52:51 +02:00
viktorstrate b59ba20bd1
Refactor Dockerfile
- Use debian:bullseye instad for newer packages
- Only install necessary dependencies for targeted arch
- Make it work with libheif
2021-03-28 13:57:57 +02:00
viktorstrate a039941dda
Add libheif to Dockerfile 2021-03-27 22:30:26 +01:00
viktorstrate 4344e895d1
Support .heic images + refactor EncodeMediaData 2021-03-27 21:14:42 +01:00
Kjeldgaard 7b5305579b Extract metadata as integers
Extract all metada as integers fomr exiftool.

Signed-off-by: Kjeldgaard <Kjeldgaard@users.noreply.github.com>
2021-03-23 21:36:03 +01:00
viktorstrate b590413e76
Fix share media not working with postgres
This closes #265
2021-03-23 14:04:44 +01:00
Kjeldgaard 1f9f6ebf9a Use exiftool for parsing exif data
Use exiftool to parse exif metadata.

Signed-off-by: Kjeldgaard <Kjeldgaard@users.noreply.github.com>
2021-03-20 00:26:05 +01:00
viktorstrate a14b12b8d4
Fix bug where DetectFaces would be called with the wrong media.
This happend because the go routine did not capture the media variable,
and so the it would change before the go routine could start
and call the DetectFaces function.
2021-03-16 22:27:27 +01:00
viktorstrate 3ae92086cd
Pass database as argument to individual face_detector functions
This allows the face detector to use transactions,
such that faces can be detected on media that has not
been fully commited yet.

This solves #214
2021-03-16 18:26:51 +01:00
viktorstrate ba16fc1caa
Fix postgres errors + fix search results without thumbnails
This closes #241
2021-03-12 14:26:51 +01:00
Viktor Strate Kløvedal 08a99195d6
Merge pull request #221 from Kjeldgaard/ignore_media
Ignore media files
2021-03-12 11:12:43 +01:00
Kjeldgaard 8afff70d9a Store ignore data in cache
Store album ignore data in cache and not database. Fix albums with only
ignore-media-only not to be shown in album list. Use
github.com/sabhiram/go-gitignore exclusively for photoviewignore.

Signed-off-by: Kjeldgaard <Kjeldgaard@users.noreply.github.com>
2021-03-10 21:51:36 +01:00
viktorstrate 3d9ae530af
Load shared albums recursively
This solves #143 and #229
2021-03-03 15:55:55 +01:00
viktorstrate c18759e6db
Fix darktable docker install
and print version of executable workers on startup
2021-03-03 13:32:44 +01:00
viktorstrate 430869b319
Completely remove PHOTOVIEW_PUBLIC_ENDPOINT 2021-03-01 22:11:58 +01:00
viktorstrate 2c98827db5
Make photoview work without providing the PHOTOVIEW_PUBLIC_ENDPOINT environment variable 2021-03-01 22:03:57 +01:00
viktorstrate 26996b45e5
Reload faces if albums or media is deleted 2021-02-27 16:39:04 +01:00
Kjeldgaard 3ad12e3025 Ignore media files
Added feature to ignore specific media files. E.g. to ignore .png media
files, add '*.png' to .photoviewignore file or add 'img_1234.jpg' to
ignore a specific file. This applies to the current dir and any
potential subdir. Matching is case sensitive. File ignore pattern must
include a '.', otherwise the pattern is treated as a dir ignore pattern.

Signed-off-by: Kjeldgaard <Kjeldgaard@users.noreply.github.com>
2021-02-27 00:19:03 +01:00
viktorstrate d4552c7724
Fix sql compatiability bug 2021-02-26 21:53:14 +01:00
viktorstrate 14c97d49c1
Fix sql compatiability bug 2021-02-26 21:51:00 +01:00
viktorstrate 7bdf02b726
Fix bug where one user would load another users image faces 2021-02-26 21:49:01 +01:00
viktorstrate 91d94ecc82
Fix bug related to faces feature 2021-02-26 21:30:09 +01:00
viktorstrate 51123ed8b4
Order people by number of photos of them 2021-02-26 20:19:20 +01:00
viktorstrate b66cbf9274
Add environment variable to specify custom UI path
When using SERVE_UI=1
2021-02-26 15:10:28 +01:00
viktorstrate 43f89d1929
Update mysql dsn parser
to parse passwords with special characters properly
2021-02-26 13:57:13 +01:00
viktorstrate 8290d51aae
Add pagination for people 2021-02-25 20:39:24 +01:00
viktorstrate 7fab8287a2
Add API pagination for faces 2021-02-25 18:48:59 +01:00
viktorstrate c80e25f8b0
Try to replace Parcel with Esbuild
Still some problems with styling
2021-02-25 12:53:39 +01:00
Kjeldgaard 222a288077 V2 Ignore Directories plus trailing slash
Updated ignore dirs feature to allow trailing slashes in
.photoviewignore file(s).

Signed-off-by: Kjeldgaard <Kjeldgaard@users.noreply.github.com>
2021-02-23 20:57:05 +01:00
Kjeldgaard 7ab9a12e43 V2 Ignore Directories
Looks for .photoviewignore file in all root dirs and potential subdirs.
Subdirs inherit the ignore rules from parent dir. If a .photoviewignore
file is found in a subdir, the new ignore rules are appended to the
existing ignore rules.

Ignore match engine is from 'github.com/sabhiram/go-gitignore'.

Signed-off-by: Kjeldgaard <Kjeldgaard@users.noreply.github.com>
2021-02-23 15:59:37 +01:00
viktorstrate f3ccc60e26
Decrease face threshold 2021-02-22 22:29:42 +01:00
viktorstrate eaad404f55
Fix new Docker runtime errors 2021-02-22 21:14:15 +01:00
viktorstrate 3eb3435f08
Add DetachImageFaces resolver 2021-02-22 18:14:31 +01:00
viktorstrate 20251dedd6
Add UI to move faces between face groups 2021-02-20 22:43:07 +01:00
viktorstrate a3e5346501
Properly configure face gallery 2021-02-20 14:45:43 +01:00
viktorstrate 5368b4bae0
Various improvements to faces UI 2021-02-19 23:30:43 +01:00
viktorstrate bdd2318afc
Implement recognizeUnlabeledFaces 2021-02-19 19:24:31 +01:00
viktorstrate 00fceea4db
Work on face merge ui 2021-02-19 17:49:41 +01:00
viktorstrate 6b48ac9a16
Add schemas for face related mutations 2021-02-17 13:50:32 +01:00
viktorstrate de46f89f5d
Show face circles in sidebar 2021-02-16 17:13:08 +01:00
viktorstrate c3eda0feab
Start on UI for faces 2021-02-16 12:41:34 +01:00
viktorstrate 67b812ed21
Add graphql resolver for faces 2021-02-16 12:01:10 +01:00
viktorstrate e4df1fb706
Save face rectangles to database 2021-02-16 11:27:28 +01:00
viktorstrate 4b0365e8aa
Implement getSamplesFromDatabase 2021-02-15 20:31:17 +01:00
viktorstrate abb80ae425
Start on face detection 2021-02-15 17:35:28 +01:00
viktorstrate 557b5e22df
Check that EXIF contains date shot before comparing
This should fix #196
2021-02-14 15:45:58 +01:00
viktorstrate 529444561b
Fix timeline date ordering 2021-02-14 11:40:13 +01:00
viktorstrate dfc89123f6
Fix bug where an unauthorized request could crash the server 2021-02-14 11:19:29 +01:00
viktorstrate 7c603cb4df
Fix various Postgres specific errors 2021-02-14 11:04:38 +01:00
viktorstrate 13f293e244
Re-encode video thumbnails if missing from cache 2021-02-14 10:30:10 +01:00
viktorstrate 1ba45dbe09
Fix SQL errors for Timeline view,
when using Postgres or Sqlite. Closes #194
2021-02-14 10:11:10 +01:00
viktorstrate 2ba8e466ef
Update media date_shot to match exif 2021-02-13 17:21:15 +01:00
viktorstrate 35b41e1b56
Database migrator remove media.date_imported 2021-02-13 16:53:02 +01:00
viktorstrate 926aa3de3d
Cleanup graphql schema, and general refactoring
- Separate graphql `filter` into `paginate` and `order`
- Remove GalleryGroups, replaced by TimelineGallery
- Fix Apollo cache such that sorting works again
2021-02-13 15:08:05 +01:00
viktorstrate a9edb148f1
Start on infinite scroll pagination 2021-02-12 17:44:32 +01:00
Viktor Strate Kløvedal ce3090394b
Add dataloaders to combine database queries (#190)
See also https://gqlgen.com/reference/dataloaders/
2021-02-07 22:17:33 +01:00
viktorstrate 54a83a4dc6
Make thumbnails optional
to prevent app from crashing when in the middle of scanning
2021-02-07 18:13:08 +01:00
viktorstrate 4fdb9357ea
Add favorites filter for timeline 2021-02-07 17:13:27 +01:00
viktorstrate d5ace2c0f8
Finish media interaction 2021-02-07 15:54:13 +01:00
viktorstrate 214c4e8be4
Fix panic when scanning 2021-02-04 22:06:49 +01:00
viktorstrate ddd2cad1a3
Add query resolver for timeline view 2021-02-04 19:02:51 +01:00
András Maróy dca81c7918 Don't log postgres password when connecting 2021-01-31 18:53:38 +01:00
András Maróy be83849bee Implement postgres support 2021-01-31 17:07:29 +01:00
stz184 8b4e2192c2 Fixes photoview/issues#168
- Removed unnecessary migration.
2021-01-30 17:55:12 +02:00
stz184 f723bda7c5 Fixes photoview/issues#168
- Migrated mediaGeoJson resolver to GORM
- Fixed issue loading media list in MediaList() function
- Fixed typo in the column "gps_lonitude" (renamed to "gps_longitude")
2021-01-29 01:23:40 +02:00
viktorstrate fbebb13d28
Don't transcode web compatible video formats.
This relates to the following issues #131 #169 #173
2021-01-27 18:00:37 +01:00
viktorstrate 404f1898c2
Properly add new user as owner
when scanning albums already owned by other users
2021-01-26 15:30:21 +01:00
viktorstrate a4f5d26197
Fix search 2021-01-26 14:34:28 +01:00
viktorstrate 2c6701b4b3
Fix filtering favorites 2021-01-26 14:27:43 +01:00
Viktor Strate Kløvedal 9320f9d085
Merge pull request #172 from stz184/fixed-issue-deleting-users
* Fixes photoview/photoview#168
2021-01-25 09:30:52 +01:00
viktorstrate 9afacc3add
Fix the deleteOldUserAlbums function 2021-01-24 21:30:57 +01:00
viktorstrate 2d54847fed
Refactor DeleteUser resolver
- Use tx inside transaction
- Use .Clear() to delete all albums at once,
to prevent unnecessary database hits.
2021-01-24 17:25:43 +01:00