Commit Graph
3359 Commits
Author SHA1 Message Date
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 e05c22a761 feat: sync the site's automation and campaign builder mocks and campaigns page to the two-line cards, quiet lines, dot-grid canvas and toolbar row, and document canvas navigation 2026-10-06 05:23:57 -07: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 3e627e3894 Merge pull request #851 from warmbly/devin/1791277779-test-workspace-sample-data
feat: add safe sample data provisioning for Test workspaces
v0.6.32
2026-10-06 09:40:26 +00:00
Matthew MeszarosandDevin AI 4bc92ba125 feat: use unversioned admin API paths in the Test workspace sample-data proof flow
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-06 09:31:09 +00:00
Matthew MeszarosandDevin AI f52ef240b4 feat: add audited repeat-safe sample data provisioning for active dedicated Test workspaces in Admin Testers
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-06 09:23:31 +00: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 302f874846 Merge pull request #850 from warmbly/devin/war-19-harden-dashboard-response-headers-and-request-input-handling
Reject unsupported request text and restrict dashboard resources with display-only image previews
v0.6.31
2026-10-06 08:34:00 +00:00
Matthew MeszarosandDevin 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 MeszarosandDevin 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 MeszarosandDevin 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 MeszarosandDevin 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 MeszarosandDevin 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
v0.6.30
2026-10-05 16:37:09 +00:00
Matthew Meszaros db8efd04d7 Merge pull request #846 from warmbly/devin/1791216084-ready-test-workspaces
feat: provision ready-to-use Test workspaces for reviewer accounts
2026-10-05 16:35:33 +00:00
Matthew MeszarosandDevin 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 d0a33f74b3 Merge pull request #844 from warmbly/fix/dashboard-config-no-cache
fix: dashboard survives a misconfigured API_URL, config.js is never cached on Pages
2026-10-05 15:22:57 +00:00
Matthew MeszarosandDevin 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
Matthew Meszaros fc18d8c186 Merge pull request #842 from warmbly/devin/1791201936-google-oauth-frontend-flag
feat: configure Google mailbox OAuth and trusted multi-dashboard returns
v0.6.29
2026-10-05 13:31:17 +00:00
Matthew MeszarosandDevin AI d6c8d9e54c feat: document trusted dashboard origin refusals for Google and Microsoft mailbox OAuth under HTTP 400 errors
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-05 12:58:22 +00:00
Matthew MeszarosandDevin AI 849cf18f55 feat: bind password recovery, invitations, mailbox and integration OAuth, referral and billing returns to trusted initiating dashboards
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-05 12:51:37 +00:00
Matthew Meszaros b2bde4ed92 Merge pull request #840 from warmbly/devin/1791198671-admin-health-notices
feat: correct admin setup and health notices and add safe invitation cleanup
2026-10-05 12:35:00 +00:00
Matthew Meszaros 940baf3ebf Merge pull request #841 from warmbly/devin/1791198887-fleet-telemetry
feat: report accurate fleet resources, public IPv4 and workload shares
2026-10-05 12:34:44 +00:00
Matthew MeszarosandDevin AI caa1633dac feat: verify main and TAC assessment dashboard origins share configurable backend CORS and OAuth routing
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-05 12:24:11 +00:00
Matthew MeszarosandDevin AI 6a5d76004a feat: cover Google reauthorization origin rejection and unchanged Microsoft routing with clearer error documentation
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-05 12:20:28 +00:00
Matthew MeszarosandDevin AI f58a6c1ff9 feat: control Gmail mailbox OAuth per frontend deployment and bind callbacks to allowlisted dashboard origins
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-05 12:16:34 +00:00
Matthew MeszarosandDevin AI 1748ae3765 feat: preserve localhost fleet admin proof with isolated telemetry fixtures, resource-state and analytics assertions
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-05 12:11:35 +00:00
Matthew MeszarosandDevin AI f56278488f feat: keep worker farewell heartbeats independent of IP discovery and identify CPU-set resource scope accurately
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-05 11:43:16 +00:00
Matthew MeszarosandDevin AI 5ae09e0e15 feat: separate fleet mailbox targets from measured CPU and RAM, report node public egress IPv4 and add workload share analytics
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-05 11:24:32 +00:00
Matthew MeszarosandDevin AI ded4e5f700 feat: correct split-host admin health checks and registration notices, distinguish informational context from problems, and add audited expired-invitation cleanup
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-05 11:17:13 +00:00
Matthew Meszaros 4e59bfd4d5 Merge pull request #839 from warmbly/feature/admin-redesign
feat: redesign the admin panel in a black and white dark-first theme with grouped sidebar sections, header tabs, a collapsible animated sidebar and a rebuilt sign-in, alert operators on admin sign-ins and admin access changes through opsnotify, and carry first-touch attribution from the marketing site to every dashboard link
v0.6.28
2026-10-05 10:26:14 +00:00
Matthew Meszaros 1de33d9f41 feat: guard configuration tab links against losing unsaved edits, keep the login captcha mounted for resend, confirm warmup appeal decisions by mailbox, show header tabs only on section pages, show the update pill in the mobile drawer, make admin sign-in alerts opt-in per channel, check the admin bit before loading the account, and alert on admin access only when it changes 2026-10-05 03:21:44 -07:00
Matthew Meszaros d6533a4aa5 Merge pull request #838 from warmbly/devin/1791190573-release-pages-dashboard
feat: deploy configured Cloudflare Pages projects only after stable releases
2026-10-05 10:01:26 +00:00
Matthew Meszaros e506544119 Merge origin/main into feature/admin-redesign 2026-10-05 03:01:22 -07:00
Matthew Meszaros 8910b02198 feat: redesign the admin panel in a black and white dark-first theme with grouped sidebar sections, header tabs, a collapsible animated sidebar and a rebuilt sign-in, alert operators on admin sign-ins and admin access changes through opsnotify, and carry first-touch attribution from the marketing site to every dashboard link 2026-10-05 03:01:22 -07:00
Matthew Meszaros 549a0f7293 Merge pull request #833 from warmbly/devin/1791173929-safari-oauth-popups
fix: open OAuth sign-in windows inside the click so Safari stops blocking them, and keep listening when one is blocked
2026-10-05 10:00:02 +00:00
Matthew MeszarosandDevin AI a865db3386 feat: deploy configurable Cloudflare Pages project lists from exact releases with isolated dashboard, admin, site and docs builds
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-05 09:48:40 +00:00
Matthew MeszarosandDevin AI 94cd8b1692 feat: reuse Cloudflare Pages production configuration for exact-release dashboard builds and cover safe runtime imports in CI
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-05 09:14:37 +00:00