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
|
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
|
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
|
0e4c056d37
|
feat: preserve unavailable Cloud status on failed connection lookup without hiding reported errors or showing cached warmup counts
|
2026-10-09 16:27:20 +00:00 |
|
Matthew Meszaros
|
7ff3829f3f
|
feat: keep Cloud lookup dependencies explicit in measured mailbox summary statistics
|
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 |
|
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 Meszaros
|
640753221a
|
Merge pull request #901 from warmbly/fix/mobile-layout
feat: make the Accounts page readable on phones
|
2026-10-09 12:14:48 +00:00 |
|
Matthew Meszaros
|
fa6797e12b
|
feat: make the Accounts page readable on phones with container-sized mailbox columns, a labelled warmup, inbox and health line under each address, touch-sized row actions, one-row search and filter, banners that stack their buttons under the copy, and tighter mobile stat tiles
|
2026-10-09 13:44:39 +02: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 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 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
|
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 |
|
Devin AI
|
4cad34c84a
|
feat: retain signup attribution through same-path marketing query navigation and reject cross-origin landing paths
|
2026-10-09 07:36:25 +00:00 |
|
Devin AI
|
5d641b3ebe
|
feat: cover nested onboarding acquisition redirects through the parent route guard in frontend regressions
|
2026-10-09 07:20:04 +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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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 Meszaros
|
af371bbe1b
|
feat: persist user and workspace scoped browsing filters, searches, sorting and resource history views across forms, templates, automations, audit, integrations, API keys and settings while preserving URL intent and transient editor state
|
2026-10-08 07:37:36 +00:00 |
|
Matthew Meszaros
|
efb092fbfe
|
feat: persist workspace-scoped mailbox domain analytics deliverability placement and import browsing controls with strict schemas and resource navigation restoration regressions
|
2026-10-08 07:37:36 +00:00 |
|
Matthew Meszaros
|
f3f4e8cafd
|
feat: persist user and workspace scoped inbox filters search sort and nested browsing controls while recomposing URL scopes tag membership and relative dates across refreshes
|
2026-10-08 07:37:36 +00:00 |
|
Matthew Meszaros
|
097c56c2aa
|
feat: persist CRM task filters and views, independent deal board and table browsing choices, and meeting searches with workspace-safe pipeline fallback and remount regression coverage
|
2026-10-08 07:37:36 +00:00 |
|
Matthew Meszaros
|
f7757a03c7
|
feat: persist user and workspace scoped contacts and campaign browsing filters, resource-specific activity and import views, contact drawer tabs and analytics periods while preserving URL intent, saved sorting and intentional resets with regression coverage
|
2026-10-08 07:37:36 +00:00 |
|
 Matthew MeszarosandDevin AI
|
acc3d62ba3
|
feat: add validated browser-tab browsing preferences scoped to the signed-in user and workspace, restore destination filters before rendering, preserve explicit navigation intent, and clear saved browsing state on logout or session expiry
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
|
2026-10-08 07:17:34 +00:00 |
|
 Matthew MeszarosandDevin AI
|
c7144c1502
|
feat: restore the destination workspace mailbox tag filter before saving route state when switching organizations, preserve other query parameters, and cover the mounted Accounts transition without clearing either workspace selection
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
|
2026-10-08 07:06:25 +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 |
|