geetansh
|
aafcb4f759
|
feat: treat a missing Warmbly Cloud report as a send hold only, never a rest, while every real hold still applies in full and the send gate stays closed until a current report arrives
|
2026-10-18 10:13:00 +00:00 |
|
 Matthew MeszarosandDevin AI
|
0ba1acf583
|
feat: keep identity confirmation above pending admin grant removal and cover secure retry and cancellation
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
|
2026-10-17 16:48:52 +00:00 |
|
Matthew Meszaros
|
ae9eca5c7e
|
feat: cut database load from issue 993 with placement, sweep and unibox indexes, redundant index drops, identical-result rewrites of contact facets, dashboard stats, campaign progress, advisor bounces and routing pre-filter, bounded delivery evidence, cold-ramp skip, held advisor sections, ANALYZE after restore and hidden-tab realtime deferral
|
2026-10-17 05:18:45 +02:00 |
|
devin-ai-integration[bot]
|
10cdecefd7
|
Merge pull request #991 from warmbly/devin/1792134927-linked-mailbox-status
feat: keep cold rests visible and explain repeated mailbox connection reports
|
2026-10-16 08:24:03 +00:00 |
|
devin-ai-integration[bot]
|
4890945ea1
|
Merge pull request #990 from warmbly/devin/1792133264-contacts-empty-campaign-steps
feat: prevent the contact activity drawer from crashing for campaigns without steps
|
2026-10-16 08:24:02 +00:00 |
|
devin-ai-integration[bot]
|
3d7372142a
|
Merge pull request #986 from warmbly/fix/unibox-forward-suppression
feat: let Unibox forwards reach suppressed recipients and name the suppressed address on every refusal
|
2026-10-16 07:51:58 +00:00 |
|
Devin AI
|
776ec6dcc7
|
feat: label stored mailbox error report times without claiming all error categories refresh their latest observation
|
2026-10-16 07:35:57 +00:00 |
|
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
|
0004215fbe
|
feat: clarify reply webhook identifiers and verdict presence and label confidence conditions with their selected operator
|
2026-10-16 07:30:11 +00:00 |
|
Devin AI
|
b7a564eac9
|
feat: keep contact campaign activity usable when a campaign has no flow steps and return empty step arrays
|
2026-10-16 06:52:47 +00:00 |
|
Matthew Meszaros
|
de4328b4cf
|
feat: let Unibox forwards reach suppressed recipients by exempting forward tasks from the send-admission suppression check, refuse suppressed replies and direct sends before queueing with a recipient_suppressed 400 naming the address and matching entry, report admission refusals as RECIPIENT_SUPPRESSED with the address, show the server reason in the reply composer, and document it
|
2026-10-16 06:56:52 +02:00 |
|
Matthew Meszaros
|
8b9c9b3b70
|
feat: carry the stored inbox-tagging verdict (ai_labels, ai_intent, ai_intent_confidence, ai_kind, ai_relevance, ai_needs_review) on campaign.reply_received, offer it in the automation condition picker, match list fields by whole item in contains conditions and the new has/join template helpers, and title Slack and Discord reply messages with the tagging labels
|
2026-10-16 06:56:45 +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
|
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 |
|
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
|
ca0bc79f3c
|
feat: reuse dashboard paginated lists across unchanged renders without altering fetch lifecycle
|
2026-10-14 03:35:28 +00:00 |
|
 Matthew MeszarosandDevin AI
|
a9eab7857a
|
feat: defer single and bulk mailbox disconnect until Cloud ownership is confirmed and cover loading failures
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
|
2026-10-13 13:21:55 +00:00 |
|
 Matthew MeszarosandDevin AI
|
d0571aa5a3
|
feat: stop Cloud warmup sending and receiving before individually removing managed mailbox links while preserving instance disconnect behavior
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
|
2026-10-13 12:56:11 +00:00 |
|
 Matthew MeszarosandDevin AI
|
a951e767e5
|
feat: preserve explicit receive-only reply restrictions while testing restored Cloud warmup action disclosures
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
|
2026-10-12 06:46:49 +00:00 |
|
 Matthew MeszarosandDevin AI
|
e0640539bb
|
feat: restore provider-supported warmup engagement for receiving-authorized existing mailboxes with consent rechecks and rollout disclosures
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
|
2026-10-12 06:41:29 +00:00 |
|
Matthew Meszaros
|
f9a9163891
|
feat: record Apollo import outcomes with an uncancellable context, bound recurring runs and release interrupted ones so they rerun and sync on schedule, send the saved Clay auth token only to the connection's own table webhook, use typed routes for the Apollo, Clay and Salesforce page links, and document Clay HTTP API column retries
|
2026-10-11 12:59:05 +02:00 |
|
Matthew Meszaros
|
19d8d24fac
|
feat: add Apollo integration (API key connect, list imports with hourly sync, contact enrichment) and two-way Clay integration (inbound row URL creating contacts, outbound event rows, automation action) with dashboard pages, brand logos, Discover ranking, org transfer registration and docs
|
2026-10-11 12:41:56 +02:00 |
|
Matthew Meszaros
|
3ba5913569
|
feat: add a skippable chaptered dashboard product tour narrated by Remie with sample-data scenes, plan comparison and selection (hosted links and Warmbly Cloud on self-host), saved per account via PUT /auth/me/product-tour
|
2026-10-10 18:52:21 +02:00 |
|
Devin AI
|
4851492d0f
|
feat: complete restricted member security integration with mailbox sharing warning scoped API and realtime documentation and explicit PostgreSQL regression CI coverage
|
2026-10-10 11:00:55 +00:00 |
|
Matthew Meszaros
|
b75d1a6dd8
|
feat: make inbox email previews fit the reading pane with a single scrollbar and width-aware conversation actions
|
2026-10-10 06:39:38 +00: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
|
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 |
|