Skip to content

fix(plugins): handle standalone wildcard in allowedHosts#338

Merged
ascorbic merged 4 commits intoemdash-cms:mainfrom
mvanhorn:fix/278-allowedhosts-wildcard
Apr 11, 2026
Merged

fix(plugins): handle standalone wildcard in allowedHosts#338
ascorbic merged 4 commits intoemdash-cms:mainfrom
mvanhorn:fix/278-allowedhosts-wildcard

Conversation

@mvanhorn
Copy link
Copy Markdown
Contributor

@mvanhorn mvanhorn commented Apr 6, 2026

What does this PR do?

Closes #278

The isHostAllowed() function in packages/core/src/plugins/context.ts only handles *.domain patterns (e.g. *.example.com). When a plugin declares allowedHosts: ["*"], the standalone "*" doesn't match startsWith("*.") and falls through to a literal equality check (host === "*"), which never matches any real hostname.

The fix adds an early return for pattern === "*" before the subdomain wildcard check.

Type of change

  • Bug fix
  • Feature (requires approved Discussion)
  • Refactor (no behavior change)
  • Documentation
  • Performance improvement
  • Tests
  • Chore (dependencies, CI, tooling)

Checklist

  • I have read CONTRIBUTING.md
  • pnpm typecheck passes
  • pnpm --silent lint:json | jq '.diagnostics | length' returns 0
  • pnpm test passes (or targeted tests for my change)
  • pnpm format has been run
  • I have added/updated tests for my changes (if applicable)
  • I have added a changeset (if this PR changes a published package)
  • New features link to an approved Discussion: https://github.com/emdash-cms/emdash/discussions/...

AI-generated code disclosure

  • This PR includes AI-generated code

This contribution was developed with AI assistance (Codex).

mvanhorn added 2 commits April 6, 2026 15:50
When a plugin declares allowedHosts: ["*"], the isHostAllowed() function
now returns true for all hosts. Previously, standalone "*" fell through
to a literal equality check (host === "*") which never matched.

Fixes emdash-cms#278
@changeset-bot
Copy link
Copy Markdown

changeset-bot bot commented Apr 6, 2026

🦋 Changeset detected

Latest commit: bc688d3

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 9 packages
Name Type
emdash Patch
@emdash-cms/cloudflare Patch
@emdash-cms/plugin-ai-moderation Patch
@emdash-cms/plugin-atproto Patch
@emdash-cms/plugin-audit-log Patch
@emdash-cms/plugin-color Patch
@emdash-cms/plugin-embeds Patch
@emdash-cms/plugin-forms Patch
@emdash-cms/plugin-webhook-notifier Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@pkg-pr-new
Copy link
Copy Markdown

pkg-pr-new bot commented Apr 6, 2026

Open in StackBlitz

@emdash-cms/admin

npm i https://pkg.pr.new/@emdash-cms/admin@338

@emdash-cms/auth

npm i https://pkg.pr.new/@emdash-cms/auth@338

@emdash-cms/blocks

npm i https://pkg.pr.new/@emdash-cms/blocks@338

@emdash-cms/cloudflare

npm i https://pkg.pr.new/@emdash-cms/cloudflare@338

emdash

npm i https://pkg.pr.new/emdash@338

create-emdash

npm i https://pkg.pr.new/create-emdash@338

@emdash-cms/gutenberg-to-portable-text

npm i https://pkg.pr.new/@emdash-cms/gutenberg-to-portable-text@338

@emdash-cms/x402

npm i https://pkg.pr.new/@emdash-cms/x402@338

@emdash-cms/plugin-ai-moderation

npm i https://pkg.pr.new/@emdash-cms/plugin-ai-moderation@338

@emdash-cms/plugin-atproto

npm i https://pkg.pr.new/@emdash-cms/plugin-atproto@338

@emdash-cms/plugin-audit-log

npm i https://pkg.pr.new/@emdash-cms/plugin-audit-log@338

@emdash-cms/plugin-color

npm i https://pkg.pr.new/@emdash-cms/plugin-color@338

@emdash-cms/plugin-embeds

npm i https://pkg.pr.new/@emdash-cms/plugin-embeds@338

@emdash-cms/plugin-forms

npm i https://pkg.pr.new/@emdash-cms/plugin-forms@338

@emdash-cms/plugin-webhook-notifier

npm i https://pkg.pr.new/@emdash-cms/plugin-webhook-notifier@338

commit: bc688d3

Copy link
Copy Markdown
Collaborator

@ascorbic ascorbic left a comment

Choose a reason for hiding this comment

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

Thanks!

@ascorbic ascorbic enabled auto-merge (squash) April 11, 2026 11:42
@ascorbic ascorbic merged commit b712ae3 into emdash-cms:main Apr 11, 2026
25 checks passed
@emdashbot emdashbot bot mentioned this pull request Apr 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Bug: Plugin allowedHosts: ["*"] still blocks outbound fetches

2 participants