Commit Graph

1458 Commits

Author SHA1 Message Date
WithoutPants 36aa51a187
Migrate vtt contents when hash changes (#2554) 2022-05-04 09:29:20 +10:00
WithoutPants 1a6f5619ae
Encode query string (#2552) 2022-05-04 09:29:05 +10:00
WithoutPants 21a26fadd8
Generate single preview video for short scenes (#2553) 2022-05-04 09:28:48 +10:00
WithoutPants 20ffd4d51d
Accept gif and webp for images (#2551) 2022-05-04 09:27:50 +10:00
WithoutPants e87fd516d6
Fix streaming scenes not able to be deleted (#2549)
* Don't navigate away from scene if delete failed
* Close connection on cancel
2022-05-04 09:27:22 +10:00
InfiniteTF 0c2dc17e8e
Fix crash when cancelling pending tasks (#2527) 2022-04-25 16:21:21 +10:00
WithoutPants 1b91937004
Fix image thumbnail generation (#2524)
* Better logging for thumbnail generation errors
* Reduce verbosity for thumbnail generation
* Provide stdin during thumbnail generation
2022-04-25 15:56:06 +10:00
WithoutPants 9e606feb76
Refresh marker panel on marker create (#2502)
* Update scene markers on create
* Improve display of markers without titles
* Fix marker title not populating
2022-04-21 11:33:04 +10:00
DingDongSoLong4 340f47cda8
Fix GraphQL Playground CSP directives for Firefox (#2518) 2022-04-18 12:25:46 +10:00
WithoutPants aacf07feef
Restructure ffmpeg (#2392)
* Refactor transcode generation
* Move phash generation into separate package
* Refactor image thumbnail generation
* Move JSONTime to separate package
* Ffmpeg refactoring
* Refactor live transcoding
* Refactor scene marker preview generation
* Refactor preview generation
* Refactor screenshot generation
* Refactor sprite generation
* Change ffmpeg.IsStreamable to return error
* Move frame rate calculation into ffmpeg
* Refactor file locking
* Refactor title set during scan
* Add missing lockmanager instance
* Return error instead of logging in MatchContainer
2022-04-18 10:50:10 +10:00
InfiniteTF cdaa191155
Fix submission of scene drafts without performers (#2515) 2022-04-18 10:43:27 +10:00
SmallCoccinelle 401660e6a3
Hoist context, enable errchkjson (#2488)
* Make the script scraper context-aware

Connect the context to the command execution. This means command
execution can be aborted if the context is canceled. The context is
usually bound to user-interaction, i.e., a scraper operation issued
by the user. Hence, it seems correct to abort a command if the user
aborts.

* Enable errchkjson

Some json marshal calls are *safe* in that they can never fail. This is
conditional on the types of the the data being encoded. errchkjson finds
those calls which are unsafe, and also not checked for errors.

Add logging warnings to the place where unsafe encodings might happen.
This can help uncover usage bugs early in stash if they are tripped,
making debugging easier.

While here, keep the checker enabled in the linter to capture future
uses of json marshalling.

* Pass the context for zip file scanning.

* Pass the context in scanning

* Pass context, replace context.TODO()

Where applicable, pass the context down toward the lower functions in
the call stack. Replace uses of context.TODO() with the passed context.

This makes the code more context-aware, and you can rely on aborting
contexts to clean up subsystems to a far greater extent now.

I've left the cases where there is a context in a struct. My gut feeling
is that they have solutions that are nice, but they require more deep
thinking to unveil how to handle it.

* Remove context from task-structs

As a rule, contexts are better passed explicitly to functions than they
are passed implicitly via structs. In the case of tasks, we already
have a valid context in scope when creating the struct, so remove ctx
from the struct and use the scoped context instead.

With this change it is clear that the scanning functions are under a
context, and the task-starting caller has jurisdiction over the context
and its lifetime. A reader of the code don't have to figure out where
the context are coming from anymore.

While here, connect context.TODO() to the newly scoped context in most
of the scan code.

* Remove context from autotag struct too

* Make more context-passing explicit

In all of these cases, there is an applicable context which is close
in the call-tree. Hook up to this context.

* Simplify context passing in manager

The managers context handling generally wants to use an outer context
if applicable. However, the code doesn't pass it explicitly, but stores
it in a struct. Pull out the context from the struct and use it to
explicitly pass it.

At a later point in time, we probably want to handle this by handing
over the job to a different (program-lifetime) context for background
jobs, but this will do for a start.
2022-04-15 11:34:53 +10:00
WithoutPants a7beeb32b0
Fix video layout on touch enabled devices (#2501) 2022-04-15 10:51:49 +10:00
dependabot[bot] 50e83a3555
Bump moment from 2.29.1 to 2.29.2 in /ui/v2.5 (#2495)
Bumps [moment](https://github.com/moment/moment) from 2.29.1 to 2.29.2.
- [Release notes](https://github.com/moment/moment/releases)
- [Changelog](https://github.com/moment/moment/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/moment/moment/compare/2.29.1...2.29.2)

---
updated-dependencies:
- dependency-name: moment
  dependency-type: indirect
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-14 08:51:47 +10:00
WithoutPants 2b8a40e210
Fix scene studio message id 2022-04-11 08:34:09 +10:00
stash-translation-bot 5636b484b1
Translations update from Stash (#2435)
* Translated using Weblate (Japanese)

Currently translated at 100.0% (791 of 791 strings)

Translation: Stash/Stash Desktop Client
Translate-URL: https://translate.stashapp.cc/projects/stash/stash-desktop-client/ja/

* Translated using Weblate (Chinese (Traditional))

Currently translated at 99.8% (790 of 791 strings)

Translation: Stash/Stash Desktop Client
Translate-URL: https://translate.stashapp.cc/projects/stash/stash-desktop-client/zh_Hant/

* Translated using Weblate (Italian)

Currently translated at 100.0% (791 of 791 strings)

Translation: Stash/Stash Desktop Client
Translate-URL: https://translate.stashapp.cc/projects/stash/stash-desktop-client/it/

* Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (791 of 791 strings)

Translation: Stash/Stash Desktop Client
Translate-URL: https://translate.stashapp.cc/projects/stash/stash-desktop-client/zh_Hant/

* Translated using Weblate (Polish)

Currently translated at 99.8% (790 of 791 strings)

Translation: Stash/Stash Desktop Client
Translate-URL: https://translate.stashapp.cc/projects/stash/stash-desktop-client/pl/

* Translated using Weblate (Spanish)

Currently translated at 100.0% (791 of 791 strings)

Translation: Stash/Stash Desktop Client
Translate-URL: https://translate.stashapp.cc/projects/stash/stash-desktop-client/es/

* Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (794 of 794 strings)

Translation: Stash/Stash Desktop Client
Translate-URL: https://translate.stashapp.cc/projects/stash/stash-desktop-client/zh_Hant/

* Translated using Weblate (Swedish)

Currently translated at 100.0% (794 of 794 strings)

Translation: Stash/Stash Desktop Client
Translate-URL: https://translate.stashapp.cc/projects/stash/stash-desktop-client/sv/

* Update translation files

Updated by "Cleanup translation files" hook in Weblate.

Translation: Stash/Stash Desktop Client
Translate-URL: https://translate.stashapp.cc/projects/stash/stash-desktop-client/

* Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (794 of 794 strings)

Translation: Stash/Stash Desktop Client
Translate-URL: https://translate.stashapp.cc/projects/stash/stash-desktop-client/zh_Hant/

* Translated using Weblate (Polish)

Currently translated at 99.7% (792 of 794 strings)

Translation: Stash/Stash Desktop Client
Translate-URL: https://translate.stashapp.cc/projects/stash/stash-desktop-client/pl/

Co-authored-by: 風林火山 <nezoko@digdig.org>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: Still <dev@stillu.cc>
Co-authored-by: BViking78 <5@example.com>
Co-authored-by: Coscosname <coscosname@gmail.com>
Co-authored-by: failead0r <6@example.com>
Co-authored-by: Alpaca Serious <srhsgsef@gmail.com>
2022-04-10 15:19:36 -07:00
WithoutPants 8cdf0095cc
Handle graphql errors correctly during draft submission (#2485) 2022-04-07 09:32:22 +10:00
WithoutPants 346384b6a7
Merge performer list when saving scene from tagger (#2483) 2022-04-07 09:31:37 +10:00
kermieisinthehouse 4c4d029c23
Freebsd compile errors (#2477)
* Fix local docker builds under new projext org

* Fix Desktop package freebsd compile

* Fix build declaration

* rename systray file
2022-04-05 22:35:32 -07:00
WithoutPants 638b2b4a32
Revert "Do not display tabs with no content (#2468)" (#2487)
This reverts commit 0ee8930bdd.
2022-04-06 15:08:54 +10:00
WithoutPants 2ca457c5b2
Revert #2466 due to portrait video issues (#2486) 2022-04-06 14:56:17 +10:00
WithoutPants b0f6f4b7c3
Use feature request label for feature requests [skip ci] 2022-04-06 14:12:10 +10:00
WithoutPants a702d0b7e4
Use bug report label for bug reports [skip ci] 2022-04-06 14:10:59 +10:00
WithoutPants ed08dd4332
Fix CSP directives for playground (#2484) 2022-04-06 11:52:49 +10:00
kermieisinthehouse 312d43d0ff
Fix only one tag markers on scene (#2482)
* Fix scene markers, add path to hidden properties

Co-authored-by: WithoutPants <53250216+WithoutPants@users.noreply.github.com>
2022-04-06 09:43:20 +10:00
WithoutPants 230d8f6028
Make desktop.Start run on main thread (#2475) 2022-04-05 14:58:08 +10:00
WithoutPants 61d9f57ce9
Add ignore autotag flag (#2439)
* Add autoTagIgnored to database schema
* Graphql changes
* UI changes
* Add field to edit performers dialog
* Apply flag to autotag behaviour
2022-04-04 20:03:39 +10:00
cj 2aee6cc18e
Update v0140.md file with scene detail page update (#2472) [skip ci] 2022-04-03 23:13:33 -07:00
WithoutPants eb35bbabb8
Remove redundant message 2022-04-04 10:33:58 +10:00
WithoutPants e76e4c978f
Fix scene edit panel not updating on scene change (#2471) 2022-04-04 10:31:51 +10:00
WithoutPants 92320b3418
Fix lightbox issues (#2457)
* Don't convert localforage to json
* Show correct delay value
* Fix lightbox delay
* Fix delay input losing focus on change
* Fix delay input inconsistencies
* Fix clicking link preventing scroll bars appearing
* Fix slideshow stopping when paging
2022-04-04 06:27:18 +10:00
chetbrinko 6ebf3ddc9e
Add support for the Handy APIv2 (#2193)
* Add support for the Handy APIv2

Docs: https://staging.handyfeeling.com/api/handy/v2/docs/

Update axios to 0.24.0 due to a security update

* Upgrade to thehandy 1.0.3
* Use local copy of uploadCsv

Co-authored-by: WithoutPants <53250216+WithoutPants@users.noreply.github.com>
2022-04-03 15:46:12 +10:00
cj 6ca862be54
Mobile scene details page revamp (#2466)
* mobile scene details page revamp
* removed dup scene-tabs definition
2022-04-03 15:42:39 +10:00
WithoutPants 0ee8930bdd
Do not display tabs with no content (#2468) 2022-04-03 07:44:39 +10:00
WithoutPants f9cf77e3ed
Improve bulk performer editing (#2467)
* Cleanup Edit Performers dialog
* Add bulk text inputs to edit performers dialog
* Make bulk update code more generic
* Add remaining performer fields
2022-04-03 07:05:57 +10:00
WithoutPants 9e2261a813
Temporarily disable caching in lint action 2022-04-02 18:41:43 +11:00
SmallCoccinelle 45f700d6ea
Support Go 1.18: Upgrade gqlgen to v0.17.2 (#2443)
* Upgrade gqlgen to v0.17.2

This enables builds on Go 1.18. github.com/vektah/gqlparser is upgraded
to the newest version too.

Getting this to work is a bit of a hazzle. I had to first remove
vendoring from the repository, perform the upgrade and then re-introduce
the vendor directory. I think gqlgens analysis went wrong for some
reason on the upgrade. It would seem a clean-room installation fixed it.

* Bump project to 1.18

* Update all packages, address gqlgenc breaking changes

* Let `go mod tidy` handle the go.mod file

* Upgrade linter to 1.45.2

* Introduce v1.45.2 of the linter

The linter now correctly warns on `strings.Title` because it isn't
unicode-aware. Fix this by using the suggested fix from x/text/cases
to produce unicode-aware strings.

The mapping isn't entirely 1-1 as this new approach has a larger iface:
it spans all of unicode rather than just ASCII. It coincides for ASCII
however, so things should be largely the same.

* Ready ourselves for errchkjson and contextcheck.

* Revert dockerfile golang version changes for now

Co-authored-by: Kermie <kermie@isinthe.house>
Co-authored-by: WithoutPants <53250216+WithoutPants@users.noreply.github.com>
2022-04-02 18:08:14 +11:00
WithoutPants e5c4241180
Don't overwrite with empty values in tagger (#2461) 2022-04-02 17:47:27 +11:00
WithoutPants b504a89247
Fix video filters (#2459) 2022-04-02 07:12:24 +11:00
WithoutPants f4a9ea76a1
Fix 10bit vp9 streaming (#2458) 2022-04-02 07:12:07 +11:00
stg-annon 0880991a2c
Ignore key combination on KeyboardEvents (#2460) 2022-04-01 12:23:06 +11:00
WithoutPants e54268cc7a
Videojs big buttons (#2455)
* Add big button panel on touch devices
2022-04-01 09:31:32 +11:00
WithoutPants d262d18f08
Add source selector plugin (#2449) 2022-04-01 08:20:14 +11:00
WithoutPants 6c3b493323
Add persist volume plugin (#2448) 2022-03-31 08:33:16 +11:00
WithoutPants 510bec655b
Add marker videojs plugin (#2447) 2022-03-31 08:14:39 +11:00
stg-annon df982f7528
use min value for skipping forward (#2454)
fixes #2453
2022-03-31 08:14:23 +11:00
cj 41d6ebc11a
allow full screen and inline play on iOS (#2450) 2022-03-30 16:21:44 +11:00
kermieisinthehouse f1b244f0a1
Delete FUNDING.yml 2022-03-29 16:46:19 -07:00
kermieisinthehouse 22e0c9a61a
Create FUNDING.yml 2022-03-29 16:37:59 -07:00
WithoutPants c4c62d2516
Scene player fixes (#2441)
* Fix scene player stopping on save
* Restore previous player hotkeys
* Volume control over seek bar
2022-03-29 17:17:02 +11:00