Skip to content

feat: email queue, security headers, feature flags, bulk operations (#515-#522) - #561

Merged
ritaifeoluwa merged 1 commit into
SmartDropLabs:mainfrom
oldtaker24:feat/issues-515-516-517-522
Oct 18, 2026
Merged

ritaifeoluwa merged 1 commit into
SmartDropLabs:mainfrom
oldtaker24:feat/issues-515-516-517-522

Conversation

@oldtaker24

Copy link
Copy Markdown
Contributor

Closes #515
Closes #516
Closes #517
Closes #522

What changed

  • [bug] Email sending not queued #515 — Email queue: New emailQueue service that queues email sending through the existing jobQueue for async delivery. registerEmailHandler(transport) wires a provider (Resend, SES, etc.), and queueEmail({to, subject, html, text}) enqueues jobs. Requests return immediately — no blocking on slow email delivery.
  • [security] No security headers on responses #516 — Security headers: New securityHeaders middleware setting X-Content-Type-Options: nosniff, X-Frame-Options: DENY, X-XSS-Protection, Referrer-Policy: strict-origin-when-cross-origin, Permissions-Policy, Strict-Transport-Security, and Content-Security-Policy on all API responses.
  • [enhancement] Add feature flags #517 — Feature flags: New featureFlags service supporting boolean toggles, percentage rollouts (deterministic hash bucketing so the same user always gets the same result), user allowlist/denylist, and environment variable initialization (FEATURE_FLAG_<NAME>=true|false|percentage:50).
  • [enhancement] Add bulk operations #522 — Bulk operations: New bulkOperations service with processBatch (concurrent processing with per-item error handling) and bulkHandler Express middleware factory. Batch size capped at 100 items per request.

Why

How to test

…martDropLabs#515-SmartDropLabs#522)

- SmartDropLabs#515: Added emailQueue service that queues email sending through the
  existing jobQueue for async delivery. registerEmailHandler wires a
  transport (Resend/SES/etc.) and queueEmail enqueues jobs. Prevents
  request blocking on slow email delivery.
- SmartDropLabs#516: Added securityHeaders middleware setting X-Content-Type-Options,
  X-Frame-Options, X-XSS-Protection, Referrer-Policy, Permissions-Policy,
  HSTS, and CSP on all API responses.
- SmartDropLabs#517: Added featureFlags service with boolean toggles, percentage
  rollouts (deterministic hash bucketing), user allowlist/denylist, and
  environment variable initialization (FEATURE_FLAG_<NAME>).
- SmartDropLabs#522: Added bulkOperations service with processBatch (concurrent
  per-item error handling) and bulkHandler Express middleware factory.
  Batch size capped at 100 items per request.
@drips-wave

drips-wave Bot commented Oct 18, 2026

Copy link
Copy Markdown

@oldtaker24 Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@ritaifeoluwa
ritaifeoluwa merged commit 59f47fb into SmartDropLabs:main Oct 18, 2026
1 of 3 checks passed
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.

[enhancement] Add bulk operations [enhancement] Add feature flags [security] No security headers on responses [bug] Email sending not queued

2 participants