Matthew Meszaros
|
6c689575e8
|
Merge pull request #913 from warmbly/devin/1791604886-campaign-send-recovery
Fix campaign stalls and unresolved send-recovery outcomes (#907)
|
2026-10-10 04:37:49 +00:00 |
|
 Matthew MeszarosandDevin AI
|
44bb752482
|
feat: keep campaign mailboxes sending around durable recovery holds and reconcile uncertain outcomes
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
|
2026-10-10 04:20:12 +00:00 |
|
Devin AI
|
d69ec96868
|
feat: complete invited signup in the dashboard and atomically provision accounts with workspace roles and resource grants
|
2026-10-10 04:11:45 +00:00 |
|
Devin AI
|
24b0130c45
|
feat: reconcile mailbox sync recovery with merged worker Kafka retry and broker-confirmed delivery safeguards
|
2026-10-09 18:18:26 +00:00 |
|
Matthew Meszaros
|
db1a9dc5e0
|
feat: drain native Kafka producer events during shutdown and bound delivery regressions without misreporting undelivered messages
|
2026-10-09 17:44:43 +00:00 |
|
Matthew Meszaros
|
2257e55c79
|
feat: verify read-only monitoring and arrival privacy against both legacy and upgraded sync schemas
|
2026-10-09 17:44:41 +00:00 |
|
Devin AI
|
72e536d99b
|
feat: require confirmed Kafka result delivery before command acknowledgement and distinguish routine rebalance recovery logs
|
2026-10-09 17:18:04 +00:00 |
|
Devin AI
|
c4d8683056
|
feat: renumber unreleased durable sync arrival migration after merged member access schema and preserve upgrade regressions
|
2026-10-09 17:01:51 +00:00 |
|
Devin AI
|
1ca77a431b
|
feat: integrate merged monitoring updates with ordered worker command recovery
|
2026-10-09 16:57:57 +00:00 |
|
Matthew Meszaros
|
ab7b2acda9
|
feat: exhaust Kafka missing-mailbox retries safely before queued reloads and drain concurrent warmup recovery batches using selected counts
|
2026-10-09 16:57:17 +00:00 |
|
Devin AI
|
4758216dbf
|
feat: integrate current monitoring and member access changes with durable mailbox synchronization
|
2026-10-09 16:56:53 +00:00 |
|
Matthew Meszaros
|
1c325b7a87
|
Merge pull request #903 from warmbly/devin/1791559441-admin-monitoring-final
feat: show evidence-based admin monitoring and truthful mailbox refresh states
|
2026-10-09 16:38:53 +00:00 |
|
Matthew Meszaros
|
62df88133a
|
Merge pull request #900 from warmbly/feature/member-resource-access-scope
feat: resource-scoped member access (campaign folders, campaigns and mailboxes, read-only)
|
2026-10-09 16:37:57 +00:00 |
|
Matthew Meszaros
|
5ab4b5e544
|
feat: drain Kafka worker commands through bounded ordered mailbox lanes and accelerate safe startup recovery while backing off duplicate filing retries
|
2026-10-09 16:35:26 +00:00 |
|
Matthew Meszaros
|
2033fb8a36
|
feat: retain recent mailbox issues as dated historical evidence during refresh and remove misleading aggregate monitoring links
|
2026-10-09 16:27:20 +00:00 |
|
Matthew Meszaros
|
2cf19ebedf
|
feat: add permission-aware operational monitoring to admin Overview and health with evidence clocks, backlog signals, coverage docs and typed permission regressions
|
2026-10-09 15:34:18 +00:00 |
|
Matthew Meszaros
|
9a09740c84
|
feat: add permission-shaped operational monitoring snapshots with aggregate recovery evidence and read-only broker diagnostics
|
2026-10-09 15:12:54 +00:00 |
|
Devin AI
|
445e014b5e
|
feat: recover mailbox synchronization across Gmail Outlook and IMAP with encrypted arrival replay and safe worker lifecycle
|
2026-10-09 14:24:10 +00:00 |
|
 Matthew MeszarosandDevin AI
|
ec6129c0c8
|
feat: preserve admin confirmed-send and deferred warmup recovery regressions when updating counter repair against main
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
|
2026-10-09 11:46:19 +00:00 |
|
Matthew Meszaros
|
1f928de78f
|
feat: record member access proof with a per-flow account option in the qa harness, and hide inbox compose and out-of-scope mailbox tags from restricted members
|
2026-10-09 13:42:09 +02:00 |
|
Matthew Meszaros
|
bb4156cc6a
|
feat: add resource-scoped member access that restricts a member to selected campaign folders, campaigns and mailboxes read-only, enforced in the API route gate, SQL filters, permission trigger, realtime channels and dashboard
|
2026-10-09 13:34:05 +02:00 |
|
 Matthew MeszarosandDevin AI
|
a3cdf7b2fa
|
feat: keep deferred warmup commands free of terminal send results and recover existing never-started preparation conflicts without releasing real delivery holds
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
|
2026-10-09 11:06:49 +00:00 |
|
 Matthew MeszarosandDevin AI
|
d751a77063
|
feat: retain both confirmed-send overview and signup-attribution endpoint documentation when updating the admin counter fix against main
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
|
2026-10-09 08:35:56 +00:00 |
|
 Matthew MeszarosandDevin AI
|
6c1207a48c
|
feat: populate admin overview send counters from provider-confirmed warmup receipts and applied outbound results with UTC reporting
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
|
2026-10-09 08:24:21 +00:00 |
|
Devin AI
|
6af3ba910c
|
feat: preserve cookieless first-touch signup attribution through marketing and app redirects and expose admin referrer hosts
|
2026-10-09 07:19:23 +00:00 |
|
 Matthew MeszarosandDevin AI
|
f06617afe3
|
feat: verify existing warmup state and new mailbox tasks survive release upgrades and gate CI on live recovery regressions
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
|
2026-10-09 06:05:20 +00:00 |
|
 Matthew MeszarosandDevin AI
|
5a85395ad7
|
feat: ignore invalid future warmup evidence before selecting current incidents so genuine failures remain visible
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
|
2026-10-09 05:57:34 +00:00 |
|
 Matthew MeszarosandDevin AI
|
859b14bfaa
|
feat: reject future-dated loading observations in mailbox warnings and fleet incident detection
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
|
2026-10-09 05:45:36 +00:00 |
|
 Matthew MeszarosandDevin AI
|
d7a9563e3f
|
feat: expire stale warmup failure warnings and alert persistent fleet stalls while safely retrying blocked dispatches
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
|
2026-10-09 05:37:56 +00:00 |
|
Matthew Meszaros
|
676445a6ee
|
Merge pull request #888 from warmbly/devin/1791517488-campaign-mailbox-admission
feat: enforce per-mailbox campaign caps and configurable variable sending defaults
|
2026-10-09 04:56:33 +00:00 |
|
Matthew Meszaros
|
b95655c358
|
Merge remote-tracking branch 'origin/main' into fix888
|
2026-10-09 06:40:54 +02:00 |
|
q
|
38208c84e3
|
feat: renumber the mailbox behavior defaults migration to 000276 and its live test path, after 000275 went to the unibox forward-thread migration
|
2026-10-09 06:40:25 +02:00 |
|
Matthew Meszaros
|
c513fd2d93
|
Merge pull request #893 from warmbly/fix/oauth-dynamic-client-registration
feat: mark unverified OAuth apps as not affiliated with Warmbly and reserve the Warmbly name in app names
|
2026-10-09 04:30:25 +00:00 |
|
Matthew Meszaros
|
4d46290bc0
|
Merge pull request #889 from warmbly/fix/campaign-pool-pacing
feat: let one campaign fill a large sender pool by keeping sub-minute pacing in finalSlot and dividing the pool send interval in floating point
|
2026-10-09 04:28:35 +00:00 |
|
Matthew Meszaros
|
1386dac607
|
Merge pull request #892 from warmbly/feature/campaign-positive-reply-analytics
feat: positive replies, positive reply rate and interested leads in campaign analytics
|
2026-10-09 04:28:22 +00:00 |
|
Matthew Meszaros
|
1ce4a75545
|
Merge pull request #890 from warmbly/feature/unibox-forwarded-email-threading
feat: show forwarded emails inside the original Unibox thread
|
2026-10-09 04:27:52 +00:00 |
|
Matthew Meszaros
|
db32f2347d
|
feat: mark unverified OAuth apps as not affiliated with Warmbly on the consent screen, reserve the Warmbly name in third-party app names (registration, edit, import, and self-registered clients), and show no website for self-registered clients
|
2026-10-09 06:19:09 +02:00 |
|
Matthew Meszaros
|
b9cc87db1a
|
feat: enable configurable 28–32 daily mailbox sending plans with admission rechecks, clear limit controls and consistent UTC placement budgets
|
2026-10-09 04:18:52 +00:00 |
|
Matthew Meszaros
|
c6c79d8dcd
|
feat: enforce configurable per-mailbox campaign admission caps with UTC budgets, accurate diagnostics and PostgreSQL regressions
|
2026-10-09 04:18:52 +00:00 |
|
Matthew Meszaros
|
fd1c333402
|
feat: add positive replies, positive reply rate, interested leads and a reply-class breakdown to campaign analytics (summary, per-step, daily series, AI tool, OpenAPI, Zapier/Make samples), show them on the campaign overview with a reply quality card, positive chart series and step column, mirror them in the iOS models, document them, and seed classified replies plus a proof flow
|
2026-10-09 06:08:28 +02:00 |
|
Matthew Meszaros
|
daf95ba790
|
feat: seed fixture mailboxes with test_mode legacy so a fresh make seed and QA stack can join them to their warmup pools again after migration 000273 defaulted new mailboxes to off
|
2026-10-09 06:08:28 +02:00 |
|
Matthew Meszaros
|
6d88588350
|
feat: filter the Analytics dashboard by campaigns and campaign folders (campaign_ids/folder_ids on GET /analytics/dashboard, resolved server-side to one deduplicated org-scoped set), with a picker on web, a filter sheet on iOS, CLI flags, an AI tool argument, and API, OpenAPI and guide docs
|
2026-10-09 06:04:31 +02:00 |
|
Matthew Meszaros
|
11b56b7031
|
feat: file Unibox forwards into the conversation they were forwarded from via email_tasks.forward_thread_id and unibox_emails.filed_forward, sent with no provider thread or In-Reply-To and skipped by reply threading
|
2026-10-09 06:03:21 +02:00 |
|
Matthew Meszaros
|
b66c98a4ca
|
feat: let one campaign fill a large sender pool by keeping sub-minute pacing in finalSlot and dividing the pool send interval in floating point
|
2026-10-09 05:58:14 +02:00 |
|
Matthew Meszaros
|
166637b395
|
Merge pull request #886 from warmbly/devin/1791479588-cloud-standing-refresh
feat: refresh Cloud-linked pool status without inventing reputation bans
|
2026-10-08 17:42:14 +00:00 |
|
 Matthew MeszarosandDevin AI
|
65c48b8cb8
|
feat: publish mailbox-list standing transitions separately from consumer sync and prevent duplicate Cloud health notifications
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
|
2026-10-08 17:32:04 +00:00 |
|
 Matthew MeszarosandDevin AI
|
b16dadd264
|
feat: refresh self-hosted Cloud pool standing from validated mailbox listings and separate availability holds from reputation bans
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
|
2026-10-08 17:19:02 +00:00 |
|
 Matthew MeszarosandDevin AI
|
dd9b1d5895
|
feat: keep warmup seeding running when dispatch recovery fails
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
|
2026-10-08 17:01:05 +00:00 |
|
 Matthew MeszarosandDevin AI
|
d3c6efdc46
|
feat: retire proven-unstarted warmup reservations and request worker reloads for missing mailboxes
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
|
2026-10-08 16:55:05 +00:00 |
|
Matthew Meszaros
|
1ab74efedb
|
Merge pull request #882 from warmbly/devin/1791458327-warmup-host-coverage
feat: use qualified recipients and balanced host coverage without paid-receiver bias
|
2026-10-08 12:27:31 +00:00 |
|