Repository navigation
Releases: skeel-x/stash-vr
Releases · skeel-x/stash-vr
Release list
v0.12.0
Added
- Delete a stored HereSphere profile from the Setup page (and
DELETE /profiles/{id}), so an accidental headset save can be undone. - Scene details are sent to HereSphere as the scene description.
STASH_TLS_INSECUREto opt out of certificate verification for a self-signed https Stash.- The Setup page can clear the Stash API key, so a Stash without authentication can be configured on a new host.
- A warning at startup when a setting given as an environment variable or flag is overridden by
config.json. - A warning on the Players page when it was opened via localhost, where the shown addresses would not work from a headset.
Changed
- The server starts listening before the library index is built, so the Setup page is reachable while a slow Stash indexes.
- Stash's TLS certificate is now verified (earlier releases never checked it); see
STASH_TLS_INSECURE. - A bare Stash host address gets
/graphqlappended automatically; pasted settings are trimmed and whitespace inside the API key is rejected. - Reset buttons ask twice and sit away from Save; the rules table is saved together with Save changes; the form warns before leaving with unsaved changes.
- The Sections and rules pages never save an empty list by accident after a Stash error.
- Playa: the video page is built from the scene cache one page at a time, random order is stable across pages, posters are served through the cover loader without re-encoding, and categories read from the tag cache.
- Covers are rendered into a single image, one at a time per cover, under a memory budget; the heatmap height is part of the cover URL so changing it refreshes the covers.
- Tag matching compares names case-insensitively without allocating copies.
Fixed
- A malformed saved filter (for example a NOT_NULL criterion without a value) no longer crashes the service into a restart loop; it is skipped with a log line naming it.
- A panic in a background task (scene write-back, index prefetch, cover render, Playa lookup) no longer takes the server down.
- One scene without a video file no longer fails the whole
/scanor the DeoVR index. - A transient Stash error no longer caches an empty library for a minute; the previous library is kept.
- Requests to a Stash that stops answering are bounded, and a dropped headset request no longer fails the index for everyone waiting on it.
- HereSphere library durations are reported in milliseconds (sorting by length was off by 1000x).
- RF52 and other lens-less fisheye scenes get their configured field of view in HereSphere (a Linear lens is sent so the fov applies).
- MKX220 and VRCA220 lenses map to DeoVR screen types instead of plain fisheye (please report if DeoVR still shows them as plain fisheye).
- Generated HereSphere profiles write 6.5 cm camera separation and correct vertical stereo misalignment.
- A profile learned from another scene is rebased on the scene it serves, so it no longer carries that scene's resume position, duration and tags.
- HereSphere playback is tracked per client, so play time is attributed to the right scene with several headsets, and play counts survive a restart.
- Overlapping write-backs for the same scene are serialised, so markers are not duplicated and tag edits are not lost.
- A just-played scene leaves Recommended for you immediately instead of after 30 minutes.
- A scene HereSphere deleted is forgotten here right away instead of lingering with a dead stream.
- The release-date sweeper backs off scenes a stash-box failed on instead of re-scraping them forever, and its last flush is not lost on shutdown; a
dates.jsonholdingnullno longer panics. - Copy buttons on the Players page work over plain http.
- Profile write-backs that do not decode are refused instead of replacing the good profile; concurrent saves of the same profile no longer race.
- Funscript variant URLs are keyed to the file they name, so a changed variant list cannot serve the wrong script.
- Profile titles on the Setup page are looked up in one batch instead of one query per profile; a failed studio profile index build backs off for 30 s.
- Guards for scenes missing paths or streams, a Playa page index that overflows, and a
log_levelinconfig.jsonthat is not lower case.
Security
- The Stash API key is redacted from player debug logs and the Log page.
- Stash's TLS certificate is verified by default.
Full Changelog: v0.11.0...v0.12.0
v0.11.0
Added
- Cover badges on scene covers and Playa posters: quality tier, format (lens/projection), passthrough, duration and frame rate. Each badge can be switched on or off in Setup, with a live preview on a real scene.
- Tier badges are drawn in slate for scenes tagged
Low Detail(files without the detail of their resolution, as measured by the vrQualityTags plugin). - "Recommended for you" smart section: unplayed scenes scored against the watch history. By default it follows Continue watching.
- Learned HereSphere profiles per studio and lens: a profile saved for one scene can serve the other scenes of the same studio and lens (off by default).
- Default video rule for chroma-keyed passthrough (
Chroma Key).
Changed
- Cover badges sit in the bottom left corner, above the funscript heatmap, clear of HereSphere's own icons.
- File resolutions are labelled from width and height instead of height alone.
- Rendered covers are kept in a bounded cache; cover URLs change when the badge settings change so players fetch the new covers.
- README brought up to date and shows the logo.
Full Changelog: v0.10.0...v0.11.0