Commit Graph
1237 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 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
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
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 26a74fa207 feat: align Cloud diagnostic participation regression fixtures with workspace-scoped pool enrollment and verify preserved legacy enrollment controls in the full web suite 2026-10-07 16:38:59 +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 Meszaros 8aacf13bd8 Merge pull request #868 from warmbly/devin/1791378965-workspace-cloud-billing
feat: allow unlimited self-hosted workspaces with workspace-scoped Cloud subscriptions
2026-10-07 16:06:07 +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
Matthew MeszarosandDevin AI d93cf3c138 feat: preserve isolated email preview headers on the canonical Cloudflare Pages path while retaining dashboard frame protection
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-07 15:47:00 +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
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
Matthew Meszaros 1ac3ac5f35 feat: rewrite dashboard SPA routes to / instead of /index.html in web/public/_redirects so Cloudflare Pages serves the app shell for deep links while 404.html answers missing assets, and make check-pages-routing require the / target 2026-10-07 10:54:34 +02:00
Matthew Meszaros 2a6f88837b Merge pull request #862 from warmbly/devin/1791355411-self-host-upgrade-compatibility
feat: preserve self-host realtime and database compatibility during upgrades
2026-10-07 08:00:28 +00:00
Matthew Meszaros a6810f6ebe Merge pull request #864 from warmbly/devin/1791358068-campaign-name-priority
feat: prioritize campaign names over descriptions in campaign and analytics lists
2026-10-07 07:53:35 +00:00
Matthew MeszarosandDevin AI b8303060dc feat: integrate current main with a single consumer schema and relation visibility guard while preserving migration cancellation diagnostics and regression coverage
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-07 07:49:50 +00:00
Matthew Meszaros bbd0d9f785 Merge pull request #863 from warmbly/devin/1791356256-posthog-root-causes
feat: fix PostHog root causes in API validation, Gmail recovery and frontend asset delivery
2026-10-07 07:35:04 +00:00
Matthew MeszarosandDevin AI efd2bb26b4 feat: prioritize campaign names over descriptions and use available list width while keeping actions accessible
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-07 07:30:19 +00:00
Matthew MeszarosandDevin AI dfed1e1593 feat: validate API UUIDs, recover expired Gmail history and guard consumer startup and stale frontend assets
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-07 07:19:15 +00:00