InfiniteTF
3346f8dcca
Stash-box tagger integration ( #454 )
2020-10-24 14:31:39 +11:00
SpedNSFW
147d0067f5
Add gallery scraping ( #862 )
2020-10-21 09:24:32 +11:00
WithoutPants
8eda72ad89
Image improvements ( #847 )
...
* Fix image performer filtering
* Add performer images tab
* Add studio images tab
* Rename interface
* Add tag images tab
* Add path filtering for images
* Show image stats on stats page
* Fix incorrect scan counts after timeout
* Add gallery filters
* Relax scene gallery selector
2020-10-20 10:11:15 +11:00
InfiniteTF
d9270dd7c3
Treat empty string columns as missing ( #852 )
2020-10-16 11:14:48 +11:00
InfiniteTF
528b32d1b7
Sort images in galleries by path ( #855 )
2020-10-16 10:56:24 +11:00
InfiniteTF
73eb5c7a1f
Add image-count sorting, and image deletion on gallery deletion ( #853 )
2020-10-16 10:35:50 +11:00
WithoutPants
aca2c7c5f4
Images section ( #813 )
...
* Add new configuration options
* Refactor scan/clean
* Schema changes
* Add details to galleries
* Remove redundant code
* Refine thumbnail generation
* Gallery overhaul
* Don't allow modifying zip gallery images
* Show gallery card overlays
* Hide zoom slider when not in grid mode
2020-10-13 10:12:46 +11:00
WithoutPants
ade109d9e4
Path filter for scenes and galleries ( #834 )
2020-10-12 08:19:51 +11:00
WithoutPants
98dda782aa
Prevent invalid date tag in video file from aborting scan ( #836 )
...
* Give more context when ffprobe fails
* Suppress JSONTime unmarshal error
* Tidy scan logging
2020-10-11 12:02:41 +11:00
WithoutPants
8866670e53
Add partial import functionality ( #812 )
2020-09-20 18:36:02 +10:00
WithoutPants
7a45943e8e
Stash box client interface ( #751 )
...
* Add gql client generation files
* Update dependencies
* Add stash-box client generation to the makefile
* Move scraped scene object matchers to models
* Add stash-box to scrape with dropdown
* Add scrape scene from fingerprint in UI
2020-09-17 19:57:18 +10:00
WithoutPants
03d4826c85
Selective export ( #770 )
2020-09-15 17:28:53 +10:00
caustico
5df1e0025f
Add filter on Movie section "Is Missing is scenes" ( #800 )
2020-09-14 10:35:54 +10:00
WithoutPants
16ea6abf91
Fix age filtering regression ( #778 )
...
* Show filter control in loading/error
* Add performer age unit tests
* Fix addWhere regression
2020-08-31 18:17:17 +10:00
WithoutPants
1fd3fcc6a8
Show and allow creation of unknown performers/tags/studios/movies from scraper dialog ( #741 )
...
* Fix toast container z-index
* Make scrape operations network only
* Add CollapseButton component
2020-08-22 18:12:39 +10:00
WithoutPants
e16118f551
Clear image ( #722 )
...
* Allow clearing of tag images
* Allow clearing of studio images
* Allow clearing of performer images
* Allow clearing of movie images
* Add filtering for missing images
2020-08-12 09:19:27 +10:00
woodgen
4045ddf3e9
Implement scraping movies by URL ( #709 )
...
* api/urlbuilders/movie: Auto format.
* graphql+pkg+ui: Implement scraping movies by URL.
This patch implements the missing required boilerplate for scraping
movies by URL, using performers and scenes as a reference.
Although this patch contains a big chunck of ground work for enabling
scraping movies by fragment, the feature would require additional
changes to be completely implemented and was not tested.
* graphql+pkg+ui: Scrape movie studio.
Extends and corrects the movie model for the ability to store and
dereference studio IDs with received studio string from the scraper.
This was done with Scenes as a reference. For simplicity the duplication
of having `ScrapedMovieStudio` and `ScrapedSceneStudio` was kept, which
should probably be refactored to be the same type in the model in the
future.
* ui/movies: Add movie scrape dialog.
Adds possibility to update existing movie entries with the URL scraper.
For this the MovieScrapeDialog.tsx was implemented with Performers and
Scenes as a reference. In addition DurationUtils needs to be called one
time for converting seconds from the model to the string that is
displayed in the component. This seemed the least intrusive to me as it
kept a ScrapeResult<string> type compatible with ScrapedInputGroupRow.
2020-08-10 15:34:15 +10:00
WithoutPants
5992ff8706
Add oshash support ( #667 )
2020-08-06 11:21:14 +10:00
WithoutPants
c104c6d075
Generate content for specific scenes ( #672 )
...
* Add UI dialog for scene(s)
* Move preview preset to config
2020-07-19 11:59:18 +10:00
WithoutPants
e9141b5dfc
Fix tag query performance problems ( #657 )
...
* Fix sql tracing
* Disable query by marker count
* Disable unit test
2020-07-09 08:42:07 +10:00
WithoutPants
244ae54f3f
Add grid view, image to tag ( #641 )
...
* Add grid view for tags
* Add tag page
* Import/export tags
* Add tag name uniqueness checks
* Fix styling on missing marker previews
* Add trace loglevel
* Add SQL trace
* Add filter options for tags
* Add tag sort by options
* Add tag page keyboard shortcuts
2020-07-07 10:35:43 +10:00
WithoutPants
7a74658a73
Move image blobs into separate tables ( #618 )
...
* Scene cover fallback to database
* Fix panic if studio not found
* Fix movie studio not being imported/exported
2020-06-23 09:19:19 +10:00
WithoutPants
d3ababf0a1
Gallery list improvement ( #622 )
...
* Add grid view to galleries
* Show scene in gallery card
* Add is missing scene gallery filter
* Don't store galleries with no images
2020-06-21 21:43:57 +10:00
WithoutPants
96e6e16507
Parent studios ( #595 )
...
* Refactor getMultiCriterionClause
Co-authored-by: Anon247 <61889302+Anon247@users.noreply.github.com>
2020-06-15 21:34:39 +10:00
bnkai
dc5efb9e31
Unit testing for performers,studios,movies FindByName/s ( #581 )
2020-05-27 10:48:45 +10:00
bnkai
ccd75731b7
Change scrape matching (studio, movies, tag, performers) to case insensitive ( #556 )
...
* Change scrape matching (studio, movies, tag, performers) to case insensitive
* * fix collate order
* * make filename parser findbyname calls case insensitive
* * add unit testing for Tags GetFindbyName/s
2020-05-24 16:19:22 +10:00
InfiniteTF
32fce9ac6f
Speed up tag count queries ( #570 )
...
* Speed up tag count queries
* Add test for marker CountByTagID
Co-authored-by: WithoutPants <53250216+WithoutPants@users.noreply.github.com>
2020-05-24 16:18:02 +10:00
bnkai
d74a303c00
Fix 0 undefined library size on empty db ( #535 )
2020-05-14 10:44:13 +10:00
bnkai
bd45daacf3
Add a cache for gallery thumbnails ( #496 )
2020-05-11 17:20:08 +10:00
InfiniteTF
8ba76783b0
Query optimizations ( #478 )
...
* Remove slow and largely pointless groupbys
* Change scene.query to use querybuilder
2020-05-11 15:19:11 +10:00
InfiniteTF
e9c68897d7
Add is-missing tags filter ( #526 )
2020-05-09 12:21:08 +10:00
WithoutPants
99f88b8d73
Querybuilder integration tests ( #513 )
...
* Vet fixes
* Change low resolution to < 480
2020-05-04 17:02:49 +10:00
WithoutPants
3d22d5a742
Refactor build ( #493 )
...
* Add lint/format checks to build
* Make travis get full repo to get tags
* Run packr2 once in cross-compile
* Fix quotes in package.json
* Fix linting issues
* Formatting
* Fix vet issue
* Fix go lint issues
* Show start of each platform compilation
* Add validate target
* Set gitattributes for go fmt and mod vendor
* Fix tag name
* Add fmt-ui target
2020-04-29 12:13:08 +10:00
bnkai
52a1059380
Make image extension check in zip files case insensitive ( #501 )
2020-04-29 09:24:01 +10:00
WithoutPants
5923917e6c
Clean missing galleries ( #489 )
...
* Clean missing galleries
* Refactor matchFile
2020-04-25 09:32:55 +10:00
bnkai
29336d1ee0
Move image with cover.jpg in name to first place in Galleries ( #477 )
2020-04-24 12:53:18 +10:00
bnkai
9b1518beae
Export performance optimization ( #475 )
...
* recreate metadata path if needed, before exporting data
2020-04-24 12:52:21 +10:00
WithoutPants
ba09bfa64a
Include scene o-counter in import/export ( #488 )
...
* Include o-counter in import/export
* Fix scene card o-counter display
2020-04-23 09:14:58 +10:00
WithoutPants
eee7adfb85
Add Studio to movie and fix movie schema ( #458 )
...
* Add movie migration
* Update server and UI code for type changes
* Add studio to movies
* Movie blobs to end
* Document movie duration
* Add filtering on movie studio
2020-04-22 11:22:14 +10:00
InfiniteTF
2a3c9742cc
Add slim endpoints for entities to speed up filters ( #460 )
...
* Move performers image column to end of table
* Remove redundant index
2020-04-19 12:03:51 +10:00
WithoutPants
849a5261a3
Include gender in performer scraper results ( #448 )
...
* Fix scraper gender
* Set scraped gender in the UI
* Match gender on enum or case insensitive string
2020-04-11 13:26:53 +10:00
bnkai
d5617307f1
Add detection of container/video_codec/audio_codec compatibility for live file streaming or transcoding ( #384 )
...
* add forceMKV, forceHEVC config options
* drop audio stream instead of trying to transcode for ffmpeg unsupported/unknown audio codecs
2020-04-10 08:38:34 +10:00
Anon247
dc37a3045b
Added various missing filters to performer page ( #438 )
2020-04-08 14:21:05 +10:00
bnkai
8a6fff61ae
Enable sorting for galleries ( #437 )
2020-04-03 14:40:37 +11:00
bnkai
e58c311ddd
Add library size to main stats page ( #427 )
2020-04-03 13:44:17 +11:00
Anon247
0bbb2bd1d0
Fix to allow scene to be removed when attached to a movie ( #421 )
2020-04-01 12:07:43 +11:00
hiddenpants255
494b794228
Add gender support for performer ( #371 )
...
Co-authored-by: HiddenPants255 <>
Co-authored-by: WithoutPants <53250216+WithoutPants@users.noreply.github.com>
2020-04-01 09:36:38 +11:00
WithoutPants
34d829338d
Add image scraping support ( #370 )
...
* Add sub-scraper functionality
* Add scraping of performer image
* Add scene cover image scraping
* Port UI changes to v2.5
* Fix v2.5 dialog suggest color
* Don't convert eol of UI to support pretty
2020-03-11 11:41:55 +11:00
caustico
5fb8bbf768
Movies Section ( #338 )
...
Co-authored-by: WithoutPants <53250216+WithoutPants@users.noreply.github.com>
2020-03-10 14:28:15 +11:00
InfiniteTF
41f7a46ac1
Fix performer height filter error ( #388 )
...
* Fix performer height filter error
* Make all performer columns qualified
Co-authored-by: WithoutPants <53250216+WithoutPants@users.noreply.github.com>
2020-03-03 10:30:29 +11:00
InfiniteTF
80a8d2de97
Use parameter binding for all queries ( #387 )
2020-03-03 09:18:14 +11:00
WithoutPants
f87117b0d6
Add O-counter ( #334 )
...
* Add backend support for o-counter
* Add o-counter buttons everywhere
* Put o-counter button right-aligned on tabs
* Add o-counter filter
2020-02-02 19:17:28 -05:00
InfiniteTF
6a6e8d8875
Change thumbnail default size and resize algorithm ( #336 )
...
* Change thumbnail resize algorithm and add size parameter
* Height -> Width
* Change default size from 100px to 200px
* Height -> width
2020-01-31 17:19:15 -05:00
WithoutPants
3d3f8877de
Accept random seed from UI for random sorting ( #328 )
2020-01-24 22:35:21 -05:00
WithoutPants
cf96cae4c8
Add scene duration filter ( #313 )
...
* Add scene duration filter
2020-01-13 11:43:14 -05:00
Stash Dev
f8aa0433a3
Fix scene covers not importing correctly
2020-01-06 15:18:06 -08:00
WithoutPants
488cd5575d
Use arg for regex queries ( #311 )
2020-01-06 13:02:25 -05:00
Stash Dev
653406efd1
Added support for import / export of scene cover images
2019-12-31 14:38:49 -08:00
WithoutPants
f52db4f58b
Add stash scraper type ( #269 )
...
* Add stash scraper type
* Add graphql client to vendor
* Embed stash credentials in URL
* Fill URL from scraped scene
* Nil IDs returned from remote stash
* Nil check
2019-12-20 19:13:23 -05:00
WithoutPants
1704d3771f
Add scene auto-tagging from filename ( #204 )
...
* Add auto tagging for performers, studios and tags
* Fix scene title logging
* Fix golang 1.11 compile error
* Improve regex pattern. Only log when added
* Remove paging from parse query
* Add integration test
* Fix prefix detection on paths
2019-12-01 11:18:44 -05:00
bnkai
a6b8a3f2e8
Make sort filter queries for name case insensitive ( #183 )
2019-11-15 17:12:47 -05:00
WithoutPants
84bee2eb60
Performers, Tags and Studio from scene filename ( #174 )
...
* Make regex matching case-insensitive
* Port filename parser code to backend
* Add performers to scene filename parser UI
* Finish porting parser to backend
* Add performer, studio and tag parsing
* Hide fields not being parsed
* Don't query for empty performer/studio/tag
* Use exact matches
* Fix panic
* Fix arrays changed false positive. Fix layout
2019-11-07 07:49:08 -05:00
WithoutPants
3c089dd97c
More performer filter criteria ( #179 )
...
* Add new performer filter criteria to UI
* Add backend support for new performer criteria
2019-11-06 23:36:48 -05:00
WithoutPants
7cb9cd8a38
Scene filename to metadata parser ( #164 )
...
* Initial UI prototype
* Add backend support to update multiple scenes
* Fix title editing issues
* Add query regex support. UI improvements
* Rewrite parser. Add fields button and page size
* Add helper text for escaping {} characters
* Validate date
* Only set values if different from original
* Only update scenes that have something changed
* Add built in parser input recipes
* Make pattern matching case-insensistive
2019-10-30 09:37:21 -04:00
WithoutPants
d0730c7243
Add query options for tags, performers, studios #29 ( #157 )
...
* Add query options for tags, performers, studios
* Remove errant log
* Apply expanded query criteria to scene markers
2019-10-27 09:05:54 -04:00
Leopere
d7271d75fc
Merge pull request #109 from WithoutPants/optional_performer_image
...
Generate performer checksum from name instead of image. Use default performer image
2019-10-24 15:35:26 -04:00
WithoutPants
71a4cc6a07
Merge from master
2019-10-24 15:07:34 +11:00
Leopere
ccde317a56
Merge pull request #146 from endqwerty/add_clean_func
...
Add functionality to the Clean Button
2019-10-18 02:35:25 -04:00
Leopere
0d439ef42b
Merge pull request #97 from WithoutPants/delete_tag
...
Add delete tag button #96
2019-10-18 02:34:56 -04:00
WithoutPants
1ac6703d7f
Merge from master
2019-10-18 08:15:45 +11:00
daposy
de1a2a9007
use WithoutPants logic for cleaning up artifacts
2019-10-16 18:13:42 -07:00
WithoutPants
9d41963d05
Display error when deleting tag used as primary
2019-10-17 11:56:08 +11:00
daposy
6aa54c2775
add functionality to clean button
2019-10-16 16:47:53 -07:00
WithoutPants
1b98702e17
Merge from master
2019-10-17 09:31:04 +11:00
Leopere
c8e0ac7d20
Merge pull request #132 from friendlycrab/cleanup
...
Remove unused and generated code
2019-10-16 16:59:18 -04:00
Friendly C
e6bcff0767
Remove generated GraphQL files
2019-10-15 17:04:02 +02:00
Leopere
57e954d4e7
Merge pull request #137 from WithoutPants/nullable_scene_props
...
Allow unsetting of rating, studio, gallery
2019-10-15 10:09:26 -04:00
WithoutPants
a4f0a80816
Fix error when updating objects with slice data
2019-10-15 12:17:56 +11:00
WithoutPants
4433917768
Return updated scene after update
2019-10-15 10:54:05 +11:00
WithoutPants
0852199e27
Only update non-nil database fields
2019-10-15 08:57:53 +11:00
WithoutPants
470c64b840
Allow unsetting of rating, studio, gallery
2019-10-12 22:32:01 +11:00
WithoutPants
afcadd941b
Make title from file metadata optional
2019-10-12 19:20:27 +11:00
bill
ac2bc77407
fix isMissing date filter
2019-09-16 00:52:02 +03:00
WithoutPants
41c8cac738
Merge branch 'master' into optional_performer_image
2019-08-27 19:21:25 +10:00
WithoutPants
57073faab7
Merge branch 'master' into delete_scene
2019-08-25 17:41:32 +10:00
WithoutPants
9c92e64106
Use random performer image if none provided
2019-08-24 17:17:25 +10:00
WithoutPants
7562792589
Add custom css
2019-08-23 08:24:14 +10:00
WithoutPants
20662532d8
Studio checksum from name. Default image
2019-08-21 15:48:36 +10:00
WithoutPants
043d073bcf
Use png for default performer image
2019-08-21 13:14:40 +10:00
WithoutPants
996fd9c70a
Performer checksum from name. Default image
2019-08-21 12:51:30 +10:00
WithoutPants
c3e4c5702a
Merge branch 'master' into delete_scene
2019-08-20 15:37:58 +10:00
StashAppDev
da71a59493
Merge pull request #101 from WithoutPants/issues/69
...
Show studios with no scenes #69
2019-08-19 16:23:30 -07:00
WithoutPants
7ee1b3f052
Add options to delete file and generated files
2019-08-16 07:21:35 +10:00
WithoutPants
cfe2636837
Add delete scene button
2019-08-15 17:32:57 +10:00
WithoutPants
ec9020c1b9
Use left join for studios #69
2019-08-15 11:30:32 +10:00
WithoutPants
35bcf97a7a
Add delete for performers and studios
2019-08-15 07:40:51 +10:00
WithoutPants
45f72a549f
Delete scene/marker tag refs when deleting tags
2019-08-13 09:03:16 +10:00
Stash Dev
4f016ab3c9
Random sort now paginates without duplicates
2019-07-27 13:22:38 -07:00
bill
92d90863a8
fix bug:Studios sort by scene_count reported by malcuk on discord
2019-05-31 01:59:29 +03:00
Stash Dev
4b037e1040
Dependency updates
2019-05-27 12:34:26 -07:00
Stash Dev
ec453c7a14
Added marker / scene audio interface option
2019-04-20 14:48:54 -07:00
Stash Dev
d6eb2c2d8e
Scenes with a marker missing a primary tag fails to load
...
Fixes #42
2019-04-20 10:32:01 -07:00
Stash Dev
29a40c5bdd
Configuration
...
* Added flags to customize the host and port
* Start up just one server rather than a server for HTTP and HTTPS. HTTPS server will only start if a cert and key are found
2019-04-11 10:55:58 -07:00
Stash Dev
763424bc40
Update GQLGen and break up the schema.graphql file
2019-03-27 12:47:43 -07:00
Stash Dev
3b83371f84
Fix invalid scene marker tag count
2019-03-24 19:07:08 -07:00
Stash Dev
b1db98bd1f
Filter improvement exploration
...
Changed the rating filter to allow for more than just an equality check. This progresses #29 .
2019-03-24 15:11:58 -07:00
Stash Dev
c1f1a6ccff
More configuration options
...
* Allow configuration of generated file path and database path. Closes #33
* Added checkboxes to choose what gets generated for the generate task. Closes #32
2019-03-24 10:04:31 -07:00
Stash Dev
c73f78bb42
JPEG is a valid gallery file. Closes #28
2019-03-23 16:30:10 -07:00
Stash Dev
543d2597ec
Tweaks
...
* Fixed scene marker "scene_updated_at" sort option
* Added "created_at" and "updated_at" sort options. Closes #19
2019-03-23 16:27:53 -07:00
Stash Dev
ae9bbf237f
Support multiple content folders. Closes #2
2019-03-23 14:09:05 -07:00
Stash Dev
dd22d88d07
Config Tweaks
...
Using viper for config management. Added configuration endpoint.
2019-03-23 10:06:37 -07:00
Stash Dev
66d2c5ca04
UI V2
...
Squashed commits:
[e74bbf9] stuff
[28476de] stuff
[c7efb7b] stuff
[2c78f94] stuff
[f79338e] stuff
[a697876] stuff
[85bb60e] stuff
[9f108b2] stuff
[d8e00c0] stuff
[7787ef9] stuff
[f7f10b7] stuff
[aa266f7] stuff
[511ba6b] stuff
[7453747] stuff
[db55e2d] stuff
[b362623] stuff
[7288c17] stuff
[86638cd] stuff
[879dac4] stuff
[65a4996] stuff
[c6fb361] stuff
[d449ce7] stuff
[349dffa] stuff
[84206ab] stuff
[0253c65] stuff
[cc0992e] stuff
[3289e7d] stuff
[d9ab290] stuff
[dcc980d] stuff
[7787da8] stuff
[5bcf7cd] stuff
[00e9316] stuff
[54c9398] stuff
[72b6ee1] stuff
[4b4b26c] stuff
[4cbdb06] stuff
[1a240b3] stuff
[650ea08] stuff
[37440ef] stuff
[9ee66ba] stuff
[b430c86] stuff
[37159c3] stuff
[deba837] stuff
[6ac65f6] stuff
[a2ca1a1] stuff
[c010229] stuff
[3fd7306] stuff
[cbe6efc] stuff
[997a8d0] stuff
[d0708a2] stuff
[d316aba] stuff
[4fe9900] Added initial files
2019-03-15 15:33:51 -07:00
Stash Dev
c4d45db30c
Fix json time when unmarshalling
...
https://github.com/stashapp/stash/issues/25
2019-03-09 10:14:55 -08:00
Stash Dev
f57c2bff1d
Another date fix
2019-03-07 12:19:19 -08:00
Stash Dev
8d23357a13
Fix dates
2019-03-04 19:37:22 -08:00
Stash Dev
b70d5f33d2
Improved date handling
2019-03-04 17:14:52 -08:00
Stash Dev
b488c1ed7d
Reorg
2019-02-14 15:42:52 -08:00