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
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
Matthew Meszaros and Devin AI
1090284452
feat: cover warmup preparation recovery with eligible partners and accurate worker protocol
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-14 12:57:37 +00:00
Matthew Meszaros and Devin 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 Meszaros and Devin 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
51f76294a0
Merge pull request #973 from warmbly/perf/emails-tab-warmup-health-queries
...
feat: cut database CPU across warmup selection, Emails tab status and periodic sweeps
v0.6.52
2026-10-14 10:57:29 +00:00
Matthew Meszaros
2acacc87a7
feat: refresh the shared warmup seven-day snapshot on a detached context while serving the previous one, and derive the Emails tab status chunk layout from committed state instead of writing a ref during render
2026-10-14 12:39:53 +02:00
Matthew Meszaros
3d238f403d
feat: cut database CPU by serving the warmup partner cap from a live today count plus a shared seven-day snapshot, batching the Emails tab status reads into a fixed query count per page, indexing the tasks and warmup scans, bounding the contact verification sweep, skipping existing leads in segment sync, and throttling pool-link and Graph cursor writes
2026-10-14 12:14:18 +02: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
df99a87994
Merge pull request #970 from warmbly/devin/1791947120-cpu-backend-ready
...
feat: reuse scheduler timezone parsing and Go PubSub publisher lifecycles
v0.6.51
2026-10-14 04:10:14 +00:00
Matthew Meszaros
99b86daacf
Merge pull request #971 from warmbly/devin/1791947120-cpu-tracking-ready
...
feat: coalesce Rust tracking ticket lookups and avoid unused digest encoding
2026-10-14 04:10:05 +00:00
Matthew Meszaros
f6da948b36
Merge pull request #968 from warmbly/devin/1791947120-cpu-realtime-ready
...
feat: remove repeated realtime subscriptions, connection scans and event normalization
2026-10-14 04:09:42 +00:00
Matthew Meszaros
4414ded2cf
Merge pull request #967 from warmbly/devin/1791947120-cpu-frontends-ready
...
feat: avoid rebuilding unchanged dashboard lists and mailbox status query aggregation
2026-10-14 04:09:39 +00:00
Matthew Meszaros
816a92904a
Merge pull request #966 from warmbly/devin/1791947120-cpu-sql-ready
...
feat: reduce PostgreSQL history scans in task scheduling, warmup health and dashboard analytics
2026-10-14 04:09:31 +00:00
Matthew Meszaros
1ad9214b51
Merge pull request #969 from warmbly/devin/1791947120-cpu-workers-ready
...
feat: reduce repeated worker template, mailbox preview and Graph lookup work
2026-10-14 04:09:14 +00:00
Devin AI
cc15dab16a
feat: run CPU query pressure and accounting parity regressions against PostgreSQL in CI
2026-10-14 03:36:05 +00:00
Devin AI
6f0700c82a
feat: encode only the retained source-token digest prefix in Rust tracking with parity benchmarks
2026-10-14 03:35:28 +00:00
Devin AI
414e9f600e
feat: reuse canonical realtime event types across org permission and intent gates
2026-10-14 03:35:28 +00:00
Devin AI
6a6cc3d94a
feat: stabilize mailbox status query options and combine callback to avoid repeated aggregation
2026-10-14 03:35:28 +00:00
Devin AI
ab193988c1
feat: reuse known Graph message mappings for legacy delta flag events without a second broker lookup
2026-10-14 03:35:28 +00:00
Devin AI
4fbc4c1ff4
feat: coalesce concurrent Rust tracking ticket cache fills while preserving source miss accounting and retries
2026-10-14 03:35:28 +00:00
Devin AI
cc977ec737
feat: maintain an exact realtime connection aggregate instead of scanning users on each track
2026-10-14 03:35:28 +00:00
Devin AI
ca0bc79f3c
feat: reuse dashboard paginated lists across unchanged renders without altering fetch lifecycle
2026-10-14 03:35:28 +00:00
Devin AI
0559ddee09
feat: bound IMAP preview normalization while preserving whitespace quotes signatures and UTF-8 behavior
2026-10-14 03:35:28 +00:00
Devin AI
28ebed87a5
feat: remove duplicate Phoenix subscriptions from realtime admin and bulk channels
2026-10-14 03:35:28 +00:00
Devin AI
effdf1a6f5
feat: cache raw task template sources so recipient rendering reuses custom-field preprocessing
2026-10-14 03:35:28 +00:00
Devin AI
a8b095375b
feat: reuse and stop PubSub topic publishers while preserving existence checks and delivery errors
2026-10-14 03:35:07 +00:00
Devin AI
0652590962
feat: reuse timezone parsing within behavior batches and campaign scheduling passes
2026-10-14 03:35:07 +00:00