Commit Graph
1019 Commits
Author SHA1 Message Date
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 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
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 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
Matthew MeszarosandDevin AI 765fa46efd feat: authorize relay-rewritten warmup receipts with recipient-bound send proof and serialize token engagement
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-08 04:08:09 +00:00
Matthew MeszarosandDevin AI fda0743eae feat: clean application header with route-aware breadcrumbs and responsive workspace navigation
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-07 18:07:18 +00:00
Devin AI a9cee620b5 feat: retain current main URL-backed mailbox tag filters and atomic campaign template subject and body updates alongside diagnostic participation documentation 2026-10-07 16:34:24 +00:00
Matthew Meszaros 706beca2f7 feat: integrate workspace-scoped Cloud ownership with durable consent restrictive standing and send safety while preserving legacy enrollments and renumbering unreleased upgrade migrations 2026-10-07 16:32:30 +00:00
Matthew Meszaros 8b72f1f6e0 Merge pull request #872 from warmbly/devin/1791388041-mailbox-filter-template-subject
feat: retain mailbox filters and template subjects in new campaigns
2026-10-07 16:06:17 +00:00
Matthew MeszarosandDevin AI 72b3620ea0 feat: retain mailbox tag filters on refresh and compose campaign wizard template subject and body updates against the latest draft
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-07 15:55:51 +00:00
Devin AI b1198cde97 feat: preserve known warmup history and conservative campaign execution projections and mailbox explanations on missing feedback with reply-backed ramp regressions 2026-10-07 15:37:33 +00:00
Matthew Meszaros bdc94e5465 feat: verify recipient filing never incurs tampering strikes and document all twelve deliverability controls with explicit external validation gates 2026-10-07 15:24:40 +00:00
Devin AI d090b8e021 feat: complete native and Cloud diagnostic consent immutable shared provider attempt accounting authorized bounded IMAP timing retries conservative feedback pacing and released-schema correction fixtures 2026-10-07 15:12:45 +00:00
Devin AI 8a45508e79 feat: enforce shared outbound capacity and directional diagnostic consent across campaign manual warmup and seed dispatch with transactional result outbox bounded Gmail Graph DKIM audited repair holds and legacy upgrade gates 2026-10-07 14:02:11 +00:00
Matthew MeszarosandDevin AI 2926f888c2 feat: allow unlimited self-hosted workspaces and bind Cloud billing access to individual workspace links while preserving legacy enrollments
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-07 13:49:42 +00:00
Devin AI 8e53fc7027 feat: integrate warmup observation evidence canonical diagnostics send-result recovery cloud trust exact-parent lineage durable dispatch portability and legacy compatibility 2026-10-07 12:38:58 +00:00