Skip to content

Add Resend transactional email submodule - #5904

Open
bradleyshep wants to merge 2 commits into
bradley/submodules-corefrom
bradley/submodules-email
Open

Add Resend transactional email submodule#5904
bradleyshep wants to merge 2 commits into
bradley/submodules-corefrom
bradley/submodules-email

Conversation

@bradleyshep

Copy link
Copy Markdown
Contributor

Description of Changes

Adds a Resend submodule for sending transactional email and tracking delivery state in SpacetimeDB.

  • Synchronous procedures for outbound Resend requests and email operations.
  • Webhook signature verification, payload validation, idempotent ingestion, and replay.
  • Private delivery state and administrative configuration.
  • Package documentation, unit tests, and a dispatch example with generated client bindings.

Builds on bradley/submodules-core. The package uses crypto; the example also uses rate-limit and shared example support.

Example screenshots

Existing example screenshots from #5823:

Resend

Resend example

API and ABI breaking changes

No existing SpacetimeDB API or ABI is changed. This adds new TypeScript package APIs that need review before merge.

Rollback safety impact

n/a. This adds opt-in TypeScript packages and examples; it does not change existing server storage formats.

Expected complexity level and risk

2/5

An isolated, opt-in Resend integration that does not change existing server behavior. For applications that use it, review delivery idempotency, webhook verification, and access to provider credentials.

Testing

Verified locally on bradley/submodules-email:

  • Frozen-lockfile install for the root, SDK, and present submodule workspaces.
  • Type checks for the added packages.
  • Existing test scripts for the added packages and examples.
  • Build scripts for the added packages and examples.
  • Regenerate client bindings and verify no tracked changes.
  • Lint and formatting checks for the added packages and examples.
  • Verify workspace dependencies are present in this branch.
  • Review the public email API, authorization, and webhook handling.
  • Run the Resend smoke test with credentials and a local SpacetimeDB instance.

Commands used for this group:

pnpm -r -F "./spacetime-resend-ts/**" run typecheck
pnpm -r -F "./spacetime-resend-ts/**" run test
pnpm -r -F "./spacetime-resend-ts/**" run build
pnpm -r -F "./spacetime-resend-ts/**" run lint

The TypeScript SDK was built first. Live deployment and provider tests were not run during split validation. Existing workspace peer-dependency warnings remain.

@bradleyshep bradleyshep mentioned this pull request Sep 9, 2026
7 tasks
@bradleyshep
bradleyshep requested a review from aasoni September 9, 2026 19:40
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