bob12224
2b0ed0e57b
Merge 832d1906bc into fd480c5a3e
2026-03-24 01:28:39 -04:00
WithoutPants
fd480c5a3e
Exclude zip folders when browsing scenes and galleries ( #6740 )
...
* Add short cuts when only getting zip/folder ids
* Don't show zip folders when viewing scenes and galleries.
Zip folders have no results for scenes and galleries, but will for images.
2026-03-24 15:03:58 +11:00
WithoutPants
2e48dbfc63
Update changelog
2026-03-23 17:32:30 +11:00
WithoutPants
87eabf0871
Show studio name if studio image not set on detail pages ( #6716 )
...
* Add StudioLogo component
If no studio image is set, shows the studio icon with the studio name.
* Add option to always show studio text
* Implement studio as text option
* Add studio logo to image
* Clarify existing show studio as text option
2026-03-23 17:13:34 +11:00
WithoutPants
b4c7ad4b81
Match exact tag names for batch tagger and show exact matches first for query ( #6739 )
...
* Enforce exact name matching for tag batch tagger
* Sort exact matches first for tag stashbox query
2026-03-23 16:29:49 +11:00
Gykes
e0f2c8e96d
FR: Auto Tag Confirmation Modal ( #6735 )
...
* Improve folder list styling
---------
Co-authored-by: WithoutPants <53250216+WithoutPants@users.noreply.github.com>
2026-03-23 16:16:59 +11:00
WithoutPants
c5034422cb
Expand folder select hierarchy based on initial selected folder ( #6738 )
...
* Add sub_folders field to Folder type
* Expand folder select for the initial value
2026-03-23 16:15:23 +11:00
WithoutPants
c9d0afee56
Fix tagger modal issues ( #6736 )
...
* Make modal field/value styling consistent
Fixes URL list in studio list styling
* Add stash id pill to studio and tag modals
* Fix create parent check box
* Allow excluding parent studio
Disabled the create checkbox if parent studio is not excluded and does not exist.
* Don't render modal on every studio
* Show dialog when refreshing tags
2026-03-23 16:14:25 +11:00
feederbox826
3dbb0fcfc9
[hwaccel] add envvar for /dev/dri device ( #6728 )
2026-03-23 16:10:22 +11:00
WithoutPants
2bb1df8443
Fix incorrect where clause for gallery parent folder filter ( #6737 )
2026-03-23 13:45:31 +11:00
WithoutPants
feb4346e13
Maintain sub-folders selection when reselecting folder in filter
2026-03-23 12:31:48 +11:00
feederbox826
11f9e7ac51
[ci] add macos bundle ( #6727 )
2026-03-23 09:07:47 +11:00
feederbox826
b11be4807a
fetch full depth of git history for compiler ( #6726 )
...
[ci] run generate with fetch depth
2026-03-23 09:07:13 +11:00
DogmaDragon
7a18b5310b
Add GitHub Sponsors and forum links to about section ( #6718 )
...
* Add GitHub sponsors link to about section
* Add forum link to about section
* Fix casing in 'latest_version_build_hash' string in localization file
2026-03-23 09:06:20 +11:00
feederbox826
865c50d615
[ui] Fix Tag Modal cutting off ( #6734 )
2026-03-23 09:02:38 +11:00
feederbox826
c832e1a8a2
remove phasher target from bundle ( #6717 ) [skip ci]
2026-03-19 18:31:14 +11:00
WithoutPants
ee9a852ec9
Remove phasher from build target [skip ci]
2026-03-19 16:35:12 +11:00
feederbox826
640d62cf59
[CI] ensure artifacts have +x bit set ( #6715 )
2026-03-19 15:10:04 +11:00
WithoutPants
58cf6307cb
Update changelog
2026-03-19 13:59:42 +11:00
feederbox826
79b6cb6fd2
Lint + build update and retooling ( #6638 )
...
* update compiler and build process
- assemble cross-builds in multi-build steps
- clean up unnecessary dependences
- use node docker image instead of nodesource (unsupported)
- downgrade to freebsd12 to match compiler
Co-authored-by: Gykes <Gykes@pm.me>
* [compiler] use new image instead of placeholder
removes .gitignore, update README
* [CI] lock pnpm action-setup to SHA hash
* bump @actions/upload-artifact
---------
Co-authored-by: feederbox826 <feederbox826@users.noreply.github.com>
Co-authored-by: Gykes <Gykes@pm.me>
Co-authored-by: WithoutPants <53250216+WithoutPants@users.noreply.github.com>
2026-03-19 13:36:58 +11:00
WithoutPants
18eda31933
Make tagger views consistent ( #6713 )
...
* Show performer/studio tagger when no results
* Separate stash-box selector and config buttons
2026-03-19 13:35:18 +11:00
WithoutPants
5fd0d7bd68
Make hover volume configurable ( #6712 )
2026-03-19 13:16:20 +11:00
WithoutPants
c583e88caf
Replace "Source" with "Combined" in merge dialogs ( #6711 )
2026-03-19 12:10:42 +11:00
Stash-KennyG
4167224107
Feature: Add StashID guid consideration into select boxes ( #6709 )
...
* Add GUID search for performers in PerformerSelect component
* Refactor and apply to all objects with stash ids
---------
Co-authored-by: KennyG <kennyg@kennyg.com>
Co-authored-by: WithoutPants <53250216+WithoutPants@users.noreply.github.com>
2026-03-19 11:03:36 +11:00
WithoutPants
8f3188ff74
Make gallery/scene association during scan more consistent ( #6705 )
2026-03-19 08:54:44 +11:00
WithoutPants
b47134112a
Focus search field when clicking on scraper menu ( #6704 )
...
* Focus search field when opening scraper menu
* Improve styling of search header in scraper menu
2026-03-19 08:51:04 +11:00
WithoutPants
208c19a81d
Replace tag list view with tag list table ( #6703 )
...
* Replace tag list view with tag list table
Uses same styling as performer list table
* Remove "count" suffix from count headers in performer list
2026-03-19 08:50:42 +11:00
Bob
832d1906bc
Updating migration to 86
2026-03-18 11:55:15 -07:00
bob12224
7f9fde313b
Merge branch 'stashapp:develop' into frames
2026-03-18 11:52:49 -07:00
Bob
b679c6dc78
PR Fixes
2026-03-18 11:16:38 -07:00
WithoutPants
b76dd089f5
Update changelog
2026-03-18 16:04:18 +11:00
WithoutPants
93fbb4be80
Add option to ignore zip contents during clean ( #6700 )
...
* Add option to ignore zip file contents while cleaning
Speeds up the clean process with the assumption that files within zip files are not deleted.
* Add UI for new option
2026-03-18 15:58:32 +11:00
dev-null-life
f7b66c7ff9
Keep tag/entity select input focused after creating a new item ( #6697 )
...
* Keep creatable select input focused after creating a new item
When onCreateOption fires, setLoading(true) sets isDisabled on
AsyncCreatableSelect, which triggers a blur and the user loses focus.
Remove isLoading from the isDisabled condition so the input stays
interactive during the async creation; the loading spinner still shows.
Fixes #3998
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* Remove unused isLoading destructure in SelectComponent
isLoading flows through via ...props spread in componentProps and
no longer needs to be explicitly destructured.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* Apply Prettier formatting to FilterSelect.tsx
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-18 15:57:54 +11:00
feederbox826
679f49e400
add {phash} argument to queryURLParameters ( #6701 )
2026-03-18 15:46:52 +11:00
WithoutPants
63b1132897
Update weblate translations ( #6698 )
...
* Translated using Weblate (German)
Currently translated at 100.0% (1251 of 1251 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/de/
* Translated using Weblate (Spanish)
Currently translated at 100.0% (1251 of 1251 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/es/
* Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (1251 of 1251 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/zh_Hans/
* Translated using Weblate (Swedish)
Currently translated at 100.0% (1251 of 1251 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/sv/
* Translated using Weblate (Japanese)
Currently translated at 82.2% (1029 of 1251 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/ja/
* Translated using Weblate (Finnish)
Currently translated at 79.3% (993 of 1251 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/fi/
* Translated using Weblate (Japanese)
Currently translated at 83.2% (1042 of 1251 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/ja/
* Translated using Weblate (Polish)
Currently translated at 95.2% (1192 of 1251 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/pl/
* Translated using Weblate (Danish)
Currently translated at 86.1% (1078 of 1251 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/da/
* Translated using Weblate (Portuguese (Brazil))
Currently translated at 69.6% (871 of 1251 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/pt_BR/
* Translated using Weblate (Danish)
Currently translated at 86.2% (1079 of 1251 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/da/
* Translated using Weblate (Danish)
Currently translated at 86.1% (1080 of 1253 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/da/
* Translated using Weblate (Korean)
Currently translated at 100.0% (1253 of 1253 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/ko/
* Update translation files
Updated by "Cleanup translation files" add-on in Weblate.
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/
* Translated using Weblate (French)
Currently translated at 100.0% (1250 of 1250 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/fr/
* Translated using Weblate (French)
Currently translated at 100.0% (1250 of 1250 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/fr/
* Translated using Weblate (Swedish)
Currently translated at 100.0% (1250 of 1250 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/sv/
* Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (1250 of 1250 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/zh_Hans/
* Translated using Weblate (Portuguese (Brazil))
Currently translated at 69.9% (874 of 1250 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/pt_BR/
* Translated using Weblate (Spanish)
Currently translated at 100.0% (1251 of 1251 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/es/
* Translated using Weblate (French)
Currently translated at 100.0% (1251 of 1251 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/fr/
* Translated using Weblate (Swedish)
Currently translated at 100.0% (1251 of 1251 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/sv/
* Translated using Weblate (German)
Currently translated at 100.0% (1251 of 1251 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/de/
* Translated using Weblate (French)
Currently translated at 100.0% (1253 of 1253 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/fr/
* Translated using Weblate (Swedish)
Currently translated at 100.0% (1253 of 1253 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/sv/
* Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (1253 of 1253 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/zh_Hans/
* Translated using Weblate (German)
Currently translated at 100.0% (1253 of 1253 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/de/
* Translated using Weblate (Estonian)
Currently translated at 100.0% (1253 of 1253 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/et/
* Translated using Weblate (Korean)
Currently translated at 100.0% (1253 of 1253 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/ko/
* Translated using Weblate (Spanish)
Currently translated at 100.0% (1253 of 1253 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/es/
* Translated using Weblate (Ukrainian)
Currently translated at 100.0% (1253 of 1253 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/uk/
* Translated using Weblate (Ukrainian)
Currently translated at 100.0% (1253 of 1253 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/uk/
* Translated using Weblate (Portuguese (Brazil))
Currently translated at 70.0% (878 of 1253 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/pt_BR/
* Translated using Weblate (French)
Currently translated at 100.0% (1271 of 1271 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/fr/
* Translated using Weblate (French)
Currently translated at 100.0% (1271 of 1271 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/fr/
* Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (1271 of 1271 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/zh_Hans/
* Translated using Weblate (Spanish)
Currently translated at 100.0% (1271 of 1271 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/es/
* Translated using Weblate (Korean)
Currently translated at 100.0% (1271 of 1271 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/ko/
* Translated using Weblate (Portuguese (Brazil))
Currently translated at 69.0% (877 of 1271 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/pt_BR/
* Translated using Weblate (Ukrainian)
Currently translated at 100.0% (1271 of 1271 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/uk/
* Translated using Weblate (Swedish)
Currently translated at 100.0% (1271 of 1271 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/sv/
* Translated using Weblate (Dutch)
Currently translated at 76.7% (975 of 1271 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/nl/
* Translated using Weblate (Czech)
Currently translated at 100.0% (1271 of 1271 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/cs/
* Translated using Weblate (Japanese)
Currently translated at 86.7% (1102 of 1271 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/ja/
* Translated using Weblate (French)
Currently translated at 100.0% (1273 of 1273 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/fr/
* Translated using Weblate (Korean)
Currently translated at 100.0% (1273 of 1273 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/ko/
* Translated using Weblate (French)
Currently translated at 100.0% (1273 of 1273 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/fr/
* Translated using Weblate (French)
Currently translated at 100.0% (1273 of 1273 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/fr/
* Translated using Weblate (Korean)
Currently translated at 100.0% (1273 of 1273 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/ko/
* Translated using Weblate (Korean)
Currently translated at 100.0% (1273 of 1273 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/ko/
* Translated using Weblate (Korean)
Currently translated at 100.0% (1273 of 1273 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/ko/
* Translated using Weblate (Ukrainian)
Currently translated at 91.0% (1159 of 1273 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/uk/
* Translated using Weblate (Ukrainian)
Currently translated at 100.0% (1273 of 1273 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/uk/
* Translated using Weblate (French)
Currently translated at 100.0% (1278 of 1278 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/fr/
* Translated using Weblate (Ukrainian)
Currently translated at 100.0% (1278 of 1278 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/uk/
* Translated using Weblate (German)
Currently translated at 86.5% (1106 of 1278 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/de/
* Translated using Weblate (Spanish)
Currently translated at 88.1% (1127 of 1278 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/es/
* Translated using Weblate (Italian)
Currently translated at 65.9% (843 of 1278 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/it/
* Translated using Weblate (Russian)
Currently translated at 82.7% (1057 of 1278 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/ru/
* Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (1278 of 1278 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/zh_Hans/
* Translated using Weblate (French)
Currently translated at 100.0% (1280 of 1280 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/fr/
* Translated using Weblate (Ukrainian)
Currently translated at 100.0% (1280 of 1280 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/uk/
* Update translation files
Updated by "Cleanup translation files" add-on in Weblate.
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/
* Translated using Weblate (French)
Currently translated at 100.0% (1299 of 1299 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/fr/
* Translated using Weblate (Ukrainian)
Currently translated at 100.0% (1299 of 1299 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/uk/
* Translated using Weblate (Korean)
Currently translated at 100.0% (1300 of 1300 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/ko/
* Translated using Weblate (Spanish)
Currently translated at 100.0% (1300 of 1300 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/es/
* Translated using Weblate (Ukrainian)
Currently translated at 100.0% (1300 of 1300 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/uk/
* Translated using Weblate (French)
Currently translated at 100.0% (1300 of 1300 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/fr/
* Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (1300 of 1300 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/zh_Hans/
* Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (1300 of 1300 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/zh_Hans/
* Update translation files
Updated by "Cleanup translation files" add-on in Weblate.
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/
* Update translation files
Updated by "Cleanup translation files" add-on in Weblate.
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/
* Translated using Weblate (Estonian)
Currently translated at 85.0% (1122 of 1320 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/et/
* Translated using Weblate (Estonian)
Currently translated at 100.0% (1320 of 1320 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/et/
* Translated using Weblate (French)
Currently translated at 100.0% (1320 of 1320 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/fr/
* Translated using Weblate (Ukrainian)
Currently translated at 98.0% (1294 of 1320 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/uk/
* Translated using Weblate (French)
Currently translated at 100.0% (1322 of 1322 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/fr/
* Translated using Weblate (Korean)
Currently translated at 100.0% (1322 of 1322 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/ko/
* Translated using Weblate (Korean)
Currently translated at 100.0% (1322 of 1322 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/ko/
* Translated using Weblate (Korean)
Currently translated at 100.0% (1322 of 1322 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/ko/
* Translated using Weblate (Ukrainian)
Currently translated at 100.0% (1322 of 1322 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/uk/
* Translated using Weblate (Spanish)
Currently translated at 97.4% (1288 of 1322 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/es/
* Translated using Weblate (Swedish)
Currently translated at 100.0% (1322 of 1322 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/sv/
* Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (1322 of 1322 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/zh_Hans/
* Translated using Weblate (Spanish)
Currently translated at 100.0% (1322 of 1322 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/es/
* Translated using Weblate (Ukrainian)
Currently translated at 100.0% (1323 of 1323 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/uk/
* Translated using Weblate (German)
Currently translated at 85.1% (1130 of 1327 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/de/
* Translated using Weblate (French)
Currently translated at 100.0% (1327 of 1327 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/fr/
* Translated using Weblate (Ukrainian)
Currently translated at 100.0% (1327 of 1327 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/uk/
* Translated using Weblate (Estonian)
Currently translated at 100.0% (1332 of 1332 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/et/
* Translated using Weblate (Ukrainian)
Currently translated at 100.0% (1332 of 1332 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/uk/
* Translated using Weblate (French)
Currently translated at 100.0% (1332 of 1332 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/fr/
* Translated using Weblate (Korean)
Currently translated at 100.0% (1332 of 1332 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/ko/
* Translated using Weblate (Spanish)
Currently translated at 100.0% (1332 of 1332 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/es/
* Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (1332 of 1332 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/zh_Hans/
* Added translation using Weblate (Arabic)
* Translated using Weblate (Arabic)
Currently translated at 29.8% (397 of 1332 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/ar/
* Translated using Weblate (French)
Currently translated at 100.0% (1334 of 1334 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/fr/
* Translated using Weblate (Ukrainian)
Currently translated at 100.0% (1334 of 1334 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/uk/
* Translated using Weblate (French)
Currently translated at 100.0% (1338 of 1338 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/fr/
* Translated using Weblate (Spanish)
Currently translated at 100.0% (1338 of 1338 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/es/
* Translated using Weblate (Estonian)
Currently translated at 99.7% (1335 of 1338 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/et/
* Translated using Weblate (Korean)
Currently translated at 100.0% (1338 of 1338 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/ko/
* Translated using Weblate (Ukrainian)
Currently translated at 100.0% (1338 of 1338 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/uk/
* Translated using Weblate (Arabic)
Currently translated at 40.1% (537 of 1338 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/ar/
* Add arabic language option
---------
Co-authored-by: Alex-NBY <alex-nby@noreply.codeberg.org>
Co-authored-by: donlothario <donlothario@noreply.codeberg.org>
Co-authored-by: wql219 <wql219@noreply.codeberg.org>
Co-authored-by: AlpacaSerious <alpacaserious@noreply.codeberg.org>
Co-authored-by: Anpontant <anpontant@noreply.codeberg.org>
Co-authored-by: gimmeliina <gimmeliina@noreply.codeberg.org>
Co-authored-by: minerh <minerh@noreply.codeberg.org>
Co-authored-by: warchlak <warchlak@noreply.codeberg.org>
Co-authored-by: powdom <powdom@noreply.codeberg.org>
Co-authored-by: qeepoo <qeepoo@noreply.codeberg.org>
Co-authored-by: lugged9922 <lugged9922@noreply.codeberg.org>
Co-authored-by: Codeberg Translate <translate@codeberg.org>
Co-authored-by: doodoo <doodoo@noreply.codeberg.org>
Co-authored-by: bittin <bittin@noreply.codeberg.org>
Co-authored-by: diegoml <diegoml@noreply.codeberg.org>
Co-authored-by: BSSPM <bsspm@noreply.codeberg.org>
Co-authored-by: Zesty6249 <zesty6249@noreply.codeberg.org>
Co-authored-by: Saenko <saenko@noreply.codeberg.org>
Co-authored-by: arkvenom <arkvenom@noreply.codeberg.org>
Co-authored-by: andersondn <andersondn@noreply.codeberg.org>
Co-authored-by: xantror <xantror@noreply.codeberg.org>
Co-authored-by: NymeriaCZ <nymeriacz@noreply.codeberg.org>
Co-authored-by: shimanchu <shimanchu@noreply.codeberg.org>
Co-authored-by: Anonymous <anonymous@noreply.codeberg.org>
Co-authored-by: yec <yec@noreply.codeberg.org>
Co-authored-by: LostUser <lostuser@noreply.codeberg.org>
Co-authored-by: gallegonovato <gallegonovato@noreply.codeberg.org>
Co-authored-by: Strambino <strambino@noreply.codeberg.org>
Co-authored-by: PiskaBoomGonit <piskaboomgonit@noreply.codeberg.org>
Co-authored-by: Super_L <super_l@noreply.codeberg.org>
Co-authored-by: Lauri Lepik <laurilepik@noreply.codeberg.org>
Co-authored-by: interj4 <interj4@noreply.codeberg.org>
2026-03-18 14:04:14 +11:00
WithoutPants
b4dd7e3f15
Changelog v0.31 ( #6692 )
...
* Modify styling to improve readability
2026-03-18 13:01:50 +11:00
WithoutPants
de6c0bace5
Don't read stashignore files in zip files ( #6693 )
2026-03-18 13:01:22 +11:00
dev-null-life
f7b04fba61
Sort performers and studios by scenes file size ( #6642 )
...
* feat: add scenes_size sort option for performers
Adds sorting performers by total file size of associated scenes.
Follows the existing scenes_duration pattern.
Ref: stashapp/stash#5530
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* feat: add scenes_size sort option for studios
Adds sorting studios by total file size of associated scenes.
Follows the existing scenes_duration pattern.
Ref: stashapp/stash#5530
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* feat(ui): add Scenes Size sort option for performers and studios
Adds 'Scenes Size' to the sort dropdown for performer and studio
list views, with i18n label.
Ref: stashapp/stash#5530
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* feat: extend scenes_size sort to tags
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-18 11:51:56 +11:00
WithoutPants
b2179cd723
Add stash ids to performer merge dialog ( #6688 )
...
* Move reused functions/components to separate files
* Add alwaysShow field to ScrapedDialogRow
* Add stash ids to performer merge dialog
* Reuse StashIDsField in TagMergeDialog
* Always show stash ids when available on scene and tag merge dialogs
2026-03-17 15:48:56 +11:00
WithoutPants
f3c8e7ac9c
Convert career length fields to dates ( #6682 )
...
* Convert career start/end to date
* Update UI to accept dates for career length fields
* Fix date filtering
---------
Co-authored-by: Gykes <24581046+Gykes@users.noreply.github.com>
2026-03-17 15:48:30 +11:00
Bob12224
39c5a98142
PR Unit test fixes
2026-03-16 20:20:00 -07:00
Bob12224
16f31ba796
PR linting fixes
2026-03-16 20:19:58 -07:00
Bob12224
88255ce018
(feat) Adding frames for all video files, adding to the UI and graphql.
2026-03-16 20:19:48 -07:00
notsafeforgit
c2e80d2676
feat: add image details to search filter ( #6673 )
...
* feat: add image details to search filter
This change adds the image details field to the image search filter, allowing for better discovery of images based on their description.
---------
Co-authored-by: WithoutPants <53250216+WithoutPants@users.noreply.github.com>
2026-03-17 10:18:44 +11:00
feederbox826
7872029ffa
add patching for scene-specs-overlay ( #6684 )
2026-03-16 18:05:02 +11:00
dev-null-life
8d1aeede1c
fix: correct typos in GraphQL schema ( #6679 )
...
* fix: correct typos in GraphQL schema comments
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* fix: rename CircumisedEnum to CircumcisedEnum across codebase
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* fix: gofmt performer model files after enum rename
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
---------
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-16 17:48:59 +11:00
WithoutPants
e851d8d3bf
Treat bad network path error as non-existing folder during folder rename check ( #6680 )
...
* treat any error as missing folder
2026-03-16 17:32:43 +11:00
Gykes
b4fab0ac48
Add parent tag hierarchy support to tag tagger ( #6620 )
2026-03-16 11:34:57 +11:00
WithoutPants
b8bd8953f7
Refactor bulk edit dialogs ( #6647 )
...
* Add BulkUpdateDateInput
* Refactor edit scenes dialog
* Improve bulk date input styling
* Make fields inline in edit performers dialog
* Refactor edit images dialog
* Refactor edit galleries dialog
* Add date and synopsis to bulk update group input
* Refactor edit groups dialog
* Change edit dialog titles to 'Edit x entities'
* Update styling of bulk fields to be consistent with other UI
* Rename BulkUpdateTextInput to generic BulkUpdate
We'll collect other bulk inputs here
* Add and use BulkUpdateFormGroup
* Handle null dates correctly
* Add date clear button and validation
2026-03-14 17:56:31 +11:00
hyper440
300e7edb75
fix: support string-based fingerprints in hashes filter ( #6654 )
...
* fix: support string-based fingerprints in hashes filter
* Fix tests and add phash test
File fingerprints weren't using correct types. Filter test wasn't using correct types. Add phash to general files.
---------
Co-authored-by: hyper440 <hyper440@users.noreply.github.com>
Co-authored-by: WithoutPants <53250216+WithoutPants@users.noreply.github.com>
2026-03-10 15:07:46 +11:00