Commit graph

161 commits

Author SHA1 Message Date
Michael Mayer 180e46b95f Frontend: Add Yellowstone theme, unlock Grayscale for everyone 2021-04-26 12:37:52 +02:00
Michael Mayer 25adf01d79 Backend: Upgrade Go dependencies 2021-04-19 12:24:14 +02:00
Michael Mayer 4c5a730da4 Thumbs: Fix orientation for HEIF, TIFF, and PNG #1064 2021-02-22 21:09:50 +01:00
Michael Mayer f5915ea50f Metadata: Downgrade go-exif #990 #1046
See https://github.com/dsoprea/go-exif/issues/55
2021-02-15 16:31:07 +01:00
Michael Mayer f986f21f47 Metadata: Remove estimate when setting a new country #1018 2021-02-11 19:48:33 +01:00
Michael Mayer 8b361093be Metadata: Upgrade Go dependencies #990 2021-02-05 09:45:28 +01:00
Michael Mayer 811b02b5fc Backend: Upgrade dependencies 2021-01-14 19:23:24 +01:00
Michael Mayer b408538f68 HTTP: Add optional gzip compression 2021-01-10 15:30:21 +01:00
Michael Mayer dcaf22b329 Config: Detect physical CPU cores to limit number of workers 2021-01-09 12:18:59 +01:00
Michael Mayer 6811a07e8a Backend: Remove allegro/bigcache in favor of patrickmn/go-cache #807 2021-01-08 13:29:01 +01:00
Michael Mayer 0ba3efdded Backend: Upgrade Go dependencies 2020-12-31 10:19:41 +01:00
Michael Mayer 205b7a3061 Backend: Upgrade dependencies 2020-12-18 16:57:22 +01:00
Michael Mayer ee9baa37d2 Backend: Upgrade dependencies 2020-11-15 10:00:18 +01:00
Michael Mayer f3588ec23d Backend: Upgrade dependencies
Signed-off-by: Michael Mayer <michael@lastzero.net>
2020-10-09 11:34:36 +02:00
Michael Mayer 5fa47652ee Backend: Refactor config initialization
Signed-off-by: Michael Mayer <michael@lastzero.net>
2020-10-08 08:52:03 +02:00
Michael Mayer 0278023779 Backend: Upgrade google/open-location-code
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-09-13 18:14:47 +02:00
Michael Mayer d1def762ba Backend: Upgrade dependencies
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-09-06 14:51:42 +02:00
Michael Mayer f22744770c Docker: Update images and add security_opt to docker-compose.yml
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-08-25 14:57:45 +02:00
Michael Mayer c5beaeaddb Backend: Upgrade Go dependencies
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-08-19 12:01:54 +02:00
Michael Mayer 1c0d6cba2c Add photoprism reset command
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-08-19 11:35:38 +02:00
Michael Mayer 3ffe74a7d6 Metadata: Revert tests after upgrading go-exif #431
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-08-07 10:38:40 +02:00
Michael Mayer b232d374ad Metadata: Update Exif tests and dependencies #431
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-08-06 10:55:15 +02:00
Dustin Oprea 16b1945971
go.mod: Bump go-exif/v3 to 74a1612 (#434)
Fixes #431
2020-07-31 10:28:14 +02:00
Michael Mayer 43753a2d46 Backend: Upgrade dsoprea/go-jpeg-image-structure
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-23 11:38:24 +02:00
Michael Mayer c16e3741ee Backend: Upgrade dependencies
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-22 10:59:53 +02:00
Michael Mayer 7d00e68d92 Index: Refactor mime type detection #391
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-21 14:43:45 +02:00
Michael Mayer d20d9c50dd Metadata: Upgrade go-exif v3
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-21 10:52:39 +02:00
Michael Mayer 138dabd0c8 Metadata: Use mime type to determine file format and exif parser #391
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-19 16:39:43 +02:00
Michael Mayer 716aa082d8 Metadata: Upgrade to go-exif v3
See https://github.com/dsoprea/go-exif/issues/43

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-17 09:41:37 +02:00
Michael Mayer 4c72df7610 Metadata: Upgrade go-exif v2
See https://github.com/dsoprea/go-exif/issues/43

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-17 09:28:31 +02:00
Michael Mayer 08d89bfb1d Metadata: Add *.heic parser and upgrade go-exif
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-16 20:32:45 +02:00
Michael Mayer c0f10e2288 Use gettext for backend translations too
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-15 01:26:54 +02:00
Michael Mayer ac751286fd Backend: Upgrade dependencies
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-01 11:27:29 +02:00
Michael Mayer bfd73932e5 Improve UX and title generation from file names
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-29 11:10:24 +02:00
Michael Mayer 5d59b50912 Sharing: ACL authorization for REST API #18
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-25 14:54:04 +02:00
Michael Mayer 99c0c034b9 Backend: Use inflection to search for singular terms
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-05 19:27:33 +02:00
Michael Mayer 0b1bcf0d4a Replace TiDB with SQLite for improved stability #66
As a side effect, we need less configuration values.

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-30 14:52:47 +02:00
Michael Mayer dd442ab9e9 Add moments #154
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-30 01:41:47 +02:00
Michael Mayer 132db3c0d2 Backend: Upgrade Go modules
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-19 12:09:48 +02:00
Michael Mayer 7121c09d66 Upgrade go-exif and go-jpeg-image-structure; see #302, #304, #305 and #295
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-18 08:44:40 +02:00
Michael Mayer 46f3f12da8 Upgrade go-exif, go-jpeg-image-structure and go-png-image-structure
See #302, #304, #305 and #295

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-17 11:05:57 +02:00
Michael Mayer abfd2fa79d Videos: Improve indexing and searching #312
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-16 17:07:44 +02:00
Michael Mayer a16f00f359 Backend: Add support for DateTime in Exif metadata #304
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-15 11:15:15 +02:00
Michael Mayer 6c6ea0ac3d Support GPSVersionID 2.0.0.0 #295
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-06 08:03:57 +02:00
Michael Mayer 1c53a565a7 Configure on-demand rendering of regular thumbnail sizes #294
Can be enabled by setting PHOTOPRISM_RESAMPLE_UNCACHED to true

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-05 15:42:54 +02:00
Michael Mayer 2032b40f2b Backend: Code clean-up
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-03 18:00:50 +02:00
Michael Mayer 3e6df5fd5d Backend: Replace filepath.Walk with godirwalk.Walk #267
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-01 17:31:49 +02:00
Michael Mayer 44abbfc43a Backend: Use fastwalk.Walk instead of filepath.Walk in tests #267
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-01 15:35:47 +02:00
Michael Mayer 743b2dc348 Backend: Downgrade protobuf from v1.4.0 to v1.3.5
Error: invalid type: got uint64, want pointer
Stack trace:
github.com/pingcap/tidb/store/tikv.(*copIteratorWorker).handleTask.func1
	/go/pkg/mod/github.com/pingcap/tidb@v2.1.11+incompatible/store/tikv/coprocessor.go:616
runtime.gopanic
	/usr/local/go/src/runtime/panic.go:969
google.golang.org/protobuf/internal/impl.fieldInfoForScalar
	/go/pkg/mod/google.golang.org/protobuf@v1.21.0/internal/impl/message_reflect_field.go:228
google.golang.org/protobuf/internal/impl.(*MessageInfo).makeKnownFieldsFunc
	/go/pkg/mod/google.golang.org/protobuf@v1.21.0/internal/impl/message_reflect.go:67
google.golang.org/protobuf/internal/impl.(*MessageInfo).makeReflectFuncs
	/go/pkg/mod/google.golang.org/protobuf@v1.21.0/internal/impl/message_reflect.go:36
google.golang.org/protobuf/internal/impl.(*MessageInfo).initOnce
	/go/pkg/mod/google.golang.org/protobuf@v1.21.0/internal/impl/message.go:91
google.golang.org/protobuf/internal/impl.(*MessageInfo).init
	/go/pkg/mod/google.golang.org/protobuf@v1.21.0/internal/impl/message.go:73
google.golang.org/protobuf/internal/impl.(*messageReflectWrapper).ProtoMethods
	/go/pkg/mod/google.golang.org/protobuf@v1.21.0/internal/impl/message_reflect_gen.go:150
google.golang.org/protobuf/proto.protoMethods
	/go/pkg/mod/google.golang.org/protobuf@v1.21.0/proto/proto_methods.go:18
google.golang.org/protobuf/proto.UnmarshalOptions.unmarshal
	/go/pkg/mod/google.golang.org/protobuf@v1.21.0/proto/decode.go:76
google.golang.org/protobuf/proto.UnmarshalOptions.UnmarshalState
	/go/pkg/mod/google.golang.org/protobuf@v1.21.0/proto/decode.go:63
github.com/golang/protobuf/proto.UnmarshalMerge
	/go/pkg/mod/github.com/golang/protobuf@v1.4.0/proto/wire.go:67
github.com/golang/protobuf/proto.Unmarshal

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-01 14:05:55 +02:00
Michael Mayer b326aae603 Backend: Update additional dependencies
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-01 13:54:01 +02:00
Michael Mayer eea36826af Backend: Update dependencies
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-01 13:32:38 +02:00
Michael Mayer 260cca91fe Backend: Refactor entity package
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-30 20:07:03 +02:00
Michael Mayer fe6d46ea5f Upgrade TensorFlow to 1.15.2 without AVX #289
Custom TensorFlow build without SSE4.1 SSE4.2 AVX AVX2 FMA support.

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-27 19:00:15 +02:00
Michael Mayer 606e416e2a Upgrade dsoprea/go-jpeg-image-structure
See https://github.com/dsoprea/go-jpeg-image-structure/issues/6

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-22 14:47:45 +02:00
Michael Mayer da823a8062 Upgrade TensorFlow to 1.15.0 #282
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-22 10:27:02 +02:00
Michael Mayer 20a5912210 Rename, remove and re-activate labels
Still need to fix label names when re-indexing so that custom names are used, if changed by the user.

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-17 21:20:38 +02:00
Theresa Gresch 74e33e1917 Backend: Improve labels 2020-04-16 23:16:55 +02:00
Michael Mayer d834c64378 Revert version of go-jpeg-image-structure
Should fix "processing finished before EOI encountered" bug.

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-07 00:51:45 +02:00
Michael Mayer a836dd1497 Backend: Upgrade dependencies
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-02 14:13:41 +02:00
Michael Mayer b86f68c3f3 Backend: Add WebDAV client and dummy test server #225
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-03-27 11:01:41 +01:00
Michael Mayer 01527c180e Add WebDAV server
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-02-21 04:23:16 +01:00
Michael Mayer 4efa383c57 API: Proof-of-concept for form handling
We don't want to directly write to models so that only selected fields can be changed and values can be validated for security reasons.

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-02-02 03:36:00 +01:00
Michael Mayer 7ecc146460 Backend: Rename utils.go to auth.go #221
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-28 13:12:29 +01:00
Dustin Oprea d1a6656251 go.mod: Bump go-exif (#228)
Fixes #219
2020-01-26 09:51:27 +01:00
Michael Mayer e1ad0684b3 Backend: Add "exif" prefix to log message #219
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-24 18:50:57 +01:00
Michael Mayer c31470dafb Initial code for new Places UI
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-15 04:04:33 +01:00
Michael Mayer bba914878a Backend: Remove go-xmp import
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-14 03:41:40 +01:00
Michael Mayer 2eadc5a073 Backend: Update go.mod
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-14 01:58:28 +01:00
Dustin Oprea 9b1bf83abe Optimize EXIF integration (#192)
Use JPEG- and PNG-specific parsing if possible and brute-force search
only for others.

- Adopted go-exif/v2.

Fixes #172
2020-01-14 01:47:26 +01:00
Michael Mayer c978fa00f1 Backend: Proof-of-concept for indexing XMP files #68
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-13 23:14:10 +01:00
Michael Mayer c147eee30f Backend: Add stub for meta package #172
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-07 17:36:49 +01:00
Michael Mayer 366c70d992 Optimize performance and data structures
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-27 05:18:52 +01:00
Michael Mayer 52b57e9fba Backend: Add maps package
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-20 11:30:58 +01:00
Michael Mayer 410e82f5c3 Backend: Add OpenStreetMap package
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-19 17:17:13 +01:00
Michael Mayer dc46ab9bc8 Fix indexer issues & use go generate to create stopwords map
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-10 16:58:01 +01:00
Michael Mayer 65f084193e Add event hub & websocket for push notifications
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-11-16 16:06:34 +01:00
Michael Mayer 56c97ec057 Basic login for admin #16
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-11-08 06:53:40 +01:00
Michael Mayer a48cc3578e Upgrade Go to 1.13.4
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-11-07 15:02:27 +01:00
Michael Mayer 0f47c84138 Implement time zone support for "TakenAt"
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-09-19 14:23:39 -07:00
Michael Mayer a2bf11c96f Fix go.mod/sum after upgrade to Go 1.13
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-09-19 10:26:28 -07:00
Michael Mayer 8f145ce9a9 Dockerfile: Upgrade to Go 1.13
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-09-19 09:26:08 -07:00
Michael Mayer 1e6f1795c2 Upgrade Exif library #13 2019-06-27 02:21:36 +02:00
Michael Mayer 768483faa7 Resolve merge conflict in go.mod 2019-06-24 21:01:09 +02:00
Michael Mayer 06353a7b17 Upgrade TensorFlow for Go to 1.14.0 2019-06-24 20:59:11 +02:00
Michael Mayer ad93ad1289 Use dsoprea/go-exif to parse Exif tags #21 2019-06-20 05:38:23 +02:00
Vedhavyas Singareddi f63efc5f51 Implement daemon mode (#119)
* add daemon process
* add daemon stop command
* add daemon log to log file
* check for running daemons
* minor changes
2019-06-20 01:11:03 +02:00
Michael Mayer c230de6b2b Add time zone info to photos (if available) 2019-06-07 00:04:34 +02:00
Michael Mayer df995b4f15 Rename tags to labels incl priority, source and uncertainty 2019-06-04 18:26:41 +02:00
Michael Mayer 3ceec890e3 Upgrade TiDB server to 2.1.11 2019-06-04 01:09:56 +02:00
Theresa Gresch dc67f8ccb2 Merge branch 'develop' of /Users/theresa/Development/graciousgrey/photoprismRepo/photoprism with conflicts. 2019-05-12 13:03:18 +02:00
Michael Mayer 868e1b80b9 Use reflection and yaml.Unmarshal() for configuration, see #66 2019-05-04 05:25:00 +02:00
Michael Mayer 9e0ca24dee go.mod cleanup 2019-05-02 16:03:09 +02:00
Michael Mayer 3315b87305 Use logrus for logging 2019-05-02 14:10:05 +02:00
Michael Mayer 8289de2746 Improve logging and set optional password for built-in TiDB server 2019-05-01 14:54:11 +02:00
Michael Mayer 026563ebad Upgrade Go mod dependencies 2019-05-01 07:40:38 +02:00
Michael Mayer 818019a7ec Use nasnet mobile instead of inception v1 for image classification 2019-04-30 13:17:01 +02:00
Michael Mayer ffc64cceb0 Use 3x3 thumbnail for color indexing #7
Other implementations were unstable due to the use of random numbers.
This seems to be fast and also enables us to search specific parts
of an image. 16 colors are indexed (Material Design).
2019-04-26 02:22:53 +02:00
Sebastian Kunert 48a9f78cb3 Improve color indexing by using k-means clustering (#103)
* First commit for color-improvements

* Use k-means for prominent color detection

* Remove debugging code

* Add color checks to tests

* Add additional test for color names
2019-04-18 17:27:08 +02:00
Vedhavyas Singareddi 74dc8be598 Fix/defer leaks (#91)
* fix defer leaks
* go mod tidy
2019-01-13 00:45:22 +01:00
Michael Mayer 43b860801c Proof-of-concept for using TiDB instead of MySQL #60 2018-12-18 18:38:30 +01:00