Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

2/10 merger #5

Open
wants to merge 207 commits into
base: 12/23
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
207 commits
Select commit Hold shift + click to select a range
9bd3640
Fix saved filter UI bugs (#4394)
DingDongSoLong4 Dec 26, 2023
6ee7e61
Refresh package managers after setup (#4397)
DingDongSoLong4 Dec 26, 2023
3e9bd85
Fix Scene Tagger config blacklist (#4396)
DingDongSoLong4 Dec 27, 2023
f32d60f
Update macOS readme links (#4347)
DingDongSoLong4 Dec 27, 2023
82cbeff
Revert modal button order change (#4400)
WithoutPants Dec 28, 2023
f8a9378
Use 8.14.3-r0 of vips (#4402)
WithoutPants Dec 28, 2023
5a6504b
Workaround setting protocol on external player url (#4403)
WithoutPants Dec 29, 2023
bd7d4ac
Update changelog for bugfix release
WithoutPants Dec 29, 2023
6848dec
Add CSP to plugin from the yaml file (#4424)
cc1234475 Jan 8, 2024
ea50383
Add join to intCriterionHandler (#4414)
bayured Jan 8, 2024
910c702
Fix scraped performer alias matching (#4432)
DingDongSoLong4 Jan 8, 2024
b968aa3
Fixes package manger head border (#4420)
cj12312021 Jan 8, 2024
5b9a96b
Scene queue autoplay (#4428)
DingDongSoLong4 Jan 8, 2024
d8990e6
Fix settings tab links (#4430)
DingDongSoLong4 Jan 8, 2024
d23cecf
Disable select all checkbox for plugin sources (#4434)
WithoutPants Jan 8, 2024
743ab9a
Sort plugin settings (#4435)
WithoutPants Jan 8, 2024
f5e3fe7
Update FieldStrategyOverwrite to work when scene has no existing URL …
bayured Jan 8, 2024
a998497
Hide tag input when set tags is disabled (#4440)
DingDongSoLong4 Jan 9, 2024
9859ec6
Calculate DetailImage fallback width using rem (#4441)
DingDongSoLong4 Jan 9, 2024
ca976a0
Don't bail on error when scraping all (#4442)
WithoutPants Jan 9, 2024
6271f18
Fix error when creating/updating performer with alias == name (#4443)
WithoutPants Jan 9, 2024
0b131f7
Fix scene marker merging (#4446)
DingDongSoLong4 Jan 9, 2024
95a2c8d
Update changelog for bugfix release
WithoutPants Jan 10, 2024
08b7358
Don't retry failed autoplay (#4450)
DingDongSoLong4 Jan 12, 2024
5cf28cf
Fix studio name uniqueness validation (#4454)
WithoutPants Jan 14, 2024
aeb68a5
Update changelog
WithoutPants Jan 14, 2024
14bde44
added support for image orientation filter (#4404)
keenbed Jan 16, 2024
e470dc5
Bump golang.org/x/crypto from 0.14.0 to 0.17.0 (#4375)
dependabot[bot] Jan 16, 2024
ec547e8
Bump vite from 4.4.11 to 4.4.12 in /ui/v2.5 (#4348)
dependabot[bot] Jan 16, 2024
45e2e12
Improved scene queue (#4448)
cj12312021 Jan 16, 2024
75099b3
Update Performer gender filter (#4419)
ofpcode Jan 16, 2024
403f7c5
Move zip files while moving folders (#4374)
WithoutPants Jan 16, 2024
2967769
Add support for disabling mobile media-viewer's fullscreen auto-rotat…
flubber1234 Jan 16, 2024
e7311a6
Advanced settings (#4378)
WithoutPants Jan 16, 2024
dd8da7f
Improved list view for scenes, galleries and performers (#4368)
cj12312021 Jan 16, 2024
723211a
Tag select refactor (#4478)
WithoutPants Jan 24, 2024
3573795
Clarify session description (#4468)
DogmaDragon Jan 24, 2024
64f2071
Add note for auto tag (#4490)
DogmaDragon Jan 24, 2024
1588d1c
Update scene list setting (#4473)
DogmaDragon Jan 24, 2024
d82c526
Minor UI fixes (#4509)
DingDongSoLong4 Jan 29, 2024
11cafe9
only use details background image when provided (#4515)
cj12312021 Jan 29, 2024
0b82dbf
Frontend fix media_err_decode on playback (#4506)
NodudeWasTaken Feb 5, 2024
1d0fa27
Improve list table readability (#4497)
cj12312021 Feb 5, 2024
cf8efa9
Link improvements and fixes (#4501)
DingDongSoLong4 Feb 5, 2024
3ea31ae
Add blank favicon on login page (#4498)
DingDongSoLong4 Feb 5, 2024
217c02f
Fix tag selector in scrape dialogs (#4526)
WithoutPants Feb 5, 2024
de2b28d
Studio select refactor (#4493)
WithoutPants Feb 6, 2024
892d74c
expose useful libs (#4489)
Tetrax-10 Feb 6, 2024
3305812
Fix UI crash during setup (#4527)
WithoutPants Feb 6, 2024
a8df95c
Fit cards properly within their containers (#4514)
cj12312021 Feb 6, 2024
a402ee5
support filesize in scene list (#4480)
cj12312021 Feb 6, 2024
9ac6505
Studio child filter and sort (#4479)
dogwithakeyboard Feb 6, 2024
2d73912
Improve client-side graphql scalar types (#4511)
DingDongSoLong4 Feb 6, 2024
9284ede
Bump vite from 4.4.12 to 4.5.2 in /ui/v2.5 (#4477)
dependabot[bot] Feb 6, 2024
8770e81
Improve sorting of results when entering text in select fields (#4528)
WithoutPants Feb 6, 2024
a16f3da
Fix tag popper over card (#4529)
cj12312021 Feb 8, 2024
79e72ff
Fix UI config mutation not working (#4533)
WithoutPants Feb 9, 2024
9981574
Add gallery select filter and fix image gallery filtering (#4535)
WithoutPants Feb 9, 2024
1305bf0
Merge branch '12/23' into 2/10-merger
Dankonite Feb 11, 2024
6b1919f
Reintegrate My scenecard stuff
Dankonite Feb 11, 2024
8c410a9
Wrap card popovers (#4539)
WithoutPants Feb 12, 2024
a4bbdcf
Common studio overlay component (#4540)
WithoutPants Feb 12, 2024
235c9c9
Add disambiguation to performer link and performer select values (#4541)
WithoutPants Feb 12, 2024
46eb011
Plugin api improvements (#4546)
WithoutPants Feb 12, 2024
e9703e9
Fix url not updated for default tab on Performer/Studio/Tag pages (#4…
WithoutPants Feb 12, 2024
dad4ab6
Fix scraped studio not matching existing value (#4548)
WithoutPants Feb 13, 2024
15aac68
Fix segment repeating + cleanup speed calculation (#4557)
NodudeWasTaken Feb 15, 2024
aaf3114
Bugfix: No Image Upscale for Clips (#4569)
yoshnopa Feb 16, 2024
706b612
Fix country selector in bulk performer edit dialog (#4565)
WithoutPants Feb 16, 2024
5b9bdad
Mount edit panels only when first entering (#4564)
WithoutPants Feb 16, 2024
8fc997d
Fix merge not deleting deleted scene generated files (#4567)
WithoutPants Feb 16, 2024
440c261
Developer option: extra blob paths (#4566)
WithoutPants Feb 16, 2024
5aba3c1
Weblate translations update (#4578)
WithoutPants Feb 17, 2024
6fb1c41
Update translation files (#4581)
WithoutPants Feb 17, 2024
6e9718a
Toast improvements (#4584)
WithoutPants Feb 18, 2024
e7f610c
Fix invalid share causing error during cleaning (#4570)
WithoutPants Feb 18, 2024
e231812
Movie select overhaul (#4563)
WithoutPants Feb 18, 2024
1dfb960
Fix import
WithoutPants Feb 19, 2024
93b851e
Merge studio stash ids (#4572)
WithoutPants Feb 19, 2024
afd7f02
Error if duplicate plugin id is loaded (#4571)
WithoutPants Feb 19, 2024
7d56f1a
Fix panic
WithoutPants Feb 19, 2024
7bb38ae
Don't error out if a single url not fetched (#4591)
WithoutPants Feb 19, 2024
f5a42ed
Add galleries to image edit panel (#4573)
bob123491234 Feb 19, 2024
777fb44
Fix default url not redirecting in studio page (#4592)
WithoutPants Feb 19, 2024
b4a6cc4
Default tag hover popover to right (#4593)
WithoutPants Feb 19, 2024
276bc5a
Fix 404 not returning immediately in asset resolver (#4597)
WithoutPants Feb 20, 2024
cff068f
add pluginApi.d.ts (#4595)
Tetrax-10 Feb 20, 2024
8b1d4cc
Movie scene sorting (#4588)
dogwithakeyboard Feb 20, 2024
76e5598
Improve handling of moved and added video files (#4598)
WithoutPants Feb 20, 2024
5bb9bf9
Show upgradable packages only when checking for updates (#4599)
WithoutPants Feb 20, 2024
37acd6b
restore image performer age filter (#4601)
dogwithakeyboard Feb 21, 2024
61bd923
Fix incorrect documentation in Plugins.md
WithoutPants Feb 21, 2024
c4a91d1
include primary tag name in search and sort (#4606)
dogwithakeyboard Feb 22, 2024
a8c909e
Add option to generate image thumbnails during generate (#4602)
WithoutPants Feb 22, 2024
0c2a219
Plugin API improvements (#4603)
WithoutPants Feb 22, 2024
a303446
Scene play and o-counter history view and editing (#4532)
WithoutPants Feb 22, 2024
f2bc3d5
Log on scene cover fetch error
WithoutPants Feb 22, 2024
a302fc7
Fix crash when generating thumbnail during scan
WithoutPants Feb 23, 2024
4b84ec0
Support setting galleries in multiple images (#4608)
WithoutPants Feb 23, 2024
4a3ce8b
Fix auto tag from object not honouring the ignore autotag flag (#4610)
WithoutPants Feb 23, 2024
ba1ebba
Add Clean generated files task (#4607)
WithoutPants Feb 23, 2024
2e35221
Translations update from Hosted Weblate (#4585)
weblate Feb 23, 2024
56896d7
Fix panic
WithoutPants Feb 26, 2024
6a9175c
Implement UI event dispatcher/listener (#4492)
Tetrax-10 Feb 26, 2024
9c6fbfc
Add filename to image serve (#4616)
NodudeWasTaken Feb 27, 2024
48c287e
Add last o sort option (#4626)
WithoutPants Feb 27, 2024
3a56dd9
Change handlerRequiredFilter to check for .forcegallery (#4627)
WithoutPants Feb 27, 2024
fcf249e
Improve plugin hook cyclic detection (#4625)
WithoutPants Feb 27, 2024
98c428b
Improve scene tagger prioritization (#4618)
InfiniteStash Feb 27, 2024
768f74a
Fix unset gallery card width on initialization (#4612)
cj12312021 Feb 27, 2024
3385712
Add 0.25.0 changelog
WithoutPants Feb 27, 2024
2e00cb6
Document plugin settings
WithoutPants Feb 28, 2024
2bdf0d9
Fix penis length being incorrectly truncated (#4630)
WithoutPants Feb 28, 2024
4999e85
Fix performer disambiguation styling in select
WithoutPants Feb 28, 2024
9202787
Translations update from Hosted Weblate (#4615)
weblate Feb 28, 2024
b59afd2
Translations update from Hosted Weblate (#4634)
weblate Feb 28, 2024
945188a
Fix images with , character not rendering (#4636)
WithoutPants Feb 29, 2024
b4823be
Use proxy in utils.ReadImageFromURL (#4637)
WithoutPants Feb 29, 2024
2ca9e0f
Adding disambiguation to performer draft (#4122)
Flashy78 Feb 29, 2024
0626a7a
fix lightbox display modes (#4644)
cj12312021 Mar 5, 2024
20ac388
Update changelog
WithoutPants Mar 5, 2024
409a200
Fix URL prefix re-inserted when redirecting settings page (#4650)
WithoutPants Mar 5, 2024
2298609
Fix code from #4570
WithoutPants Mar 5, 2024
f1f6e84
Add bmp to image codec list (#4653)
dogwithakeyboard Mar 5, 2024
cd2f092
Update changelog
WithoutPants Mar 5, 2024
7733a21
Translations update from Hosted Weblate (#4641)
weblate Mar 5, 2024
4614471
Fix ffmpeg error when trying to scale and copy video (#4660)
WithoutPants Mar 6, 2024
c7b2314
Fix image clip webm not being cleaned (#4657)
WithoutPants Mar 6, 2024
e520643
Performernames and popover button modals
Dankonite Mar 7, 2024
353d889
fit cards code improvement (#4658)
cj12312021 Mar 8, 2024
9735d0f
fix image card width on front page (#4665)
cj12312021 Mar 8, 2024
c5bc106
Fix text color of medium fingerprint matches (#4662)
InfiniteStash Mar 8, 2024
f4bf32d
Merge remote-tracking branch 'origin/03/09-Fresh-copy-for-merge' into…
Dankonite Mar 10, 2024
6ed2437
cleaned some stuff up
Dankonite Mar 10, 2024
5443dff
Merge branch '2/10-merger' of https://github.com/Dankonite/stash into…
Dankonite Mar 10, 2024
9f5b1c3
Update StashDB details in README.md (#4676)
AdultSun Mar 12, 2024
3521dc1
play monitoring improvement (#4670)
cj12312021 Mar 12, 2024
484c9f9
push
Dankonite Mar 12, 2024
242609d
Recommendations Initial
Dankonite Mar 12, 2024
d995ce7
Downgrade astisub due to asticode/go-astisub#99 (#4682)
WithoutPants Mar 12, 2024
95d0e5d
Update changelog
WithoutPants Mar 13, 2024
bf7cb78
Translations update from Hosted Weblate (#4671)
weblate Mar 13, 2024
7ac7963
Save task options (#4620)
WithoutPants Mar 13, 2024
ae6d1a8
Add galleries filter to scenes (#4632)
bob123491234 Mar 13, 2024
3d0a8f6
Added Sort Performers by Last O At / Last Played At / Play Count and …
randemgame Mar 13, 2024
49cd214
Make directors and photographers clickable in detail view (#4621)
bdbenim Mar 13, 2024
9ceea95
Replace javascript module otto with goja (#4631)
WithoutPants Mar 14, 2024
fa172c2
Minor mobile fixes (#4683)
WithoutPants Mar 14, 2024
e592938
Make migration an asynchronous task (#4666)
WithoutPants Mar 14, 2024
8c45458
Add support for favorite Studios (#4675)
WithoutPants Mar 14, 2024
594707b
Recommendations Update
Dankonite Mar 14, 2024
f631847
Pushing
Dankonite Mar 17, 2024
6f8eac5
Tag bar finally works
Dankonite Mar 18, 2024
3277020
Use new studio selector in movie scrape dialog (#4692)
dogwithakeyboard Mar 19, 2024
213c283
Fix unhandled error (#4700)
WithoutPants Mar 19, 2024
b5b37bd
it works
Dankonite Mar 20, 2024
62b8ffb
Apply filter hook to results filter only (#4705)
WithoutPants Mar 21, 2024
292c865
Scene Page Changes
Dankonite Mar 21, 2024
a369613
bitrate filter (#4713)
NodudeWasTaken Mar 21, 2024
7086109
Change ffmpeg handling (#4688)
WithoutPants Mar 21, 2024
7814c4c
Scene View Changes
Dankonite Mar 22, 2024
823989f
Scene View Stuff
Dankonite Mar 24, 2024
512dbd7
push
Dankonite Mar 25, 2024
bbdf731
add tag favoriting
Dankonite Mar 26, 2024
d0a67b5
added tag favorite filter kinda borked
Dankonite Mar 26, 2024
034fd44
Fix selected tagger search result being lost when creating objects (#…
WithoutPants Mar 26, 2024
8721f72
pushing even tho I thought I already pushed this
Dankonite Mar 27, 2024
722b4e0
fix styles build errors
Dankonite Mar 27, 2024
0c087b6
fix tag.go
Dankonite Mar 28, 2024
c83635c
Add wrap on detail item values (#4730)
Larsluph Apr 2, 2024
ad60f0e
Fix link to scraping documentation in README.md
Strategy3637 Apr 7, 2024
f7b8737
Merge pull request #4749 from Strategy3637/chore/link-scraping-readme
DogmaDragon Apr 7, 2024
96b8d42
scenepage edits
Dankonite Apr 8, 2024
6b1c6b9
Scene page edits
Dankonite Apr 11, 2024
6051a56
scenepage stuff
Dankonite Apr 12, 2024
74844cb
scenepage stuff
Dankonite Apr 13, 2024
c0ebe44
scenepage things
Dankonite Apr 13, 2024
ad8f64d
scenepage stuff
Dankonite Apr 13, 2024
911da87
Update plugins script language (#4762)
DogmaDragon Apr 15, 2024
ec6acab
Details operation toolbar (#4714)
WithoutPants Apr 17, 2024
157b2e7
Allow movies scraped from the scene scraper dialog to include the dir…
Maista6969 Apr 17, 2024
4c0d9d0
chore: fix struct names (#4766)
hidewrong May 2, 2024
c43e7b4
Select first result when selectedResult is not defined (#4770)
Emilo2 May 2, 2024
560bdcd
Fix filterHook not applied to scene card queue (#4798)
WithoutPants May 3, 2024
141f60f
Fix interactive speed being lost when file is moved (#4799)
WithoutPants May 3, 2024
0bba888
Fix duplicate scene checker select logic (#4800)
WithoutPants May 3, 2024
22d14fd
Clean duplicate aliases when creating from performer tagger (#4801)
WithoutPants May 3, 2024
1b99a03
Bump golang.org/x/net from 0.17.0 to 0.23.0 (#4773)
dependabot[bot] May 8, 2024
c5abe28
Fix alias issue when tagging performer from stash-box (#4820)
WithoutPants May 8, 2024
9cc26f7
skip reencoding compatible video streams (#4783)
HookedBehemoth May 8, 2024
1cee1cc
Better support for Samsung SmartTV for built-in DLNA server (#4784)
sergelevin May 8, 2024
29859fa
Tag Favoriting (#4728)
Dankonite May 9, 2024
c5fef39
Full hardware transcoding (#4765)
NodudeWasTaken May 10, 2024
77ee620
Fix ffmpeg version detection
WithoutPants May 10, 2024
12af7d6
Fix black screen after migrating with release notes (#4825)
WithoutPants May 10, 2024
237a904
add stashapp-tools to default docker install (#4488)
feederbox826 May 11, 2024
408d6fc
Build UI artifacts (#4824)
WithoutPants May 14, 2024
1d565a7
Enable track activity by default (#4710)
cj12312021 May 14, 2024
c8aeb79
Add last_played_at filter (#4829)
NotForMyCV May 14, 2024
ca5febc
New scene select with additional fields (#4832)
dogwithakeyboard May 14, 2024
ad844a2
Return 401 code for ErrUnauthorized (#4842)
damontecres May 16, 2024
36f5194
recent changes
Dankonite May 18, 2024
56acc01
Merge branch '2/10-merger' into 5/18
Dankonite May 18, 2024
288e9a5
Merge pull request #8 from Dankonite/5/18
Dankonite May 18, 2024
702b42b
Revert to my scene.tsx
Dankonite May 18, 2024
b9e2d47
Swap migration order and .env vars
Dankonite May 18, 2024
5e4c983
Alt image hover for Perf Page
Dankonite May 18, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@

# GraphQL generated output
pkg/models/generated_*.go
ui/v2.5/src/core/generated-*.tsx
ui/v2.5/src/core/generated-graphql.ts

####
# Jetbrains
Expand Down
15 changes: 14 additions & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -92,13 +92,16 @@ jobs:
docker exec -t build /bin/bash -c "make build-cc-linux-arm32v6"
docker exec -t build /bin/bash -c "make build-cc-freebsd"

- name: Zip UI
run: docker exec -t build /bin/bash -c "make zip-ui"

- name: Cleanup build container
run: docker rm -f -v build

- name: Generate checksums
run: |
git describe --tags --exclude latest_develop | tee CHECKSUMS_SHA1
sha1sum dist/Stash.app.zip dist/stash-* | sed 's/dist\///g' | tee -a CHECKSUMS_SHA1
sha1sum dist/Stash.app.zip dist/stash-* dist/stash-ui.zip | sed 's/dist\///g' | tee -a CHECKSUMS_SHA1
echo "STASH_VERSION=$(git describe --tags --exclude latest_develop)" >> $GITHUB_ENV
echo "RELEASE_DATE=$(date +'%Y-%m-%d %H:%M:%S %Z')" >> $GITHUB_ENV

Expand Down Expand Up @@ -126,6 +129,14 @@ jobs:
name: stash-linux
path: dist/stash-linux

- name: Upload UI
# only upload for pull requests
if: ${{ github.event_name == 'pull_request' && github.base_ref != 'refs/heads/develop' && github.base_ref != 'refs/heads/master'}}
uses: actions/upload-artifact@v2
with:
name: stash-ui.zip
path: dist/stash-ui.zip

- name: Update latest_develop tag
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/develop' }}
run : git tag -f latest_develop; git push -f --tags
Expand All @@ -147,6 +158,7 @@ jobs:
dist/stash-linux-arm32v7
dist/stash-linux-arm32v6
dist/stash-freebsd
dist/stash-ui.zip
CHECKSUMS_SHA1

- name: Master release
Expand All @@ -166,6 +178,7 @@ jobs:
dist/stash-linux-arm32v7
dist/stash-linux-arm32v6
dist/stash-freebsd
dist/stash-ui.zip
CHECKSUMS_SHA1
gzip: false

Expand Down
7 changes: 7 additions & 0 deletions .hintrc
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,13 @@
{
"select-name": "off"
}
],
"no-inline-styles": "off",
"axe/text-alternatives": [
"default",
{
"image-alt": "off"
}
]
}
}
23 changes: 23 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,11 @@ GO_BUILD_TAGS += sqlite_stat4 sqlite_math_functions

export CGO_ENABLED := 1

# define COMPILER_IMAGE for cross-compilation docker container
ifndef COMPILER_IMAGE
COMPILER_IMAGE := stashapp/compiler:latest
endif

.PHONY: release
release: pre-ui generate ui build-release

Expand Down Expand Up @@ -348,6 +353,11 @@ endif
ui: ui-env
cd ui/v2.5 && yarn build

.PHONY: zip-ui
zip-ui:
rm -f dist/stash-ui.zip
cd ui/v2.5/build && zip -r ../../../dist/stash-ui.zip .

.PHONY: ui-start
ui-start: ui-env
cd ui/v2.5 && yarn start --host
Expand Down Expand Up @@ -378,3 +388,16 @@ docker-build: build-info
.PHONY: docker-cuda-build
docker-cuda-build: build-info
docker build --build-arg GITHASH=$(GITHASH) --build-arg STASH_VERSION=$(STASH_VERSION) -t stash/cuda-build -f docker/build/x86_64/Dockerfile-CUDA .

# start the build container - for cross compilation
# this is adapted from the github actions build.yml file
.PHONY: start-compiler-container
start-compiler-container:
docker run -d --name build --mount type=bind,source="$(PWD)",target=/stash,consistency=delegated $(EXTRA_CONTAINER_ARGS) -w /stash $(COMPILER_IMAGE) tail -f /dev/null

# run the cross-compilation using
# docker exec -t build /bin/bash -c "make build-cc-<platform>"

.PHONY: remove-compiler-container
remove-compiler-container:
docker rm -f -v build
14 changes: 9 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,11 @@ For further information you can consult the [documentation](https://docs.stashap

# Installing Stash

<img src="docs/readme_assets/windows_logo.svg" width="100%" height="75"> Windows | <img src="docs/readme_assets/mac_logo.svg" width="100%" height="75"> MacOS| <img src="docs/readme_assets/linux_logo.svg" width="100%" height="75"> Linux | <img src="docs/readme_assets/docker_logo.svg" width="100%" height="75"> Docker
<img src="docs/readme_assets/windows_logo.svg" width="100%" height="75"> Windows | <img src="docs/readme_assets/mac_logo.svg" width="100%" height="75"> macOS | <img src="docs/readme_assets/linux_logo.svg" width="100%" height="75"> Linux | <img src="docs/readme_assets/docker_logo.svg" width="100%" height="75"> Docker
:---:|:---:|:---:|:---:
[Latest Release](https://github.com/stashapp/stash/releases/latest/download/stash-win.exe) <br /> <sup><sub>[Development Preview](https://github.com/stashapp/stash/releases/download/latest_develop/stash-win.exe)</sub></sup> | [Latest Release (Apple Silicon)](https://github.com/stashapp/stash/releases/latest/download/stash-macos-applesilicon) <br />[Latest Release (Intel)](https://github.com/stashapp/stash/releases/latest/download/stash-macos-intel) <br /><sup><sub>[Development Preview (Universal)](https://github.com/stashapp/stash/releases/download/latest_develop/stash-macos)</sub></sup> | [Latest Release (amd64)](https://github.com/stashapp/stash/releases/latest/download/stash-linux) <br /> <sup><sub>[Development Preview (amd64)](https://github.com/stashapp/stash/releases/download/latest_develop/stash-linux)</sub></sup> <br /> [More Architectures...](https://github.com/stashapp/stash/releases/latest) | [Instructions](docker/production/README.md) <br /> <sup><sub> [Sample docker-compose.yml](docker/production/docker-compose.yml)</sub></sup>
[Latest Release](https://github.com/stashapp/stash/releases/latest/download/stash-win.exe) <br /> <sup><sub>[Development Preview](https://github.com/stashapp/stash/releases/download/latest_develop/stash-win.exe)</sub></sup> | [Latest Release](https://github.com/stashapp/stash/releases/latest/download/Stash.app.zip) <br /> <sup><sub>[Development Preview](https://github.com/stashapp/stash/releases/download/latest_develop/Stash.app.zip)</sub></sup> | [Latest Release (amd64)](https://github.com/stashapp/stash/releases/latest/download/stash-linux) <br /> <sup><sub>[Development Preview (amd64)](https://github.com/stashapp/stash/releases/download/latest_develop/stash-linux)</sub></sup> <br /> [More Architectures...](https://github.com/stashapp/stash/releases/latest) | [Instructions](docker/production/README.md) <br /> <sup><sub>[Sample docker-compose.yml](docker/production/docker-compose.yml)</sub></sup>

Download links for other platforms and architectures are available on the [Releases page](https://github.com/stashapp/stash/releases).

## First Run

Expand All @@ -46,9 +48,11 @@ Stash is a web-based application. Once the application is running, the interface

On first run, Stash will prompt you for some configuration options and media directories to index, called "Scanning" in Stash. After scanning, your media will be available for browsing, curating, editing, and tagging.

Stash can pull metadata (performers, tags, descriptions, studios, and more) directly from many sites through the use of [scrapers](https://github.com/stashapp/stash/tree/develop/ui/v2.5/src/docs/en/Scraping.md), which integrate directly into Stash.

Many community-maintained scrapers are available for download from [CommunityScrapers repository](https://github.com/stashapp/CommunityScrapers). The community also maintains StashDB, a crowd-sourced repository of scene, studio, and performer information, that can automatically identify much of a typical media collection. Inquire in the Discord for details. Identifying an entire collection will typically require a mix of multiple sources.
Stash can pull metadata (performers, tags, descriptions, studios, and more) directly from many sites through the use of [scrapers](https://github.com/stashapp/stash/blob/develop/ui/v2.5/src/docs/en/Manual/Scraping.md), which integrate directly into Stash. Identifying an entire collection will typically require a mix of multiple sources:
- The project maintains [StashDB](https://stashdb.org/), a crowd-sourced repository of scene, studio, and performer information. Connecting it to Stash will allow you to automatically identify much of a typical media collection. It runs on our stash-box software and is primarily focused on mainstream digital scenes and studios. Instructions, invite codes, and more can be found in this guide to [Accessing StashDB](https://guidelines.stashdb.org/docs/faq_getting-started/stashdb/accessing-stashdb/).
- Several community-managed stash-box databases can also be connected to Stash in a similar manner. Each one serves a slightly different niche and follows their own methodology. A rundown of each stash-box, their differences, and the information you need to sign up can be found in this guide to [Accessing Stash-Boxes](https://guidelines.stashdb.org/docs/faq_getting-started/stashdb/accessing-stash-boxes/).
- Many community-maintained scrapers can also be downloaded, installed, and updated from within Stash, allowing you to pull data from a wide range of other websites and databases. They can be found by navigating to Settings -> Metadata Providers -> Available Scrapers -> Community (stable). These can be trickier to use than a stash-box because every scraper works a little differently. For more information, please visit the [CommunityScrapers repository](https://github.com/stashapp/CommunityScrapers).
- All of the above methods of scraping data into Stash are also covered in more detail in our [Guide to Scraping](https://docs.stashapp.cc/beginner-guides/guide-to-scraping/).

<sub>[StashDB](http://stashdb.org) is the canonical instance of our open source metadata API, [stash-box](https://github.com/stashapp/stash-box).</sub>

Expand Down
10 changes: 9 additions & 1 deletion cmd/phasher/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ package main
import (
"fmt"
"os"
"os/exec"

flag "github.com/spf13/pflag"
"github.com/stashapp/stash/pkg/ffmpeg"
Expand Down Expand Up @@ -45,6 +46,13 @@ func printPhash(ff *ffmpeg.FFMpeg, ffp ffmpeg.FFProbe, inputfile string, quiet *
return nil
}

func getPaths() (string, string) {
ffmpegPath, _ := exec.LookPath("ffmpeg")
ffprobePath, _ := exec.LookPath("ffprobe")

return ffmpegPath, ffprobePath
}

func main() {
flag.Usage = customUsage
quiet := flag.BoolP("quiet", "q", false, "print only the phash")
Expand All @@ -69,7 +77,7 @@ func main() {
fmt.Fprintf(os.Stderr, "Example: parallel %v ::: *.mp4\n", os.Args[0])
}

ffmpegPath, ffprobePath := ffmpeg.GetPaths(nil)
ffmpegPath, ffprobePath := getPaths()
encoder := ffmpeg.NewEncoder(ffmpegPath)
// don't need to InitHWSupport, phashing doesn't use hw acceleration
ffprobe := ffmpeg.FFProbe(ffprobePath)
Expand Down
9 changes: 7 additions & 2 deletions docker/ci/x86_64/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,14 @@ RUN if [ "$TARGETPLATFORM" = "linux/arm/v6" ]; then BIN=stash-linux-arm32v6; \

FROM --platform=$TARGETPLATFORM alpine:latest AS app
COPY --from=binary /stash /usr/bin/

# vips version 8.15.0-r0 breaks thumbnail generation on arm32v6
# need to use 8.14.3-r0 from alpine 3.18 instead

RUN apk add --no-cache --virtual .build-deps gcc python3-dev musl-dev \
&& apk add --no-cache ca-certificates python3 py3-requests py3-requests-toolbelt py3-lxml py3-pip ffmpeg vips-tools ruby tzdata \
&& pip install --user --break-system-packages mechanicalsoup cloudscraper bencoder.pyx \
&& apk add --no-cache ca-certificates python3 py3-requests py3-requests-toolbelt py3-lxml py3-pip ffmpeg ruby tzdata \
&& apk add --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/v3.18/community vips=8.14.3-r0 vips-tools=8.14.3-r0 \
&& pip install --user --break-system-packages mechanicalsoup cloudscraper bencoder.pyx stashapp-tools \
&& gem install faraday \
&& apk del .build-deps
ENV STASH_CONFIG_FILE=/root/.stash/config.yml
Expand Down
4 changes: 2 additions & 2 deletions docker/production/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,11 @@ https://docs.docker.com/engine/install/

### Get the docker-compose.yml file

Now you can either navigate to the [docker-compose.yml](https://raw.githubusercontent.com/stashapp/stash/master/docker/production/docker-compose.yml) in the repository, or if you have curl, you can make your Linux console do it for you:
Now you can either navigate to the [docker-compose.yml](https://raw.githubusercontent.com/stashapp/stash/develop/docker/production/docker-compose.yml) in the repository, or if you have curl, you can make your Linux console do it for you:

```
mkdir stashapp && cd stashapp
curl -o docker-compose.yml https://raw.githubusercontent.com/stashapp/stash/master/docker/production/docker-compose.yml
curl -o docker-compose.yml https://raw.githubusercontent.com/stashapp/stash/develop/docker/production/docker-compose.yml
```

Once you have that file where you want it, modify the settings as you please, and then run:
Expand Down
18 changes: 10 additions & 8 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,12 @@ require (
github.com/Yamashou/gqlgenc v0.0.6
github.com/anacrolix/dms v1.2.2
github.com/antchfx/htmlquery v1.3.0
github.com/asticode/go-astisub v0.26.0
github.com/asticode/go-astisub v0.25.1
github.com/chromedp/cdproto v0.0.0-20231007061347-18b01cd81617
github.com/chromedp/chromedp v0.9.2
github.com/corona10/goimagehash v1.1.0
github.com/disintegration/imaging v1.6.2
github.com/dop251/goja v0.0.0-20231027120936-b396bb4c349d
github.com/doug-martin/goqu/v9 v9.18.0
github.com/go-chi/chi/v5 v5.0.10
github.com/go-chi/cors v1.2.1
Expand All @@ -35,7 +36,6 @@ require (
github.com/natefinch/pie v0.0.0-20170715172608-9a0d72014007
github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8
github.com/remeh/sizedwaitgroup v1.0.0
github.com/robertkrimen/otto v0.0.0-20200922221731-ef014fd054ac
github.com/shurcooL/graphql v0.0.0-20181231061246-d48a9a75455f
github.com/sirupsen/logrus v1.9.3
github.com/spf13/cast v1.5.1
Expand All @@ -49,12 +49,12 @@ require (
github.com/vektra/mockery/v2 v2.10.0
github.com/xWTF/chardet v0.0.0-20230208095535-c780f2ac244e
github.com/zencoder/go-dash/v3 v3.0.2
golang.org/x/crypto v0.14.0
golang.org/x/crypto v0.21.0
golang.org/x/image v0.12.0
golang.org/x/net v0.17.0
golang.org/x/sys v0.13.0
golang.org/x/term v0.13.0
golang.org/x/text v0.13.0
golang.org/x/net v0.23.0
golang.org/x/sys v0.18.0
golang.org/x/term v0.18.0
golang.org/x/text v0.14.0
gopkg.in/guregu/null.v4 v4.0.0
gopkg.in/yaml.v2 v2.4.0
)
Expand All @@ -67,11 +67,14 @@ require (
github.com/chromedp/sysutil v1.0.0 // indirect
github.com/cpuguy83/go-md2man/v2 v2.0.2 // indirect
github.com/davecgh/go-spew v1.1.1 // indirect
github.com/dlclark/regexp2 v1.7.0 // indirect
github.com/fsnotify/fsnotify v1.6.0 // indirect
github.com/go-sourcemap/sourcemap v2.1.3+incompatible // indirect
github.com/gobwas/httphead v0.1.0 // indirect
github.com/gobwas/pool v0.2.1 // indirect
github.com/gobwas/ws v1.3.0 // indirect
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
github.com/google/pprof v0.0.0-20230207041349-798e818bf904 // indirect
github.com/hashicorp/errwrap v1.1.0 // indirect
github.com/hashicorp/go-multierror v1.1.1 // indirect
github.com/hashicorp/golang-lru v0.5.4 // indirect
Expand Down Expand Up @@ -107,6 +110,5 @@ require (
golang.org/x/mod v0.12.0 // indirect
golang.org/x/tools v0.13.0 // indirect
gopkg.in/ini.v1 v1.67.0 // indirect
gopkg.in/sourcemap.v1 v1.0.5 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)
Loading
Loading