* override "name" sort with COALESCE
* tag sort_name frontend
adds `data-sort-name` attribute to tag links prioritizes sort_name value but will default to tag name if not present in the same way that COALESCE will prioritize the same values in the same way
* add sort_name filter, update locale per request
* Include sort name in anonymiser
* Add import/export support
---------
Co-authored-by: WithoutPants <53250216+WithoutPants@users.noreply.github.com>
* Translated using Weblate (Swedish)
Currently translated at 100.0% (1175 of 1175 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/sv/
* Translated using Weblate (Estonian)
Currently translated at 100.0% (1175 of 1175 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/et/
* Added translation using Weblate (Slovak)
* Translated using Weblate (Slovak)
Currently translated at 1.9% (23 of 1175 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/sk/
* Added translation using Weblate (Vietnamese)
* Translated using Weblate (Vietnamese)
Currently translated at 9.4% (111 of 1175 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/vi/
* Translated using Weblate (Czech)
Currently translated at 100.0% (1175 of 1175 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/cs/
* Translated using Weblate (German)
Currently translated at 87.4% (1028 of 1175 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/de/
* Translated using Weblate (French)
Currently translated at 100.0% (1179 of 1179 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/fr/
* Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 100.0% (1179 of 1179 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/zh_Hant/
* Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (1181 of 1181 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/zh_Hans/
* Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 100.0% (1181 of 1181 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/zh_Hant/
* Translated using Weblate (Estonian)
Currently translated at 100.0% (1181 of 1181 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/et/
* Translated using Weblate (French)
Currently translated at 100.0% (1181 of 1181 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/fr/
* Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 100.0% (1181 of 1181 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/zh_Hant/
* Translated using Weblate (Czech)
Currently translated at 99.3% (1175 of 1183 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/cs/
* Translated using Weblate (Czech)
Currently translated at 100.0% (1183 of 1183 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/cs/
* Translated using Weblate (French)
Currently translated at 100.0% (1183 of 1183 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/fr/
* Translated using Weblate (Polish)
Currently translated at 83.8% (992 of 1183 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/pl/
* Translated using Weblate (Vietnamese)
Currently translated at 14.1% (167 of 1183 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/vi/
* Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (1183 of 1183 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/zh_Hans/
* Translated using Weblate (Turkish)
Currently translated at 72.6% (859 of 1183 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/tr/
* Translated using Weblate (Turkish)
Currently translated at 82.3% (974 of 1183 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/tr/
* Translated using Weblate (German)
Currently translated at 87.1% (1031 of 1183 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/de/
* Translated using Weblate (Dutch)
Currently translated at 69.7% (825 of 1183 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/nl/
* Translated using Weblate (Turkish)
Currently translated at 85.4% (1011 of 1183 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/tr/
* Translated using Weblate (Dutch)
Currently translated at 70.4% (834 of 1183 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/nl/
* Translated using Weblate (Turkish)
Currently translated at 87.2% (1032 of 1183 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/tr/
* Translated using Weblate (Turkish)
Currently translated at 87.2% (1032 of 1183 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/tr/
* Translated using Weblate (Norwegian Nynorsk)
Currently translated at 14.7% (174 of 1183 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/nn/
* Translated using Weblate (French)
Currently translated at 100.0% (1184 of 1184 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/fr/
* Translated using Weblate (Korean)
Currently translated at 99.5% (1179 of 1184 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/ko/
* Translated using Weblate (Turkish)
Currently translated at 91.0% (1078 of 1184 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/tr/
* Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (1184 of 1184 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/zh_Hans/
* Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 100.0% (1184 of 1184 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/zh_Hant/
* Translated using Weblate (Turkish)
Currently translated at 93.3% (1105 of 1184 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/tr/
* Translated using Weblate (French)
Currently translated at 100.0% (1184 of 1184 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/fr/
* Translated using Weblate (Ukrainian)
Currently translated at 18.7% (222 of 1184 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/uk/
* Translated using Weblate (Ukrainian)
Currently translated at 29.3% (348 of 1184 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/uk/
* Translated using Weblate (Ukrainian)
Currently translated at 60.3% (714 of 1184 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/uk/
* Translated using Weblate (Swedish)
Currently translated at 100.0% (1184 of 1184 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% (1184 of 1184 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/zh_Hans/
* Translated using Weblate (German)
Currently translated at 87.5% (1037 of 1185 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/de/
* Translated using Weblate (English (United States))
Currently translated at 1.3% (16 of 1185 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/en_US/
* Translated using Weblate (Spanish)
Currently translated at 97.6% (1157 of 1185 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/es/
* Translated using Weblate (French)
Currently translated at 100.0% (1192 of 1192 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% (1192 of 1192 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/zh_Hans/
* Translated using Weblate (Czech)
Currently translated at 99.9% (1191 of 1192 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/cs/
* Translated using Weblate (Ukrainian)
Currently translated at 88.2% (1052 of 1192 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/uk/
* Translated using Weblate (Swedish)
Currently translated at 100.0% (1192 of 1192 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/sv/
* Translated using Weblate (German)
Currently translated at 100.0% (1192 of 1192 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/de/
* Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 100.0% (1192 of 1192 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/zh_Hant/
* Translated using Weblate (Slovak)
Currently translated at 2.4% (29 of 1192 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/sk/
* Translated using Weblate (Japanese)
Currently translated at 83.8% (999 of 1192 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/ja/
* Translated using Weblate (Latvian)
Currently translated at 9.4% (113 of 1192 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/lv/
* Translated using Weblate (Norwegian Bokmål)
Currently translated at 19.0% (227 of 1192 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/nb_NO/
* Translated using Weblate (Turkish)
Currently translated at 92.7% (1105 of 1192 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/tr/
* Translated using Weblate (Polish)
Currently translated at 83.8% (1000 of 1192 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/pl/
* Add instructions to merge codeberg translations
* Rename locale files to correct format
* Add new locales to dropdown list
* Fix error when selecting nn-NO locale
---------
Co-authored-by: AlpacaSerious <AlpacaSerious@users.noreply.translate.codeberg.org>
Co-authored-by: Zesty6249 <Zesty6249@users.noreply.translate.codeberg.org>
Co-authored-by: rodopd <rodopd@users.noreply.translate.codeberg.org>
Co-authored-by: namphongbody <namphongbody@users.noreply.translate.codeberg.org>
Co-authored-by: NymeriaCZ <NymeriaCZ@users.noreply.translate.codeberg.org>
Co-authored-by: upstairs <upstairs@users.noreply.translate.codeberg.org>
Co-authored-by: doodoo <doodoo@users.noreply.translate.codeberg.org>
Co-authored-by: TWNO1 <TWNO1@users.noreply.translate.codeberg.org>
Co-authored-by: wql219 <wanqinglin219@hotmail.com>
Co-authored-by: Larsluph <Larsluph@users.noreply.translate.codeberg.org>
Co-authored-by: danny60718 <danny60718@users.noreply.translate.codeberg.org>
Co-authored-by: k1ngt0ng <k1ngt0ng@users.noreply.translate.codeberg.org>
Co-authored-by: slickdaddy <slickdaddy@users.noreply.translate.codeberg.org>
Co-authored-by: Vistaus <Vistaus@users.noreply.translate.codeberg.org>
Co-authored-by: throbbing <throbbing@users.noreply.translate.codeberg.org>
Co-authored-by: yec <yec@users.noreply.translate.codeberg.org>
Co-authored-by: orders-pawl <orders-pawl@users.noreply.translate.codeberg.org>
Co-authored-by: Mila_42 <Mila_42@users.noreply.translate.codeberg.org>
Co-authored-by: murgleburgle <murgleburgle@users.noreply.translate.codeberg.org>
Co-authored-by: DJSweder <DJSweder@users.noreply.translate.codeberg.org>
Co-authored-by: debate <debate@users.noreply.translate.codeberg.org>
Co-authored-by: abev66 <abev66@users.noreply.translate.codeberg.org>
Co-authored-by: pipo <pipo@users.noreply.translate.codeberg.org>
Co-authored-by: ikayaki <ikayaki@users.noreply.translate.codeberg.org>
Co-authored-by: Marky05 <marky05@users.noreply.translate.codeberg.org>
Co-authored-by: lexiconi <lexiconi@users.noreply.translate.codeberg.org>
Co-authored-by: LauraS <lauras@users.noreply.translate.codeberg.org>
* generate marker previews using endSeconds value
* Limit marker preview duration to 20 seconds max
---------
Co-authored-by: WithoutPants <53250216+WithoutPants@users.noreply.github.com>
* Update Tasks.md
Denoted which task items are only accessible in advanced mode.
* Add note to transcodes
---------
Co-authored-by: DogmaDragon <103123951+DogmaDragon@users.noreply.github.com>
* Backend changes
* Show custom field values
* Add custom fields table input
* Add custom field filtering
* Add unit tests
* Include custom fields in import/export
* Anonymise performer custom fields
* Move json.Number handler functions to api
* Handle json.Number conversion in api
* Markers can have end time
Other metadata sources such as ThePornDB and timestamp.trade support end times for markers but Stash did not yet support saving those. This is a first step which only allows end time to be set either via API or via UI. Other aspects of Stash such as video player timeline are not yet updated to take end time into account.
- User can set end time when creating or editing markers in the UI or in the API.
- End time cannot be before start time. This is validated in the backend and for better UX also in the frontend.
- End time is shown in scene details view or markers wall view if present.
- GraphQL API does not require end_seconds.
---------
Co-authored-by: WithoutPants <53250216+WithoutPants@users.noreply.github.com>
* Add updated_at field to stash_id's
* Only set updated at on stash ids when actually updating in identify
---------
Co-authored-by: WithoutPants <53250216+WithoutPants@users.noreply.github.com>
* Upgrade gqlgenc and regenerate stash-box client
* Fix go version
* Don't generate resolvers
* Bump go version in compiler image. Bump freebsd version
* Update Scenes' 'Updated At' Date on Heatmap Gen & Expand Error Log
The UpdatedAt field of a scene is now correctly updated after Generate Task is run and a heatmap linked to a scene.. I thought it made more sense here in the generate heatmap compared to scan.go, owing to funscript data not being tracked/stored in a typical sense with the scan message "updating metadata".
I used a simplified error messaging as I did not think it was critcal but I do not know if did not use the correct code structure
If updating the UpdatedAt field should be done there when the file is marked as interactive I can try and do that?
This would fix this long-standing issue https://github.com/stashapp/stash/issues/3738
The error message change is useful as I could not tell which scripts were causing errors before but now it is clear in the logs
* Use single transaction
---------
Co-authored-by: WithoutPants <53250216+WithoutPants@users.noreply.github.com>
* flippable images in expanded view
* adjust table title width
* cleanup
* eliminate bounce and other improvements
* expand support to non full-width option