Matthew Meszaros
ae9eca5c7e
feat: cut database load from issue 993 with placement, sweep and unibox indexes, redundant index drops, identical-result rewrites of contact facets, dashboard stats, campaign progress, advisor bounces and routing pre-filter, bounded delivery evidence, cold-ramp skip, held advisor sections, ANALYZE after restore and hidden-tab realtime deferral
2026-10-17 05:18:45 +02:00
devin-ai-integration[bot]
0911c5390b
Merge pull request #992 from warmbly/devin/1792150758-coolify-deployment
...
feat: support image-only Coolify deployment with step-by-step self-host instructions
2026-10-16 12:15:44 +00:00
Matthew Meszaros and Devin AI
9af270a533
feat: add production image-only Coolify Compose deployment with domain, secret, backup and setup instructions
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-16 11:47:52 +00:00
devin-ai-integration[bot]
10cdecefd7
Merge pull request #991 from warmbly/devin/1792134927-linked-mailbox-status
...
feat: keep cold rests visible and explain repeated mailbox connection reports
v0.6.55
2026-10-16 08:24:03 +00:00
devin-ai-integration[bot]
4890945ea1
Merge pull request #990 from warmbly/devin/1792133264-contacts-empty-campaign-steps
...
feat: prevent the contact activity drawer from crashing for campaigns without steps
2026-10-16 08:24:02 +00:00
devin-ai-integration[bot]
2f18278b9e
Merge pull request #983 from warmbly/devin/1792124822-mailbox-health-recovery
...
feat: align mailbox health severity and volume recovery with displayed placement
2026-10-16 08:24:01 +00:00
devin-ai-integration[bot]
3b1c50b9ec
Merge pull request #988 from warmbly/fix/reply-processing-stale-stored-mail
...
feat: withdraw reply intents and untouched follow-up tasks left by mail from before its sender's contact, and credit unthreaded mail only to an earlier send (#960 )
2026-10-16 07:52:00 +00:00
devin-ai-integration[bot]
bb1b93255d
Merge pull request #987 from warmbly/fix/worker-send-deadline
...
feat: give worker sends a deadline that covers the SMTP budget and add ordered mailbox lanes on NATS
2026-10-16 07:51:59 +00:00
devin-ai-integration[bot]
3d7372142a
Merge pull request #986 from warmbly/fix/unibox-forward-suppression
...
feat: let Unibox forwards reach suppressed recipients and name the suppressed address on every refusal
2026-10-16 07:51:58 +00:00
devin-ai-integration[bot]
bdc9d38e1a
Merge pull request #985 from warmbly/feature/reply-received-tagging-verdict
...
feat: carry the inbox-tagging verdict on campaign.reply_received so automations can filter on AI labels
2026-10-16 07:51:58 +00:00
Devin AI
776ec6dcc7
feat: label stored mailbox error report times without claiming all error categories refresh their latest observation
2026-10-16 07:35:57 +00:00
Matthew Meszaros
67a2077ce0
feat: align advisor throttling guidance and campaign hold actions with automatic placement recovery
2026-10-16 07:31:11 +00:00
Matthew Meszaros
d3612255bb
feat: update mailbox placement reason regression to verify watch recovery and independent ramp safeguards
2026-10-16 07:31:11 +00:00
Matthew Meszaros
a54b50a971
feat: clarify placement standing recovery without promising to bypass independent ramp limits
2026-10-16 07:31:11 +00:00
Matthew Meszaros
e1167f9a61
feat: align mailbox placement health with displayed UTC dates and preserve measured scores for reduced-volume warnings
2026-10-16 07:31:11 +00:00
Matthew Meszaros
ed76eb5ac0
feat: show cold rests without campaigns and explain deduplicated mailbox connection reports
2026-10-16 07:30:19 +00:00
Matthew Meszaros
a4d9ca5f20
feat: require exact message and CRM task provenance for historical reply cleanup, preserve unlinked legacy effects and retry failed pages idempotently
2026-10-16 07:30:17 +00:00
Matthew Meszaros
617aa26037
feat: fetch keyed NATS commands only after lane dispatch and cover saturated mailbox queues with an ordering and redelivery regression
2026-10-16 07:30:15 +00:00
Matthew Meszaros
7943d9c390
feat: document all-backend upgrade and old-replica drain requirements for suppressed-recipient Unibox forwards in send safety and self-host install docs
2026-10-16 07:30:13 +00:00
Matthew Meszaros
0004215fbe
feat: clarify reply webhook identifiers and verdict presence and label confidence conditions with their selected operator
2026-10-16 07:30:11 +00:00
devin-ai-integration[bot]
f90d87724d
Merge pull request #984 from warmbly/fix/959-imap-modseq-bump-history
...
feat: cover the IMAP MODSEQ bump end to end with regression tests and document it in the mailboxes guide
2026-10-16 07:15:40 +00:00
Devin AI
b7a564eac9
feat: keep contact campaign activity usable when a campaign has no flow steps and return empty step arrays
2026-10-16 06:52:47 +00:00
Matthew Meszaros
fa6c935b12
feat: withdraw the reply intents and untouched follow-up tasks that mail from before its sender's contact produced through a one-time consumer cleanup, and credit an unthreaded contact message only to a campaign email sent before it arrived ( #960 )
2026-10-16 06:59:40 +02:00
Matthew Meszaros
46bd956229
feat: give worker SEND_EMAIL commands a 120s deadline that covers the SMTP client's 90s budget, run the worker command subscription under a 195s bus budget (NATS ack wait and Kafka handler context via eventbus.WithHandlerTimeout), and add ordered per-mailbox command lanes on NATS with in-progress heartbeats
2026-10-16 06:57:14 +02:00
Matthew Meszaros
de4328b4cf
feat: let Unibox forwards reach suppressed recipients by exempting forward tasks from the send-admission suppression check, refuse suppressed replies and direct sends before queueing with a recipient_suppressed 400 naming the address and matching entry, report admission refusals as RECIPIENT_SUPPRESSED with the address, show the server reason in the reply composer, and document it
2026-10-16 06:56:52 +02:00
Matthew Meszaros
8b9c9b3b70
feat: carry the stored inbox-tagging verdict (ai_labels, ai_intent, ai_intent_confidence, ai_kind, ai_relevance, ai_needs_review) on campaign.reply_received, offer it in the automation condition picker, match list fields by whole item in contains conditions and the new has/join template helpers, and title Slack and Discord reply messages with the tagging labels
2026-10-16 06:56:45 +02:00
Matthew Meszaros
e240d8a0f0
feat: cover the IMAP MODSEQ bump end to end with tests that history spends no sync budget, records no throttled day and is searched once, and that a deferred arrival holds UIDNEXT so the retry keeps history out, and document the behavior in the mailboxes guide
2026-10-16 06:54:15 +02:00
Matthew Meszaros
4d70aada93
Merge pull request #980 from warmbly/fix/warmup-replies-reachability-imap-global
...
feat: send cross-tier warmup replies, drop unreachable warmup recipients, and sync past message/global bounces
v0.6.54
2026-10-15 17:47:40 +00:00
Matthew Meszaros
4ee78aebb2
feat: let a verified warmup arrival inside the arrival grace clear a recipient's unreachable result, and refuse an IMAP bare-envelope body fetch whose BODY[] section is missing
2026-10-15 19:30:27 +02:00
Matthew Meszaros
7d4c57cab3
feat: drop warmup recipients the pool cannot reach from partner selection, weight the draw by each recipient's verified arrival rate, and warn owners through the warmup_mail_not_arriving Advisor check
2026-10-15 19:08:54 +02:00
Matthew Meszaros
b5891f3365
feat: keep IMAP sync running past RFC 6533 message/global bounces by stepping unreadable envelope fetches down to bare, single and skipped rungs with locally parsed MIME, and read global delivery-status parts as bounce reports on IMAP and Gmail
2026-10-15 19:08:54 +02:00
Matthew Meszaros
17a981ca3b
feat: send warmup reply-backs across the free and paid tiers by reporting a mailbox outside the pool as not_in_pool in CanParticipate, and only let a healthy free mailbox answer a paid one
2026-10-15 19:08:48 +02:00
Matthew Meszaros
94f5ca195a
Merge pull request #972 from warmbly/fix/recent-github-bug-reports
...
feat: keep unibox sends out of the campaign caps and report refusals, skip IMAP history on a MODSEQ bump, ignore mail from before a contact in reply processing
v0.6.53
2026-10-15 14:09:48 +00:00
Matthew Meszaros
4b7b626230
Merge pull request #979 from warmbly/fix/reported-user-issue
...
feat: let the confirm-it-is-you prompt offer only the methods an account has, adding passkey, Google/Apple/SSO popup and native iOS Apple/Google re-authentication bound to the session and linked identity, across backend, dashboard, admin, iOS and docs
2026-10-15 13:52:33 +00:00
Matthew Meszaros
eaa7956558
feat: judge each message in the reply opt-out recheck against the contact's creation date or our first send even when the suppression is attributed to a campaign, using the campaign only once the contact is gone
2026-10-15 15:50:30 +02:00
Matthew Meszaros
28b7603fdd
feat: give the workspace-wide unibox plan allowance its own advisory lock namespace instead of sharing the warmup recipient lock's
2026-10-15 15:29:34 +02:00
Matthew Meszaros
6be59ae374
feat: state in the send-safety shared_daily_limit and rolling_recipient_limit rows that manual Unibox sends do not count toward them and are held to their own fair-use limits
2026-10-15 15:28:37 +02:00
Matthew Meszaros
f334207ccd
feat: serve the dashboard's /reauth/complete popup landing on Pages so a Google, Apple or SSO re-authentication window can report back instead of 404ing
2026-10-15 15:28:15 +02:00
Matthew Meszaros
0ca6e7e642
feat: let the confirm-it-is-you prompt offer only the methods an account has, adding passkey, Google/Apple/SSO popup and native iOS Apple/Google re-authentication bound to the session and linked identity, across backend, dashboard, admin, iOS and docs
2026-10-15 15:26:25 +02:00
Matthew Meszaros
f63f459c73
feat: bound unibox sends across a workspace's mailboxes by a fair-use allowance of twice its plan's daily email limit with a floor of 100, resolved through the feature gate so overrides apply and self-hosted or unlimited plans stay unbounded
2026-10-15 14:59:09 +02:00
Matthew Meszaros
e978cc65e1
feat: hold unibox sends to a fair-use allowance sized by provider and lowered by mailbox age, warmup standing and workspace risk with hourly, per-message and new-conversation bounds, require an earlier send before the opt-out recheck treats pre-contact mail as a reply, keep zero-date mail in the reply repair sweep, and retry a unibox refusal that could not be recorded
2026-10-15 12:33:33 +02:00
Matthew Meszaros
2040492cd3
Merge pull request #976 from warmbly/devin/1792038755-cloud-link-enrollment-conflicts
...
feat: isolate Cloud mailbox enrollment conflicts from other retries and standing updates
2026-10-15 10:27:35 +00:00
Matthew Meszaros
702d46adc3
Merge pull request #975 from warmbly/devin/1791979233-warmup-stop-queue-safety
...
feat: retire unstarted warmup sends on mailbox stop and alert on post-stop execution
2026-10-15 10:26:56 +00:00
Matthew Meszaros
df6bca3608
Merge pull request #978 from warmbly/devin/1792044826-campaign-cpu
...
feat: reduce campaign scheduler database reads and new-lead ordering work
2026-10-15 10:26:07 +00:00
Matthew Meszaros and Devin AI
70038e6809
feat: give every synthetic mailbox an explicit UUID in the campaign scheduler pool batching regression fixture
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-15 06:26:13 +00:00
Matthew Meszaros and Devin AI
5bef598a69
feat: batch campaign scheduler mailbox budgets and health reads before routing and standalone placement, and replace per-lead history sorting with existence checks for new-lead priority
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-15 06:21:23 +00:00
devin-ai-integration[bot]
a0bbddac51
Merge pull request #977 from warmbly/devin/1792038679-database-error-fixes
...
feat: prevent mailbox enum write failures and multi-subscription realtime exceptions
2026-10-15 06:14:12 +00:00
Devin AI
6b3ca85e79
feat: persist no-action mailbox errors with valid database enums and retain realtime limits across workspace subscriptions
2026-10-15 04:40:18 +00:00
Matthew Meszaros and Devin AI
89c2c3949c
feat: explain Cloud mailbox association conflicts and reconcile each pending mailbox independently while preserving standing updates
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-15 04:39:58 +00:00
Matthew Meszaros and Devin AI
43f344ad9b
feat: model eligible warmup recipients in the delayed preparation duplicate regression
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-14 13:22:15 +00:00