Matthew Meszaros and Devin 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 Meszaros and Devin 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 Meszaros and Devin 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 Meszaros and Devin 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 Meszaros and Devin 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 Meszaros and Devin 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 Meszaros and Devin 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
Matthew Meszaros and Devin AI
3acfe64109
feat: preserve self-host upgrades with exact realtime CSP discovery, consumer migration readiness and backend-compatible fleet targets
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-07 06:53:14 +00:00
Matthew Meszaros
a92e40b4d1
feat: show Cloud warmup analytics and placement alongside local history on linked self-hosted instances with scoped report APIs
2026-10-07 06:12:04 +00:00
Matthew Meszaros
d2a8e0830d
Merge pull request #856 from warmbly/devin/1791293357-main-security-fixes
...
feat: patch vulnerable frontend dependencies across all production workspaces
2026-10-06 14:00:43 +00:00
Matthew Meszaros
cfa948602d
Merge pull request #855 from warmbly/devin/1791292066-filter-report-notifications
...
feat: filter system reports from reply notifications and default the bell to unread
2026-10-06 14:00:00 +00:00
Matthew Meszaros and Devin AI
63bb192a40
feat: patch vulnerable production frontend dependencies across dashboard admin site docs and forms and preserve site cursor type narrowing
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-06 13:38:12 +00:00
Matthew Meszaros and Devin AI
25514e13f6
feat: align reply notifications and queued delivery with Unibox machine-mail filtering and open the bell on unread
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-06 13:21:14 +00:00
Matthew Meszaros
e6b0b4dbd3
Merge pull request #854 from warmbly/feat/flow-builder-redesign
...
feat: rebuild the automation and campaign step builders as a self-laying, animated design-tool canvas with + insertion, branch columns, a step picker and side-panel editing
2026-10-06 13:04:46 +00:00
Matthew Meszaros
01e56b06cb
feat: make new campaign conditions drafts until saved, keep one Otherwise per step, carry switch case paths through renames by row, bridge deleted steps only through their main path, lock flow panels for viewers, and harden canvas pointer and Space input
2026-10-06 05:59:27 -07:00
Matthew Meszaros
69f2fef943
feat: move the flow canvas zoom controls to the bottom left, clear of the assistant launcher, in the app and the site mocks
2026-10-06 05:29:09 -07:00
Matthew Meszaros
705651e01a
Merge remote-tracking branch 'origin/main' into feat/flow-builder-redesign
...
# Conflicts:
# web/src/app/app/campaigns/[id]/steps/page.tsx
2026-10-06 05:24:33 -07:00
Matthew Meszaros and Devin AI
416c4feee3
feat: prevent private API response storage and remove wildcard CORS from the static Pages dashboard
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-06 12:05:54 +00:00
Matthew Meszaros
62674fdcc9
feat: animate flow edits so cards glide to their new places, new steps fade and grow in, removed ones fade out, lines morph between straight and branched, and pills, waits and add buttons travel with their lines, skipping animation on first paint
2026-10-06 03:32:47 -07:00
Matthew Meszaros
1bbc88b250
feat: make the flow builders a full-height design-tool canvas with two-finger and drag panning with momentum, pinch and Ctrl or Cmd wheel zoom toward the pointer, a moving dot grid, no scrollbars, fenced bounds, zoom shortcuts, and a campaign canvas that fills the window
2026-10-06 03:24:49 -07:00
Matthew Meszaros
26b0333d87
feat: draw the flow builders as a plain scrolling page instead of a pan and zoom canvas, scroll a step into view only when needed, fade the panel and picker in, keep the campaign flow growing with the page beside a sticky panel, move stop on reply into a toolbar row, and drop React Flow and dagre
2026-10-06 02:07:47 -07:00
Matthew Meszaros
2d76c535c8
feat: quiet the flow canvas with two-line cards, a + that shows on hover, waits as plain text beside the line, pill-wide columns, an amber dot for steps needing setup and faded unconnected steps
2026-10-06 01:47:29 -07:00
Matthew Meszaros and Devin AI
925e0edc31
feat: proxy dashboard and editor image previews with SSRF-safe bounded fetching while preserving original customer email URLs
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-06 07:28:25 +00:00
Matthew Meszaros and Devin AI
0f12b3b250
feat: preserve static CSP preview and runtime configuration cache rules with current main
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-06 06:05:17 +00:00
Matthew Meszaros and Devin AI
34fbbc3c54
feat: apply per-response development nonces after Vite finishes rendering HTML
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-06 05:57:08 +00:00
Matthew Meszaros and Devin AI
589bc823ed
feat: generate static dashboard CSP hashes and isolate email preview styling across Vite nginx and Pages
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-06 05:46:52 +00:00
Matthew Meszaros
91e031a41c
feat: confirm discarding unsaved step edits outside the selection state updater, and mint campaign branch ids with the plain-HTTP-safe fallback
2026-10-05 22:20:56 -07:00
Matthew Meszaros
aa63ed9a4f
feat: redraw the site's campaign builder mock, campaigns page builder and hero fragments as the self-laying tree canvas with wait chips, column pills and End terminals, and drop dot and drag wording from the switch step editor
2026-10-05 22:19:23 -07:00
Matthew Meszaros
8d8135c30c
feat: document the self-laying campaign and automation canvases in the sequences, campaigns, collaboration and realtime guides, correct the step position and empty-branch model comments, and add a campaign steps proof flow
2026-10-05 22:13:44 -07:00
Matthew Meszaros
d25055c122
feat: rebuild the campaign step builder on the shared tree canvas with conditions as columns, waits on the lines, a step picker, path and step side panels with unsaved-change guards, reconnect-on-delete, and switch cases that keep their paths through a rename
2026-10-05 22:10:23 -07:00
Matthew Meszaros
b553c61db1
feat: drop the automation canvas layout hook and client now that the builder derives positions from the flow's structure
2026-10-05 21:57:32 -07:00
Matthew Meszaros
63ae572345
feat: keep the connector + button under the pointer on hover, open the step picker beside the cards, top-anchor the first view, and update the automation docs, the site's builder demo and branching copy, and a proof flow for the tree builder
2026-10-05 21:56:30 -07:00
Matthew Meszaros and Devin AI
bb0b822cb0
feat: reject unsupported request text and secure local dashboard responses
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-06 04:45:36 +00:00
Matthew Meszaros
42205a6ade
feat: rebuild the automation builder as an auto-laid-out tree with + insertion, branch columns, a step picker, undo/redo, inline issues and a side panel on a shared flow canvas
2026-10-05 21:41:40 -07:00
Matthew Meszaros
c1606851d8
Merge pull request #845 from warmbly/devin/1791212676-structured-sender-variables
...
feat: add native Sender mailbox personalization to campaign emails
2026-10-05 16:37:09 +00:00
Matthew Meszaros and Devin AI
9d0f43780b
feat: provision onboarding-complete reviewer workspaces with expiring Test access, bounded credits and Test header labels
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-05 16:15:56 +00:00
Matthew Meszaros and Devin AI
d807aa2852
feat: expose typed sender mailbox details in campaign templates, previews and email editor variables
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-05 15:15:12 +00:00
Matthew Meszaros
e19c55ebd6
feat: match the text/html media type case-insensitively in the dashboard client's web-page guard and cover a mixed-case Content-Type in Client.test.ts
2026-10-05 17:14:41 +02:00
Matthew Meszaros
0731a8c788
feat: refuse an HTML page as an API response in the dashboard client (api_url_not_api) so a missing or wrong API_URL falls back to the unreachable login state instead of crashing, and serve config.js with Cache-Control no-store from the dashboard and admin Pages _headers to match the nginx images
2026-10-05 17:04:05 +02:00