Add Circumcised and Penis Length fields for performers - #1243
Closed
he69man69 wants to merge 1 commit into
Closed
Conversation
Stash-box models female-specific body attributes (breast type, cup/band/waist/hip size) but has no equivalent for male/transfeminine performers, even though Stash itself already supports circumcision status and penis length locally. Adds both as nullable Performer fields, threaded through the GraphQL schema, migration, sqlc queries, edit-diff/voting system, merge-conflict UI, performer drafts, and the performer edit/detail pages, with gender-aware visibility so transfeminine performers can carry both breast and penis attributes while transmasculine performers get neither. Also bumps the hardcoded schemaVersion constant in internal/database/database.go, which caps how far migrations run and would otherwise leave the new migration silently unapplied.
he69man69
force-pushed
the
add-performer-circumcised-penis-length
branch
from
September 3, 2026 08:52
6837f58 to
be205c4
Compare
Author
|
Closing, two more issues to fix. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add Circumcised and Penis Length fields for performers
Summary
Stash-box models female-specific body attributes (breast type, cup/band/waist/hip size) on the Performer entity, but has no equivalent for male/transfemale/non-binary/intersex performers. Stash already supports circumcision status and penis length, and this closes that gap so stash-box can store and serve the same data, keeping edit history, voting, and merge-conflict resolution consistent with every other performer attribute.
Adds two new nullable Performer fields:
CUT/UNCUT.Int, centimeters (matches the existing convention of height/waist/hip being plainInt, not float)Threaded through the full stack: GraphQL schema, Postgres migration, sqlc queries, edit-diff/voting system, merge-conflict UI, performer drafts (for scraper/Stash submissions), and the performer edit form and detail page.
Visibility is gender-aware, mirroring how breast attributes are already gated, but as an independent rule so transfemale performers can carry both breast and penis attributes, and transmale performers get neither:
No search/filter support was added (stored + displayed only, matching the smaller scope of most measurement fields).
No backend gender enforcement, matching existing precedent (breast_type has none either).
Bumps
schemaVersionininternal/database/database.gofrom 75 to 76 to accomodate the new DB fields.Screenshots
Known issues in testing
Test plan
go build,go vet,go testacross affected backend packagestsc --noEmit,biome check, fullvitestsuite (373 tests) on the frontend