Commit Graph

313 Commits

Author SHA1 Message Date
Googol Lee
a378522af4 Use magick generating thumbnails.
Fix #1204

* Add bad medias to scanner_test.

* Fix the script.

* Add GenerateThumbnail function.

* Add identify dimension

* Use new API. Cover json condition.

* Use magick to generate thumbnails.

* Update go mod.

* Remove dependency of executable_worker -> test_utils

* Reduce dependency of magick.

* Use magick to get dimension.

* Remove almost all code around `image` package.

* Fix thumbnailing with multi-frame gif.

* Remove the struct in wrapper.

* Fix typo.

* Build images.

* Update logs

* Add jpeg decoder.

* Remove code dependency.

* Add log to confirm scan in parallel.

* Update log

* Add reformat image perf tests.

* Rollback the build workflow.
2025-05-22 09:01:43 +02:00
Googol Lee
fe3cc16026 Remove Thumbnail Preferences. (#1200)
* Remove thumbnail preferences. #1089

* Remove thumbnail preferences test.

* Remove thumbnail preferences from backend.

* Fix database.go

* Update generated TS files.

* Reorder the migrations.
2025-05-11 10:44:58 +02:00
Kostiantyn
36f3924b4f Bump GQLgen, GQLparser and GORM versions in API (#1197)
* Bump GQLparser and GORM versions in API

* Bump GQLgen as well

* Revert GORM update

---------

Co-authored-by: Konstantin Koval
2025-05-05 18:14:59 +03:00
Kostiantyn
5d46478c01 Fix the incorrect thumbnails for albums issue (#1198)
* The fix with test

* Fix test's foreign key issue

* 2 more test cases

* Fix the empty album test expectation

* Return Nil for no thumbnail case instead of an empty album, as expected by frontend. More tests for thumbnail priority choice

* Fix failed tests

---------

Co-authored-by: Konstantin Koval
2025-05-03 18:48:57 +03:00
Peter Dave Hello
cda043ddb8 Add a basic zh-TW Traditional Chinese translation (#1187) 2025-04-22 19:09:49 +03:00
Kostiantyn
0961984134 Bump gqlgen and gqlparser versions in API (#1191)
* Bump `gqlgen` and `gqlparser` versions in API

* new gqlgen version

---------

Co-authored-by: Konstantin Koval
2025-04-21 22:54:49 +03:00
Kostiantyn
862ac5af39 Bump gqlgen to 0.17.70 (#1184)
Co-authored-by: Konstantin Koval
2025-03-27 20:46:14 +02:00
Kostiantyn
0f19345d86 Bump several GO dependencies to the latest versions (#1182)
Co-authored-by: Konstantin Koval
2025-03-22 22:20:24 +02:00
marc7s
d1636fb7ea Fix album page being empty for users with overlapping paths (#1159)
* Fix album page being empty for users with overlapping paths, closes #658

* Add test for non root album paths

* Add basic test for non root album path
2025-03-11 18:01:50 +02:00
Kostiantyn
736eb1c051 Bump crypto, fixing its CVE vulnerability (#1177)
* Bump `crypto`, fixing its CWE vulnerability

* Bumping several deps for this week

---------

Co-authored-by: Konstantin Koval
2025-03-11 17:45:33 +02:00
Googol Lee
06acd165f2 Bump golang from 1.23-bookworm to 1.24-bookworm, as well as gqlgen. (#1172)
* Bump golang from 1.23-bookworm to 1.24-bookworm

Bumps golang from 1.23-bookworm to 1.24-bookworm.

---
updated-dependencies:
- dependency-name: golang
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

* Update to use `go tool`, see https://go.dev/doc/go1.24#go-command.

* Update go.mod to go 1.24

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-17 18:45:30 +01:00
Andreas
6d716a1f1e improved Thumbnail generation performance (#1158)
* improved Thumbnail generation performance

* unified SQL query style

* adjusted query

* changed query to make it more readable
2025-02-02 21:43:12 +02:00
Kostiantyn
b93d48f94e Bump gqlgen and gqlparser to the latest versions (#1166)
Co-authored-by: Konstantin Koval
2025-02-02 20:51:17 +02:00
Kostiantyn
bdb2aef669 Bump gqlgen, copy, crypto, mint, sys deps to the latest versions in API (#1156)
Co-authored-by: Konstantin Koval
2025-01-19 21:53:50 +02:00
Kostiantyn
9835c1949d Bump gqlgen in API to the latest version and regenerate the code (#1147)
Co-authored-by: Konstantin Koval
2024-12-30 17:17:06 +02:00
Kostiantyn
3c53ccc304 Bump several API dependencies to the latest versions (#1138)
* Bump several API dependencies to the latest versions

Bump github.com/stretchr/testify from 1.9.0 to 1.10.0 in /api
Bump github.com/vektah/gqlparser/v2 from 2.5.19 to 2.5.20 in /api
Bump gorm.io/driver/postgres from 1.5.10 to 1.5.11 in /api
Bump golang.org/x/image from 0.22.0 to 0.23.0 in /api
Bump golang.org/x/crypto from 0.29.0 to 0.30.0 in /api
Bump github.com/99designs/gqlgen from 0.17.56 to 0.17.57 in /api

* Regenerate GraphQL code

---------

Co-authored-by: Konstantin Koval
2024-12-06 16:20:48 +02:00
Googol Lee
f1b523a27e Include a group of small but real media files for testing. (#1131)
* Move scanner/test_data/* to a stand-alone directory.

* Include real medias.

* Rename testdata to test_data

* Rename test_data/scanner -> test_data/library

* Clean tests to avoid depneding env.

* Rename: scanner/test_data -> scanner/test_media

* Rename: test_data/bin -> test_data/mock_bin

* Fix paths in tests.
2024-11-23 09:02:11 +01:00
Kostiantyn
0d69d5584e Refactor auth.go and media.go to remove deprecated dependencies (#1128)
* Refactor `auth.go` and `media.go` to remove deprecated dependencies

* Move the `text` dependency to direct ones in the `go.mod`

---------

Co-authored-by: Konstantin Koval
2024-11-20 21:55:14 +02:00
Googol Lee
772129dbeb Remove continue-on-error: true because it hides errors. (#1129)
* Add test for the workflow.

* Remove continue-on-error.

* Remove always failing test.

* Fix the hidden failure.

* Regenerated.
2024-11-19 19:03:19 +01:00
Googol Lee
7b69f247d3 Fix gqlgen (#1105) 2024-11-02 17:05:29 +01:00
Googol Lee
84c642ca79 Fix gqlgen code (#1099) 2024-10-23 20:40:14 +02:00
Kostiantyn
dd90d476ad Refactoring part 2.4: Long func refactoring in graphql/resolvers (#1076)
* Split long functions and optimize code

* Addressing comments

* Remove unnecessary input param

---------

Co-authored-by: Konstantin Koval
2024-10-11 12:31:49 +03:00
Kostiantyn
5fc8feb75e Refactoring part 2.3: Long func refactoring in graphql/models (#1075)
* Split long functions and optimize code

* 2 more small files

---------

Co-authored-by: Konstantin Koval
2024-10-08 21:10:34 +03:00
Kostiantyn
d1193c5ca4 Refactoring part 1: Fix some annoying linter warnings in API code (#1064)
* names, constants of reusable strings, removed unneeded `if`, replaced deprecated imports

* more deprecated imports replaced

* What is this?))

* Fix a path and quote a var in Dockerfile

* Addressing review comments

---------

Co-authored-by: Konstantin Koval <kkb@ukr.net>
2024-09-30 14:45:02 +02:00
Googol Lee
a1263feac4 Update gqlgen and fix the code. (#1055) 2024-09-17 17:00:03 +02:00
Lajos Koszti
10e9e354b5 order root albums by path on settings page (#983)
Once you have more than a few paths assigned to a user, it becomes
quite hard to oversee the list.

Personally, I would add my albums to Photoview one by one, so I can
manage the processing better. For example, I can review and fix the face
recognition for one new album at a time, and I don't need to deal with
too much data.
Since I started to add the albums in a random order, it's relatively
hard to find which album is added and which is not.

An easy fix is to order the photo paths by their name.

- Extended the query of the rootAlbums to order them by path
2024-07-01 20:04:50 +02:00
Googol Lee
1cd34109b6 Optimize user's album filter. #705 (#962) 2024-06-27 21:21:09 +02:00
Googol Lee
ddacba85db Fix timeline order with sqlite3. It should be ordered as MySQL and PGSQL like (year, month, day). (#954) 2024-05-31 09:35:41 +01:00
Jordan Hellier
f900d55300 Fix audit issues in production (#933)
* chore: upgrade api dependencies to latest compatible version

* chore: update ui dependencies first pass

* chore: migrate ui dependency to latests

Migrates i18next-parser from 6.x -> 8.x per documentation

* chore: add missing tools file

* chore: regenerate files

* chore: fix docker build from incorrect depedency

bookworms latest stable version of libheif-dev is 1.15.1
2024-04-11 22:21:08 +01:00
Simon Ser
d0d0bf21bc Make face detection optional at build-time (#881)
Add a "no_face_detection" build tag to disable face detection
when building. This is useful when installing the face detection
dependencies is undesirable and cuts down build times (e.g. on a
Raspberry Pi).
2024-04-11 22:20:09 +01:00
Konstantin
a90f30391c Add Ukrainian translation (#875) 2024-03-24 22:42:44 +01:00
queeup
a797170881 Add Turkish language 2022-12-02 15:32:49 +03:00
PJ-Watson
ca889d02bd Fixed site_info_test - missing model import. 2022-08-09 06:43:25 +01:00
PJ-Watson
3e780dbe48 Changed downsampling method to custom type. 2022-08-09 06:09:55 +01:00
PJ-Watson
1c784fa5e9 Simple api test 2022-08-05 19:40:26 +01:00
PJ-Watson
5c4eeef870 Introduce thumbnail filtering options. 2022-08-05 19:37:55 +01:00
viktorstrate
f512db6c32 Merge branch 'master' into rework-scanner-internals 2022-07-07 19:58:30 +02:00
viktorstrate
248d858592 Add Basque language
Thank you to Xabi for the translation
2022-07-05 15:11:49 +02:00
James Cross
501c50e259 Adding image description to sidebar 2022-03-28 16:08:30 +01:00
Phlogi
f093827bde Fix slow query in getting media of a face by using another join
The subquery returns all potential media id's. Typically, we have a couple of faces and thousands of media files. 
A join is much faster. 

With about 50k images and a face that was present in 2'000 images the query was unusable slow, it took about 60s. 
This is a very important performance fix, as I think many users will run into it. 
Maybe there are other areas where the same improvement is possible, I didn't check.
2022-03-05 17:44:15 +01:00
viktorstrate
b09d32019e Make it compile again 2022-03-02 17:26:06 +01:00
viktorstrate
6e2a64bc77 WIP: split up scanner into separate tasks 2022-02-15 17:22:41 +01:00
viktorstrate
6361df1793 Start on big scanner code refactoring 2022-02-14 23:57:45 +01:00
viktorstrate
a24f2ef019 If possible expand root album, write tests 2022-02-07 19:41:44 +01:00
viktorstrate
5ffc1a57dd Reconnect custom websocket upgrader 2022-02-07 18:15:47 +01:00
viktorstrate
b593f615ad Better graphql schema documentation 2022-02-05 01:21:00 +01:00
viktorstrate
b49333ae69 Add Media.GetThumbnail() tests 2022-02-02 00:03:31 +01:00
viktorstrate
0d9760b33f Integrate blurhashes with UI 2022-02-01 23:39:19 +01:00
viktorstrate
b4ad1c4f88 Add blurhash generation 2022-02-01 22:02:08 +01:00
viktorstrate
c5a307283d Refactoring of API
- Add request context to all database calls
- Update deprecated gqlgen functions
- Update go.mod dependencies
2021-11-11 18:57:02 +01:00