Skip to content

Tags: Digidai/mails

Tags

v1.8.0

Toggle v1.8.0's commit message
fix: eng review fixes — events cleanup cron, webhook retry timing, 18…

… new tests

1. Add scheduled handler for hourly events table cleanup (24h TTL)
2. Fix webhook retry delays to stay within Workers waitUntil limits (< 15s total)
3. Remove dead fireWebhook function (replaced by fireWebhookWithRetry)
4. Add cron trigger to wrangler.toml
5. Add 18 new tests: events (2), delivery-status (4), domains (5), webhook-retry (4), scoped-auth (3)

Total: 283 tests (217 + 18 new + existing)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

v1.7.0

Toggle v1.7.0's commit message
chore: bump version to 1.7.0

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

v1.6.1

Toggle v1.6.1's commit message
fix: sync CLI version to 1.6.1, fix release CI, opt into Node.js 24

- CLI version string: v1.6.0 → v1.6.1 (match package.json)
- Rebuild dist/cli.js with correct version
- release.yml: isolate CLI tests (same fix as test.yml)
- All workflows: FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

v1.6.0

Toggle v1.6.0's commit message
fix: isolate CLI tests from other unit tests in CI

Bun's mock.module() pollutes the global module registry within a process.
cli.test.ts mocks config.js and receive.js, which breaks send.test.ts
and storage-resolver.test.ts when run in the same bun test invocation.

Split into two separate bun test runs to prevent cross-file pollution.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

v1.3.0

Toggle v1.3.0's commit message
v1.3.0: unified Worker architecture — remove DB9, add self-hosted sen…

…d, mailbox isolation, webhook, delete API

Major release consolidating on Cloudflare Worker + D1 as the single backend:

- Remove DB9 storage provider (replaced by Worker + D1)
- Add WorkerSendProvider: send emails via self-hosted Worker /api/send
- Send priority: worker_url > api_key > resend_api_key
- Worker file split: handlers/ directory for inbox, code, email, send, attachment, auth, webhook
- Mailbox isolation: auth_tokens D1 table binds token → mailbox, scopes all queries
- From address validation: /api/send verifies from matches token's mailbox
- Webhook push: fire-and-forget POST on email receive with HMAC-SHA256 signature
- DELETE /api/email: cascade delete attachments + R2 objects
- R2 attachment upload: large attachments (>100KB) stored in R2 on receive
- FTS5 full-text search with injection protection
- Error handling: try/catch in email() handler, network error wrapping in WorkerSendProvider
- Key path logging: console.log/error on email receive, send, and errors
- Security: error responses never leak internal details, DELETE scoped by mailbox
- SDK: add deleteEmail to StorageProvider, remote, sqlite, receive, index exports
- Tests: 187 total (53 new handler tests + 7 worker-send tests)
- Docs: update all READMEs with new endpoints, secrets, and self-hosted guide
- Delete stale docs/email-search-design.md (referenced removed DB9)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

v1.5.3

Toggle v1.5.3's commit message
chore(release): 1.5.3

v1.5.2

Toggle v1.5.2's commit message
v1.5.2: escape LIKE wildcards in short id prefix resolution

Follow-up to #6 — the LIKE queries for short id prefix matching
did not escape % and _ wildcards in user input, which could cause
unexpected matches. Use escLike() in db9 and add ESCAPE clause
for sqlite/worker parameterized queries.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

v1.5.1

Toggle v1.5.1's commit message
v1.5.1: docs and e2e fixes for OSS send + sync

Real e2e tests verified against deployed test worker: /api/send
outbound recording, /api/sync to local sqlite with search/code/attachments.
Updated skill.md and all 3 READMEs with sync command and /api/send docs.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

v1.5.0

Toggle v1.5.0's commit message
docs: add sync command and /api/send to skill.md and all READMEs

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

v1.4.1

Toggle v1.4.1's commit message
v1.4.1: full e2e coverage for all 3 providers + README test matrix

Add comprehensive e2e tests: db9 full flow (18 tests), remote OSS/hosted
direction filter + pagination, sqlite CLI integration (11 tests).
Update all 3 READMEs (EN/ZH/JA) with provider e2e coverage matrix.
239 tests total (168 unit + 71 e2e), 0 failures.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>