Fix hidden sole-child listing attributes leaking on public ticket pages - #1708
Merged
Conversation
renderSoleChildOption appended attributesHtml unconditionally after the suppressed label, so a hidden sole add-on leaked its attribute names and option text to the public ticket page. Gate it on the same `visible` flag that already suppresses the name and price — hidden children keep their data markers and pay-more price input (the fold/compat scripts need them) but show nothing identifying, matching the existing hidden-child contract. Regression tests in render-selector.test.ts: a visible sole child shows its attributes (positive) and a hidden sole child does not leak them.
Contributor
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
📝 WalkthroughWalkthroughSole-child booking options now render selected attributes only when the child listing is visible. Tests cover attribute display for visible children and attribute suppression for hidden children while preserving functional markers and pricing inputs. ChangesSole child visibility
Estimated code review effort: 2 (Simple) | ~10 minutes 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
stefan-burke
enabled auto-merge
July 10, 2026 13:50
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.
What changed
A hidden add-on that is the sole bookable child of a parent listing was leaking its selected attribute names and option text onto the public ticket page.
renderSoleChildOptionalready suppressed the child name and price label when the child was hidden (thevisible ? … : ""gate), but the newly addedattributesHtmlblock was appended unconditionally after the suppressed label. So a hidden child kept its data markers and pay-more price input (which the booking fold and the compatibility scripts still need) but also published its attribute labels to buyers — breaking the "a hidden child shows nothing identifying" contract.This gates
attributesHtmlon the samevisibleflag, so hidden sole children show nothing identifying while still keeping the functional markers the scripts depend on.Why
This slipped through #1683 (merged as
09e63164): the thread that introduced attribute rendering on sole-child add-on options did not account for the hidden-child branch. A follow-up review comment flagged it after merge.What this means for users
A hidden add-on with selected listing attributes no longer exposes those attributes on the parent ticket page. Visitors see exactly what the operator intended to hide. No booking, pricing, or capacity behaviour changes.
Checks
deno task precommit(typecheck, lint, jscpd, full test suite)test/lib/server-parents-gate/render-selector.test.ts:Summary by CodeRabbit