1
Fork 0
Commit Graph

477 Commits

Author SHA1 Message Date
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