Commit Graph
1242 Commits
Author SHA1 Message Date
geetansh aafcb4f759 feat: treat a missing Warmbly Cloud report as a send hold only, never a rest, while every real hold still applies in full and the send gate stays closed until a current report arrives 2026-10-18 10:13:00 +00:00
devin-ai-integration[bot] 169376ef9e Merge pull request #995 from warmbly/devin/1792205408-mailbox-recovery
feat: automatically clear recovered legacy mailbox and provider-limit warnings
2026-10-17 18:14:01 +00:00
Devin AI edd1060e3e feat: synchronize recovered mailbox warnings with current main and reserve migration 313 after the new performance indexes 2026-10-17 17:50:09 +00:00
devin-ai-integration[bot] 3e0f5302dd Merge pull request #998 from warmbly/devin/1792255623-grant-delete-reauth-layer
feat: keep grant-removal identity confirmation above the pending confirmation dialog
2026-10-17 17:48:45 +00:00
devin-ai-integration[bot] 2fa359a3b5 Merge pull request #997 from warmbly/devin/1792207123-remie-tool-limit
feat: keep Remie within OpenAI tool limits without losing built-in or MCP capabilities
2026-10-17 17:48:44 +00:00
Matthew MeszarosandDevin AI 0ba1acf583 feat: keep identity confirmation above pending admin grant removal and cover secure retry and cancellation
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-17 16:48:52 +00:00
Matthew MeszarosandDevin AI 04cd135503 feat: keep Remie OpenAI requests within the tool limit using permission-scoped discovery for built-in and MCP capabilities
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-17 03:27:56 +00:00
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 6b8c66c249 feat: clear recovered legacy mailbox connection and provider-limit errors using confirmed send and sync evidence 2026-10-17 02:57:14 +00:00
Matthew MeszarosandDevin 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
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 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 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 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 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 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
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 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 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
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 MeszarosandDevin 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 MeszarosandDevin AI 665bd5cf22 feat: seed post-stop monitoring from existing disabled warmup mailboxes at upgrade
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-14 12:37:55 +00:00
Matthew MeszarosandDevin AI e8597e8af1 feat: retire unstarted warmup commands on mailbox stop and alert on post-stop execution
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-14 12:36:01 +00:00
Matthew Meszaros dbfc5b06f8 feat: keep unibox sends out of campaign, warmup and shared send caps with their own 500-recipient daily ceiling and report refused sends to the mailbox owner, skip IMAP history below the held UIDNEXT on a folder-wide MODSEQ bump, and stop treating mail received before its sender became a contact as a reply in reply processing, the repair sweep and the opt-out recheck 2026-10-14 06:38:34 +02:00
Matthew Meszaros 1c1f473774 Merge pull request #965 from warmbly/devin/1791907589-linked-warmup-main-compatible
feat: respect gateway warmup schedules with a main-compatible upgrade migration
2026-10-13 16:47:22 +00:00
Devin AI 71eb78ce31 feat: respect gateway warmup calendars and correct inherited defaults with a collision-free migration after the mailbox lookup indexes 2026-10-13 16:06:29 +00:00
Matthew Meszaros e98902a600 Merge pull request #964 from warmbly/devin/1791902898-poollink-recovery
feat: batch linked-instance mailbox status and warmup reads while preserving partner limits
2026-10-13 15:50:07 +00:00
Devin AI 38edfca0b5 feat: batch linked-instance mailbox analytics and warmup summaries with bounded detail reads and shared partner cohort scans 2026-10-13 14:59:52 +00:00
Matthew MeszarosandDevin AI 2b777463cb feat: integrate current warmup and Cloud mailbox changes while preserving batch sync and renumbering unreleased lookup indexes
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-13 14:50:05 +00:00