TryGhost
OSS
Ghost
Changed email rendering to interpret segments at a single boundary ref https://linear.app/ghost/issue/BER-3779/ - segment strings are the only audience identity the email pipeline has (persisted on email_batches, free-form via the preview APIs), and their meaning was reverse-engineered in four places: the paywall check, the data-gh-segment card stripping, the preheader condition, and getExampleMember - the tier-aware segments from #28315 made that scattering fragile and the tier-specific previews in BER-3779 add more segment shapes, so audience facts are now derived once per render (describeSegment) and read as data everywhere below - access is answered by rebuilding the member a segment describes and reusing checkPostAccess (new checkSegmentPostAccess in content-gating) instead of substring-matching filter strings, which wrongly paywalled tier segments on paid-visibility posts and couldn't handle segment shapes it didn't anticipate - the preheader now regenerates from the gated html for any audience without post access, not just status:free, so gated content no longer leaks into the preheader of the no-access variants from #28315
nx run ghost-monorepo:lint:boundaries
Sign in / Sign up
Open main menu
Succeeded
CI Pipeline Execution
nx run ghost-monorepo:lint:boundaries
Click to copy
Linux
4 CPU cores
read-write
access token used
31674902
29359