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 |
|
 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
|
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 |
|
 Matthew MeszarosandDevin AI
|
dd56447c73
|
feat: classify duplicate passkey enrollment separately from sign-in cancellation and keep known already-registered authenticator refusals out of dashboard error tracking
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
|
2026-10-08 14:15:54 +00:00 |
|
 Matthew MeszarosandDevin AI
|
3d3e546946
|
feat: clarify project-level Google OAuth consent isolation when setting up Sheets alongside Gmail verification
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
|
2026-10-08 14:13:10 +00:00 |
|
 Matthew MeszarosandDevin AI
|
eef3ea356c
|
feat: make shared notification text readable in both themes and document Google Sheets OAuth credentials and contact sync setup
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
|
2026-10-08 14:06:32 +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 |
|
Matthew Meszaros
|
d22893ca65
|
Merge pull request #881 from warmbly/devin/1791458091-mailbox-tag-sets
feat: group mailbox accounts by their complete unordered tag sets
|
2026-10-08 12:27:24 +00:00 |
|
Matthew Meszaros
|
f6f46b1647
|
Merge pull request #880 from warmbly/devin/1791456836-worker-startup-recovery
feat: retry worker startup reload requests and show provider-specific warmup failure guidance
|
2026-10-08 12:27:14 +00:00 |
|
 Matthew MeszarosandDevin AI
|
4b11147ff9
|
feat: align mailbox filtering documentation with complete tag-set grouping
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
|
2026-10-08 11:32:49 +00:00 |
|
 Matthew MeszarosandDevin AI
|
691280cdef
|
feat: give premium warmup senders all qualified recipients and balance host coverage without paid-receiver bias
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
|
2026-10-08 11:31:05 +00:00 |
|
 Matthew MeszarosandDevin AI
|
c28097cafd
|
feat: keep mailbox accounts with identical unordered tag sets together in the default list order
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
|
2026-10-08 11:18:15 +00:00 |
|
 Matthew MeszarosandDevin AI
|
c687b6fd78
|
feat: retry unacknowledged worker startup heartbeats and show provider-specific warmup failure guidance
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
|
2026-10-08 10:57:15 +00:00 |
|
 Matthew MeszarosandDevin AI
|
d86a9b683a
|
feat: clarify that per-workspace Cloud billing applies to new connections without changing existing shared plans
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
|
2026-10-08 10:11:04 +00:00 |
|
 Matthew MeszarosandDevin AI
|
add3d31050
|
feat: keep existing Warmbly Cloud connections fully usable and remove the legacy migration settings flow
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
|
2026-10-08 10:10:33 +00:00 |
|
 Matthew MeszarosandDevin AI
|
e6bd3491b2
|
feat: document dashboard browsing preferences, consolidate scoped search debouncing, and prevent signed-out pages from restoring saved filters after logout or token expiry
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
|
2026-10-08 07:48:58 +00:00 |
|
 Matthew MeszarosandDevin AI
|
b4ef37fe82
|
feat: restore existing self-host realtime connections through normalized legacy gateway URLs and an authenticated API-origin WebSocket proxy, preserve ticket-bound client IP limits and direct retry fallback, and remember workspace mailbox tag filters across navigation with deterministic default account grouping
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
|
2026-10-08 06:57:48 +00:00 |
|
Matthew Meszaros
|
e45cac4a08
|
Merge pull request #876 from warmbly/devin/1791432880-typesafe-credit-optimization
feat: coordinate TypeSafe billing recovery and attribute token usage across all judgment features
|
2026-10-08 04:51:00 +00:00 |
|
Matthew Meszaros
|
0bb984ba6b
|
Merge pull request #877 from warmbly/fix/docs-search-index-size
fix: docs search index fits the Pages file limit
|
2026-10-08 04:44:03 +00:00 |
|
Matthew Meszaros
|
d8138d7449
|
feat: disable Orama sorting in the docs static search index (docs/app/api/search/route.ts) so the exported index stays under Cloudflare Pages' 25 MiB file limit, cutting it from 25.2 MiB to 20.0 MiB without changing relevance-ranked results
|
2026-10-08 06:43:03 +02:00 |
|
Matthew Meszaros
|
31f1893616
|
Merge pull request #875 from warmbly/devin/1791431604-relay-warmup-verification
feat: recover relay-rewritten warmup receipts with explicit send authority
|
2026-10-08 04:31:36 +00:00 |
|
 Matthew MeszarosandDevin AI
|
e02655fd89
|
feat: coordinate TypeSafe billing recovery across backend and consumer, attribute token usage and reuse copy judgments during cache outages
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
|
2026-10-08 04:28:37 +00:00 |
|