Skip to content

fix(programs): white-label tenants can't create campaigns (shareOnNetwork default)#42

Merged
keithfawcett merged 2 commits into
mainfrom
fix/white-label-share-default
Jul 9, 2026
Merged

fix(programs): white-label tenants can't create campaigns (shareOnNetwork default)#42
keithfawcett merged 2 commits into
mainfrom
fix/white-label-share-default

Conversation

@keithfawcett

Copy link
Copy Markdown
Contributor

Complete campaign-creation blocker for formerly-federated white-label brands, reported by xispark with exact repro.

defaultShareOnNetwork returns the Network membership flag — which white-label tenants still carry (deliberately retained for restoration) — so POST /programs defaulted shareOnNetwork=true and then 400'd demanding a marketplaceDescription… for a marketplace surface the white-label UI correctly hides. No UI path could satisfy or bypass it.

  • defaultShareOnNetwork → false when white-label is effective
  • POST /programs → force false (even explicit true) before the description requirement
  • PATCH /programs/:id → pin false on every edit (also normalizes pre-white-label rows still carrying true)

The existing marketplace-sync guard made the flag inert at publish time; validation time is where it actually bit. Suite green 192/192.

🤖 Generated with Claude Code

keithfawcett and others added 2 commits July 9, 2026 10:46
…nblocks campaign creation

Real-world blocker (first white-label customer): defaultShareOnNetwork
returns the Network membership flag, which white-label tenants still
have (the row is deliberately retained for the road back) — so campaign
creation defaulted shareOnNetwork=true, then 400'd requiring a
marketplace description for a surface their UI correctly hides. Every
formerly-federated white-label brand was fully unable to create
campaigns.

- defaultShareOnNetwork: false when white-label is effective
- POST /programs: force false (even explicit true) before the
  description requirement
- PATCH /programs/:id: pin false on every edit — also normalizes
  pre-white-label rows still carrying true, so a lapsed add-on can't
  resurrect a stale listing

Belt-and-suspenders with the existing sync guard (which made the flag
inert at publish time but not at validation time — validation is where
it hurt).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@keithfawcett keithfawcett merged commit 3fea8d5 into main Jul 9, 2026
7 of 8 checks passed
@keithfawcett keithfawcett deleted the fix/white-label-share-default branch July 9, 2026 17:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant