its-josh4
c6bcdd89be
Use slices package from the stdlib when possible ( #5360 )
...
* Use slices from the stdlib when possible
* Add some unit tests
* More small tweaks + add benchmark func
2024-10-29 11:26:23 +11:00
WithoutPants
f82e24762b
Add blobs location to env binds ( #5350 )
2024-10-07 11:20:29 +11:00
WithoutPants
71e39e5cb8
Default database backup to same directory as database ( #5250 )
2024-09-11 14:02:00 +10:00
WithoutPants
ca970b9706
Use gallery updated at for cover mod time ( #5225 )
2024-09-05 16:45:15 +10:00
DirtyRacer1337
601a16b5cb
replace stashBox validation ( #5187 )
2024-09-05 12:59:05 +10:00
WithoutPants
c21ded028a
Scan video orientation ( #5189 )
...
* Adjust video dimensions for side data rotation
* Warn user when ffprobe version < 5. Only get rotation data on version >= 5
2024-09-03 16:33:15 +10:00
WithoutPants
a3c34a51aa
Gallery cover url ( #5182 )
...
* Add default gallery image
* Add gallery cover URL path
* Use new cover URL in UI
* Hide gallery preview scrubber when gallery has no images
* Don't try to show lightbox for gallery without images
* Ignore unrelated lint issue
2024-09-03 16:31:55 +10:00
WithoutPants
bcf0fda7ac
Containing Group/Sub-Group relationships ( #5105 )
...
* Add UI support for setting containing groups
* Show containing groups in group details panel
* Move tag hierarchical filter code into separate type
* Add depth to scene_count and add sub_group_count
* Add sub-groups tab to groups page
* Add containing groups to edit groups dialog
* Show containing group description in sub-group view
* Show group scene number in group scenes view
* Add ability to drag move grid cards
* Add sub group order option
* Add reorder sub-groups interface
* Separate page size selector component
* Add interfaces to add and remove sub-groups to a group
* Separate MultiSet components
* Allow setting description while setting containing groups
2024-08-30 11:43:44 +10:00
Ian McKenzie
96fdd94a01
Create a section in the history panel to reset scene activity ( #5168 )
...
Co-authored-by: WithoutPants <53250216+WithoutPants@users.noreply.github.com>
2024-08-29 13:34:22 +10:00
sezzim
68738bd227
Support for assigning any image from a gallery as the cover ( #5053 )
...
Co-authored-by: WithoutPants <53250216+WithoutPants@users.noreply.github.com>
2024-08-29 11:24:52 +10:00
WithoutPants
ca55f96fd8
Replace group image with more consistent svg ( #5170 )
2024-08-28 09:02:52 +10:00
WithoutPants
b7799df2a6
Add package docs and project vision/goals ( #5169 )
...
* Add goals/design vision to contributing doc
* Add barebones package documentation
2024-08-28 09:01:39 +10:00
WithoutPants
996dfb1c2f
Gallery scrubber ( #5133 )
2024-08-28 08:59:41 +10:00
Gykes
7788a6fd07
PatchComponentRedo ( #5136 )
...
* PatchComponent update specifically for SettingsInterfacePanel
* Fix unrelated lint issues
---------
Co-authored-by: WithoutPants <53250216+WithoutPants@users.noreply.github.com>
2024-08-20 14:25:06 +10:00
WithoutPants
540d72bc44
Fix bulk scene setting groups ( #5106 )
2024-07-31 10:53:40 +10:00
WithoutPants
720b233be6
Rename movie group backend ( #5044 )
...
* Rename movie go files
* Rename movie package to group
2024-07-04 11:36:05 +10:00
WithoutPants
ec23b26c60
Adds mutex protection around dms.Eventing ( #5042 )
...
It's possible for concurrent map read/write panic in the Eventing.Subscribe function.
2024-07-04 10:52:04 +10:00
WithoutPants
15a7b8a859
Movie group renames ( #5039 )
...
* Rename Movie and MoviePartial to Group/GroupPartial
* Rename Movie interfaces
* Update movie url builders to use group
* Rename movieRoutes to groupRoutes
* Update dataloader
* Update names in sqlite package
* Rename in resolvers
* Add GroupByURL to scraper config
* Scraper backward compatibility hacks
2024-07-04 09:10:26 +10:00
WithoutPants
2739696813
Add group graphql interfaces ( #5017 )
...
* Deprecate movie and add group interfaces
* UI changes
2024-07-03 13:59:40 +10:00
WithoutPants
9c13b39f99
Fix identify clearing parent studio when merging ( #4993 )
...
* Refactor ScrapedStudio.ToPartial signature
* Add unit test
* Don't clear parent studio during ToPartial
2024-06-19 19:52:33 +10:00
bob123491234
b3d35dfae4
Add tags to studios ( #4858 )
...
* Fix makeTagFilter mode
* Remove studio_tags filter criterion
This is handled by studios_filter. The support for this still needs to be added in the UI, so I have removed the criterion options in the short-term.
---------
Co-authored-by: WithoutPants <53250216+WithoutPants@users.noreply.github.com>
2024-06-18 15:55:20 +10:00
WithoutPants
f26766033e
Performer urls ( #4958 )
...
* Populate URLs from legacy fields
* Return nil properly in xpath/json scrapers
* Improve migration logging
2024-06-18 13:41:05 +10:00
WithoutPants
fda4776d30
Movie/Group tags ( #4969 )
...
* Combine common tag control code into hook
* Combine common scraped tag row code into hook
2024-06-18 11:24:15 +10:00
WithoutPants
f9a624b803
Default view filters ( #4962 )
...
* Merge/adapt from yoshnopa:defaultDetails
* Deprecate and remove default filter calls
* Fix weird behaviour when clicking set as default
* Update deprecated get/set default filter resolvers
* Add config migration
---------
Co-authored-by: yoshnopa <usingusenet@protonmail.com>
2024-06-18 10:51:52 +10:00
WithoutPants
2d483f2d11
Bulk edit tags ( #4925 )
...
* Refactor tag relationships and add bulk edit
* Add bulk edit tags dialog
2024-06-11 13:41:20 +10:00
WithoutPants
ed057c971f
Correct Stash box endpoint inputs ( #4924 )
...
* Use stashbox endpoint instead of index
* Update UI to not use deprecated fields
2024-06-11 13:14:12 +10:00
Flashy78
dcb86d9186
Allow SSL cert paths to be specified in config ( #4910 )
2024-06-11 13:11:41 +10:00
WithoutPants
62bdff351d
Movie URLs ( #4900 )
...
* Fix exclude behaviour for stringListCriterionHandlerBuilder
2024-06-11 13:08:49 +10:00
WithoutPants
0a07194110
Fix reading task defaults ( #4931 )
2024-06-05 16:04:14 +10:00
WithoutPants
b232e58b06
Set config file when provided ( #4909 )
2024-06-03 12:44:15 +10:00
WithoutPants
3b146588c6
Fix ffmpeg resolution when in current directory ( #4899 )
...
* Use absolute path to resolve ffmpeg in config directory
* Pass absolute config path to plugins
2024-05-30 15:50:27 +10:00
WithoutPants
9c8bd853c5
Fix lint error
2024-05-28 16:37:13 +10:00
WithoutPants
28b5fbfd4d
Apply scraped tag exclusions galleries and performers ( #4872 )
2024-05-24 08:06:23 +10:00
WithoutPants
4794a1d453
Fix setting pointers corrupting config in memory ( #4868 )
2024-05-23 10:56:18 +10:00
WithoutPants
99d97804f4
Change umask when creating config file to exclude user write ( #4866 )
2024-05-22 14:59:25 +10:00
WithoutPants
bfc60bb23f
Replace viper with koanf ( #4845 )
...
* Migrate to koanf
* Use temp logger for crashes before config is initialised
* Remove snake case hacks
* Add migration for config file keys
* Add migration note for new migration
* Renamed viper functions
* Remove front-end viper workaround
* Correctly default scan options
2024-05-21 11:24:47 +10:00
CJ
0fa71be697
Add scan option to force gallery zip rescan ( #4113 )
...
* Add scan option to force rescan
---------
Co-authored-by: WithoutPants <53250216+WithoutPants@users.noreply.github.com>
2024-05-20 13:52:36 +10:00
WithoutPants
4d3dc0aec8
Default SetCoverImage to true in identify ( #4855 )
2024-05-20 13:13:16 +10:00
WithoutPants
769540be55
Warn if ffmpeg lacks codecs ( #4852 )
...
Prefer ffmpeg with codec support if path not explicitly set.
2024-05-20 12:54:44 +10:00
Ivan Pedrazas
dd84714a16
feat: Make DLNA port configurable ( #4836 )
...
---------
Signed-off-by: Ivan Pedrazas <ipedrazas@gmail.com>
Co-authored-by: WithoutPants <53250216+WithoutPants@users.noreply.github.com>
2024-05-20 09:33:23 +10:00
damontecres
ad844a225c
Return 401 code for ErrUnauthorized ( #4842 )
2024-05-16 14:30:19 +10:00
WithoutPants
408d6fc988
Build UI artifacts ( #4824 )
...
* Flag/env var for stash UI location
* Include UI in build artifacts
2024-05-14 12:02:29 +10:00
Dankonite
29859fa4ad
Tag Favoriting ( #4728 )
...
* Add missing key unbind
---------
Co-authored-by: WithoutPants <53250216+WithoutPants@users.noreply.github.com>
2024-05-09 12:04:58 +10:00
Serge Levin
1cee1ccfe2
Better support for Samsung SmartTV for built-in DLNA server ( #4784 )
2024-05-09 09:16:21 +10:00
WithoutPants
7086109d78
Change ffmpeg handling ( #4688 )
...
* Make ffmpeg/ffprobe settable and remove auto download
* Detect when ffmpeg not present in setup
* Add download ffmpeg task
* Add download ffmpeg button in system settings
* Download ffmpeg during setup
2024-03-21 12:43:40 +11:00
WithoutPants
213c2830d1
Fix unhandled error ( #4700 )
2024-03-19 15:08:20 +11:00
WithoutPants
8c454582c7
Add support for favorite Studios ( #4675 )
...
* Backend changes
* Add favorite icon to studio cards
* Add favorite button to studio page
* Add studio favorite filtering
2024-03-14 11:17:44 +11:00
WithoutPants
e5929389b4
Make migration an asynchronous task ( #4666 )
...
* Add failed state and error to Job
* Move migration code
* Add websocket monitor
* Make migrate a job managed task
2024-03-14 11:06:23 +11:00
WithoutPants
7ac7963972
Save task options ( #4620 )
...
* Support setting nested UI values
* Accept partial for configureUI
* Send partial UI
* Save scan, generate and auto-tag options on change
* Send partials in saveUI
* Save library task options on change
2024-03-14 08:25:16 +11:00
WithoutPants
c7b2314bb1
Fix image clip webm not being cleaned ( #4657 )
2024-03-07 09:03:00 +11:00
WithoutPants
4614471ad9
Fix ffmpeg error when trying to scale and copy video ( #4660 )
2024-03-07 09:02:45 +11:00
WithoutPants
fcf249e5f6
Improve plugin hook cyclic detection ( #4625 )
...
* Move and rename HookTriggerEnum into separate package
* Move visited plugin hook handler code
* Allow up to ten plugin hook loops
2024-02-28 08:29:25 +11:00
WithoutPants
3a56dd98db
Change handlerRequiredFilter to check for .forcegallery ( #4627 )
2024-02-28 08:28:29 +11:00
WithoutPants
ba1ebba6c0
Add Clean generated files task ( #4607 )
...
* Add clean generate task
* Add to library tasks
* Save and read defaults
* Stop handling and logging
* Make filename parsing more robust
2024-02-23 15:56:00 +11:00
WithoutPants
4a3ce8b6ec
Fix auto tag from object not honouring the ignore autotag flag ( #4610 )
...
* Fix auto tag from object ignoring the ignore autotag field
* Disable auto tag buttons where ignore auto tag is enabled
2024-02-23 14:34:04 +11:00
WithoutPants
a302fc78ea
Fix crash when generating thumbnail during scan
2024-02-23 11:20:07 +11:00
WithoutPants
f2bc3d5567
Log on scene cover fetch error
2024-02-22 14:59:03 +11:00
WithoutPants
a303446bb7
Scene play and o-counter history view and editing ( #4532 )
...
Co-authored-by: randemgame <61895715+randemgame@users.noreply.github.com>
2024-02-22 11:28:18 +11:00
WithoutPants
0c2a2190e5
Plugin API improvements ( #4603 )
...
* Accept plain map for runPluginTask
* Support running plugin task without task name
* Add interface to run plugin operations
* Update RunPluginTask client mutation
2024-02-22 11:20:21 +11:00
WithoutPants
a8c909e0c9
Add option to generate image thumbnails during generate ( #4602 )
...
* Add option to generate image thumbnails
* Limit number of concurrent image thumbnail generation ops
2024-02-22 11:19:23 +11:00
WithoutPants
76e5598876
Improve handling of moved and added video files ( #4598 )
...
* If old file path is not in library, treat as move
* Use existing phash if file with same oshash exists
2024-02-20 14:04:31 +11:00
WithoutPants
276bc5a8cb
Fix 404 not returning immediately in asset resolver ( #4597 )
2024-02-20 13:00:27 +11:00
WithoutPants
e231812203
Movie select overhaul ( #4563 )
...
* Add ids to findMovies input
* Use ids for other find interfaces
* Update client side
* Fix gallery select function
* Replace movie select
* Re-add creatable
* Overhaul movie table
* Remove and deprecated unused code
2024-02-19 10:25:08 +11:00
WithoutPants
440c261f5b
Developer option: extra blob paths ( #4566 )
...
* Allow additional read-only blob paths
* Add developer option to add more blob sources
* Add makefile targets to start and remove build container
* Documentation
2024-02-16 12:39:45 +11:00
WithoutPants
8fc997dfe9
Fix merge not deleting deleted scene generated files ( #4567 )
2024-02-16 12:38:34 +11:00
NodudeWasTaken
15aac68a14
Fix segment repeating + cleanup speed calculation ( #4557 )
2024-02-15 13:46:59 +11:00
WithoutPants
9981574e82
Add gallery select filter and fix image gallery filtering ( #4535 )
...
* Accept gallery ids in findGalleries
* Add gallery select component
* Add and fix image gallery filter
* Show gallery path as alias
2024-02-09 16:42:07 +11:00
DingDongSoLong4
2d73912f15
Improve client-side graphql scalar types ( #4511 )
...
* Add types to graphql scalars
* Upgrade dependencies
* Override UI config type
* Remove all IUIConfig casts
* Add tableColumns to IUIConfig
* Add BoolMap type, set strictScalars
* Add PluginConfigMap
* Replace any with unknown
* Add SavedObjectFilter and SavedUIOptions
* Remove unused items from CriterionType
2024-02-07 09:49:32 +11:00
WithoutPants
de2b28d3f9
Studio select refactor ( #4493 )
...
* Add id interface to findStudios
* Replace existing selects
* Remove unused code
* Fix scrape/merge select
* Make clearable
2024-02-06 11:26:16 +11:00
WithoutPants
723211a620
Tag select refactor ( #4478 )
...
* Add interface to load tags by id
* Use minimal data for tag select queries
* Center image/text in select list
* Overhaul tag select
* Support excludeIds. Comment out image in dropdown
* Replace existing selects
* Remove unused code
* Fix styling of aliases
2024-01-24 20:24:13 +11:00
WithoutPants
5cf28cf8af
Fix studio name uniqueness validation ( #4454 )
2024-01-14 12:52:16 +11:00
WithoutPants
6271f18979
Fix error when creating/updating performer with alias == name ( #4443 )
...
* Filter out performer aliases that match the name
* Validate when creating/updating performer in stash-box task
2024-01-09 14:57:49 +11:00
bayured
f5e3fe77b7
Update FieldStrategyOverwrite to work when scene has no existing URL ( #4412 )
2024-01-09 10:23:29 +11:00
DingDongSoLong4
6ee7e6112b
Refresh package managers after setup ( #4397 )
...
* Refresh package managers after setup
* Fix default plugins/scrapers paths
2023-12-27 10:57:10 +11:00
WithoutPants
afda6decf2
Support setting file fingerprints ( #4376 )
...
* Support setting file fingerprints
* Disallow modifying managed hashes
2023-12-22 14:07:10 +11:00
DingDongSoLong4
a1bd7cf817
Package manager UI-related tweaks ( #4382 )
...
* Add Plugins Path setting
* Fix/improve cache invalidation
* Hide load error when collapsing package source
* Package manager style tweaks
* Show error if installed packages query failed
* Prevent "No packages found" flicker
* Show <unknown> if empty version
* Always show latest version, highlight if new version available
* Fix issues with non-unique cross-source package ids
* Don't wrap id, version and date
* Decrease collapse button padding
* Display description for scraper packages
* Fix default packages population
* Change default package path to community
---------
Co-authored-by: WithoutPants <53250216+WithoutPants@users.noreply.github.com>
2023-12-22 14:05:53 +11:00
DingDongSoLong4
d0d0d1e11f
Include image total O-Count on stats page ( #4386 )
2023-12-21 16:19:41 +11:00
WithoutPants
c9501ef881
Default package sources ( #4364 )
...
* Set default package sources
* Add release notes
* Add documentation
* Index URL -> Source URL
2023-12-18 09:45:21 +11:00
DingDongSoLong4
2ef2d89b06
Fix desktop notification duration formatting ( #4358 )
2023-12-14 13:31:20 +11:00
DingDongSoLong4
ccb1b7c3c4
Fix exit from systray ( #4337 )
2023-12-02 17:44:20 +02:00
DingDongSoLong4
d4ef182871
Remove railsTimeLayout from ParseDateStringAsTime ( #4333 )
2023-12-01 22:28:38 +02:00
DingDongSoLong4
d24b52ae7f
Fix nil deference when generating markers by ID ( #4335 )
2023-12-01 22:28:18 +02:00
bob123491234
413311711f
Add Details, Studio Code, and Photographer to Images ( #4217 )
...
* Add Details, Code, and Photographer to Images
* Add date and details to image card
---------
Co-authored-by: WithoutPants <53250216+WithoutPants@users.noreply.github.com>
2023-11-28 15:45:07 +11:00
bob123491234
d1018b4c5d
Add Studio Code and Photographer to Galleries. ( #4195 )
...
* Added Studio Code and Photographer to Galleries
* Fix gallery display on mobile
* Fixed potential panic when scraping with a bad configuration
---------
Co-authored-by: WithoutPants <53250216+WithoutPants@users.noreply.github.com>
2023-11-28 15:05:33 +11:00
DingDongSoLong4
b78771dbcd
Manager refactor, part 1 ( #4298 )
...
* Move BackupDatabase and AnonymiseDatabase to internal/manager
* Rename config.Instance to config.Config
* Rename FFMPEG
* Rework manager and initialization process
* Fix Makefile
* Tweak phasher
* Fix config races
* Fix setup error not clearing
2023-11-28 13:56:46 +11:00
WithoutPants
11be56cc42
UI plugin dependencies ( #4307 )
...
* Add requires field to UI plugin config
* Use defer instead of async for useScript
* Load plugins based on dependency
* Document new field
2023-11-27 13:41:04 +11:00
DingDongSoLong4
0e7c58a5a6
Fix gallery export panic ( #4311 )
...
* Load URLs when exporting galleries
* Remove err.Error()
* Log gallery DisplayName rather than PrimaryChecksum
2023-11-27 10:43:34 +11:00
WithoutPants
a8140c11ec
Cache package list in memory instead of filesystem ( #4309 )
2023-11-23 14:16:13 +11:00
WithoutPants
987fa80786
Scraper and plugin manager ( #4242 )
...
* Add package manager
* Add SettingModal validate
* Reverse modal button order
* Add plugin package management
* Refactor ClearableInput
2023-11-22 10:01:11 +11:00
DingDongSoLong4
049a1b15c3
Add fingerprint resolver ( #4287 )
...
* Refactor into internal/api/models.go
* Add file fingerprint resolver
2023-11-20 13:09:12 +11:00
InfiniteStash
a0f33e3dab
Add filtering to folder select ( #4277 )
2023-11-20 13:00:28 +11:00
WithoutPants
222475df82
Plugin assets, external scripts and CSP overrides ( #4260 )
...
* Add assets for plugins
* Move plugin javascript and css into separate endpoints
* Allow loading external scripts
* Add csp overrides
* Only include enabled plugins
* Move URLMap to utils
* Use URLMap for assets
* Add documentation
2023-11-19 10:41:16 +11:00
DingDongSoLong4
4dd4c3c658
Improved/fixed macOS support ( #4153 )
...
* Fix macOS notifications
* Change CFBundleIdentifier to match domain
* Distribute Stash.app
* Also build universal phasher binary
* Fix binary name in check_version.go
* Expose GOOS, working dir and home dir in systemStatus endpoint
* Disable setup in working directory when running Stash.app
* More Makefile improvements, remove unused scripts
* Improve READMEs and documentation
2023-11-19 10:36:13 +11:00
DingDongSoLong4
4715c5ebb2
Fix performer validation ( #4248 )
...
* Fix performer validation
* Add tests
* Rename QueryCount argument
* Minor refactoring
* Add duplicate alias validation
* Make UI alias validation also case-insensitive
2023-11-02 16:23:54 +11:00
DingDongSoLong4
9621213424
Genericise sliceutil functions ( #4253 )
...
* Genericise sliceutil.SliceSame
* Genericise intslice functions
* Genericise stringutil functions
2023-11-02 08:58:32 +11:00
its-josh4
2b8c2534dd
Update a number of dependencies (incl. CVE fixes) ( #4107 )
...
* Update a number of dependencies (incl. CVE fixes)
Includes some dependencies that were upgraded in #4106 as well as a few more dependencies.
Some deps that have been upgraded had CVEs.
Notably, upgrades deprecated dependencies such as:
- `github.com/go-chi/chi` (replaced with `/v5`)
- `github.com/gofrs/uuid` (replaced with `/v5`)
- `github.com/hashicorp/golang-lru` (replaced with `/v2` which uses generics)
* Upgraded a few more deps
* lint
* reverted yaml library to v2
* remove unnecessary mod replace
* Update chromedp
Fixes #3733
2023-10-26 16:24:32 +11:00
its-josh4
b99d16b712
Some cosmetic fixes from #4106 ( #4236 )
2023-10-23 08:20:41 +11:00
DingDongSoLong4
24984da16e
Fix UI config conversion yet again ( #4128 )
2023-10-19 10:21:03 +11:00
WithoutPants
2b8718100b
Plugin settings ( #4143 )
...
* Add backend support for plugin settings
* Add plugin settings config
* Add UI support for plugin settings
2023-10-18 14:09:13 +11:00
Ian McKenzie
21baa23fc5
Fix unix build flags to be friendly to niche operating systems ( #4214 )
2023-10-17 12:00:19 +11:00