Commit Graph
1284 Commits
Author SHA1 Message Date
Matthew Meszaros b2a89f8ce4 feat: stamp cloud_link_mailboxes.settings_observed_at before mirroring Warmbly Cloud warmup settings so an older report cannot overwrite a newer one, give each cloud link its own deadline in the settings sync, keep drawer edits made during a save or reverted to the stored value, and correct the cloud_warmup_not_applied docs 2026-10-19 11:48:47 +02:00
geetansh 4f926b3efc feat: make Warmbly Cloud the owner of an enrolled mailbox's warmup ramp, window and days by relaying PATCH /emails/:id and warmup lifecycle edits to Cloud, mirroring Cloud's reported settings into the local columns on enroll, listing and a 15-minute consumer sync, keeping re-enrollment from overwriting them, and showing the Cloud-managed state on the Warmup tab 2026-10-19 10:53:05 +02:00
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 f334207ccd feat: serve the dashboard's /reauth/complete popup landing on Pages so a Google, Apple or SSO re-authentication window can report back instead of 404ing 2026-10-15 15:28:15 +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