Skip to content

Added welcomeEmailsDesignCustomization feature flag#26663

Merged
troyciesco merged 3 commits intomainfrom
chris-ny-1106-create-feature-flag-for-email-settings-customization
Mar 3, 2026
Merged

Added welcomeEmailsDesignCustomization feature flag#26663
troyciesco merged 3 commits intomainfrom
chris-ny-1106-create-feature-flag-for-email-settings-customization

Conversation

@cmraible
Copy link
Copy Markdown
Collaborator

@cmraible cmraible commented Mar 3, 2026

closes https://linear.app/ghost/issue/NY-1106/create-feature-flag-for-email-settings-customization

Summary

  • Adds a new welcomeEmailDesignCustomization private feature flag to enable toggling welcome email design customization on/off
  • Adds the flag to the labs settings UI under private features
  • Updates the config API snapshot to include the new flag

Test plan

  • Unit tests pass (ghost/core/test/unit/shared/labs.test.js — 10 passing)
  • Config API e2e snapshot updated and passing
  • Toggle visible in Labs → Private features when developer experiments is enabled

refs https://linear.app/ghost/issue/NY-1106
Adds a private feature flag to toggle welcome email design customization on/off
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Mar 3, 2026

Walkthrough

Adds a new private lab feature titled "Welcome Emails Design Customization" with flag welcomeEmailsDesignCustomization. The flag is registered in the private features list and a corresponding UI entry was added to the admin settings to allow toggling. No other behavioral changes or public API signature changes were made.

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Title check ✅ Passed The title accurately and directly summarizes the main change: adding a new feature flag named welcomeEmailsDesignCustomization. It is concise, clear, and captures the primary objective of the changeset.
Description check ✅ Passed The pull request description clearly relates to the changeset, detailing the addition of a new feature flag for welcome email design customization and its integration into the labs settings UI.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
  • 📝 Generate docstrings (stacked PR)
  • 📝 Generate docstrings (commit on current branch)
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch chris-ny-1106-create-feature-flag-for-email-settings-customization

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

cmraible added 2 commits March 3, 2026 09:12
Documents the steps for adding a new private feature flag to Ghost
Renamed the feature flag from welcomeEmailDesignCustomization to
welcomeEmailsDesignCustomization to match the correct naming convention.
This private flag enables design customization options for welcome emails
and is available in Labs under developer experiments.
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (1)
.claude/skills/add-private-feature-flag/SKILL.md (1)

19-23: Add an explicit manual UI verification step for Labs visibility.

The test steps currently cover unit/snapshot checks only. Add a short manual check for “Developer Experiments enabled → Labs → Private features toggle visible” to close the loop on UI behavior.

Suggested addition
 3. **Run tests and update the config API snapshot**
    - Unit: `cd ghost/core && yarn test:single test/unit/shared/labs.test.js`
    - Update snapshot and run e2e: `cd ghost/core && UPDATE_SNAPSHOTS=1 yarn test:single test/e2e-api/admin/config.test.js`
    - Review the diff of `ghost/core/test/e2e-api/admin/__snapshots__/config.test.js.snap` to confirm only your new flag was added.
+   - Manually verify in Admin: enable Developer Experiments, then confirm the new toggle appears under **Labs → Private features**.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.claude/skills/add-private-feature-flag/SKILL.md around lines 19 - 23,
Update the test steps in the "Run tests and update the config API snapshot"
block to include an explicit manual UI verification: after running the unit and
snapshot commands (the lines referencing ghost/core && yarn test:single and
ghost/core/test/e2e-api/admin/config.test.js), add a short manual check
instructing the tester to enable "Developer Experiments" in the UI, navigate to
Labs, and confirm the "Private features" toggle is visible; reference the
snapshot file ghost/core/test/e2e-api/admin/__snapshots__/config.test.js.snap so
reviewers know to verify only the new flag was added.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In @.claude/skills/add-private-feature-flag/SKILL.md:
- Line 27: The example flag string in SKILL.md is incorrect: replace the
camelCase example `welcomeEmailDesignCustomization` with the canonical key
`welcomeEmailsDesignCustomization` so documentation matches the PR standard and
prevents incorrect flag registration; update the example line that currently
reads "Flags are camelCase strings (e.g. `welcomeEmailDesignCustomization`)." to
use `welcomeEmailsDesignCustomization`.

---

Nitpick comments:
In @.claude/skills/add-private-feature-flag/SKILL.md:
- Around line 19-23: Update the test steps in the "Run tests and update the
config API snapshot" block to include an explicit manual UI verification: after
running the unit and snapshot commands (the lines referencing ghost/core && yarn
test:single and ghost/core/test/e2e-api/admin/config.test.js), add a short
manual check instructing the tester to enable "Developer Experiments" in the UI,
navigate to Labs, and confirm the "Private features" toggle is visible;
reference the snapshot file
ghost/core/test/e2e-api/admin/__snapshots__/config.test.js.snap so reviewers
know to verify only the new flag was added.

ℹ️ Review info

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between e92e2bf and 57d38af.

⛔ Files ignored due to path filters (1)
  • ghost/core/test/e2e-api/admin/__snapshots__/config.test.js.snap is excluded by !**/*.snap
📒 Files selected for processing (3)
  • .claude/skills/add-private-feature-flag/SKILL.md
  • apps/admin-x-settings/src/components/settings/advanced/labs/private-features.tsx
  • ghost/core/core/shared/labs.js
🚧 Files skipped from review as they are similar to previous changes (2)
  • apps/admin-x-settings/src/components/settings/advanced/labs/private-features.tsx
  • ghost/core/core/shared/labs.js

@cmraible cmraible changed the title Added welcomeEmailDesignCustomization feature flag Added welcomeEmailsDesignCustomization feature flag Mar 3, 2026
@cmraible cmraible requested a review from troyciesco March 3, 2026 18:40
@cmraible cmraible added the ok to merge for me You can merge this on my behalf if you want. label Mar 3, 2026
@troyciesco troyciesco merged commit 32096c8 into main Mar 3, 2026
34 checks passed
@troyciesco troyciesco deleted the chris-ny-1106-create-feature-flag-for-email-settings-customization branch March 3, 2026 21:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ok to merge for me You can merge this on my behalf if you want.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants