Matthew Meszaros
|
86fda324f2
|
feat: qualify the new guide summaries where the detailed text allows exceptions: Always allow on Remie and the Slack assistant, follow-ups that move off a held or gone mailbox, reply labels that need inbox tagging, what Warmbly Cloud holds for a linked instance, and DMARC passing on either SPF or DKIM alignment
|
2026-10-10 08:23:36 +02:00 |
|
Matthew Meszaros
|
59317b577b
|
feat: add a Getting started guide and dashboard screenshots to the guides, and open each long guide with plain sentences, numbered steps and the key facts while every existing section stays word for word in a collapsible fold that search, the table of contents and anchor links still open
|
2026-10-10 07:40:18 +02:00 |
|
Matthew Meszaros
|
f49b7dfacd
|
feat: add a short version box and diagrams drawn in code to the Learn pages (the three delivery gates, signal weights, delivery against placement, placement targets, the warmup ramp and exchange, health bands, pool tiers, the recovery ramp, SPF DKIM and DMARC checks, the DMARC rollout, the sub-domain pattern, the four cold email regimes and a personalization preview), plus a Fold component for collapsible detail
|
2026-10-10 07:40:10 +02:00 |
|
Matthew Meszaros
|
d5a6fc4c45
|
feat: restyle the docs site to match the marketing site with light as the default theme and a neutral dark theme, replace the section tabs with a header dropdown that switches between Guides, Learn, API reference and Self-hosting from any page, start the docs on Getting started, keep the sidebar scroll position when moving between pages, and render the theme script without a React warning
|
2026-10-10 07:40:10 +02:00 |
|
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 |
|
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
|
1ca77a431b
|
feat: integrate merged monitoring updates with ordered worker command recovery
|
2026-10-09 16:57:57 +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
|
5a542e1222
|
feat: show failed or partial Accounts mailbox inventory as unavailable instead of measured zero counts or an empty list
|
2026-10-09 16:27:20 +00:00 |
|
Matthew Meszaros
|
a8ddfc65ec
|
feat: isolate admin sign-in caches, retain cached probe outcomes and clear recovered mailbox issues per measured source
|
2026-10-09 16:27:20 +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
|
cdb102ca56
|
feat: keep mailbox health and usage unknown until Cloud and account status checks finish with refresh and incomplete-data regressions
|
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 |
|
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 Meszaros
|
09ffccca80
|
feat: show out-of-scope sidebar pages to restricted members as locked rows that explain their access scope instead of hiding them
|
2026-10-09 15:07:29 +02: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
|
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 Meszaros
|
a4f22675df
|
Merge pull request #897 from warmbly/devin/1791534337-visible-profile-notification-menus
feat: keep the notification feed visible outside dashboard overflow
|
2026-10-09 11:29:49 +00:00 |
|
Matthew Meszaros
|
865e5ecc05
|
Merge pull request #899 from warmbly/devin/1791543376-warmup-deferral-result-recovery
feat: prevent deferred warmup commands inheriting failed results and recover existing false conflicts
|
2026-10-09 11:29:25 +00: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
|
f6c1c64520
|
feat: preserve complete tag-set grouping and explicit mailbox ordering when filtering Accounts by a tag
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
|
2026-10-09 10:54:39 +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
|
55cf83d8cf
|
feat: portal the notification feed through the shared floating panel with viewport-safe scrolling and protect profile-menu placement outside clipped sidebars
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
|
2026-10-09 08:34:13 +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
|
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 |
|
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
|
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
|
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
|
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
|
acbd79e3bf
|
Merge pull request #884 from warmbly/devin/1791468189-dashboard-domexception
feat: handle already-registered passkeys without dashboard crash reports
|
2026-10-08 14:58:04 +00:00 |
|