Commit Graph
613 Commits
Author SHA1 Message Date
Matthew Meszaros 6ca3d2e924 feat: add changelog landing showcase
Introduce a compact changelog section to highlight recent platform updates after the product feature tour.
2026-06-06 11:55:31 +02:00
Matthew Meszaros ef2ba2af28 feat: add crm pipeline landing mock
Show how positive replies become pipeline deals with stages, owners, notes, and tasks.
2026-06-06 11:55:28 +02:00
Matthew Meszaros 5cd4e0cad2 feat: add developer api landing mock
Add the API keys and webhook mock that supports the developer-focused landing section.
2026-06-06 11:55:23 +02:00
Matthew Meszaros 2c32940ee3 feat: add integrations landing mock
Show provider connections, signed webhook configuration, and encrypted-token positioning for the integrations section.
2026-06-06 11:55:19 +02:00
Matthew Meszaros 77fa10a3dd feat: add ai assistant landing mock
Add the writing assistant screen that demonstrates prompt-driven email drafting and tone controls.
2026-06-06 11:55:15 +02:00
Matthew Meszaros 9d4cf33880 feat: add analytics landing mock
Show deliverability metrics, campaign ranking, and account health in a product-style analytics screen.
2026-06-06 11:55:10 +02:00
Matthew Meszaros c66c0a4856 feat: add unified inbox landing mock
Present the reply triage workflow with mailbox filters, message classification, and an inline reply pane.
2026-06-06 11:55:07 +02:00
Matthew Meszaros 26abb6e17c feat: add campaign schedule landing mock
Add a weekly sending-window editor mock with preset controls, timezone details, and drag-to-create animation hooks.
2026-06-06 11:55:01 +02:00
Matthew Meszaros 7badea0a1b feat: add campaign builder landing mock
Show the sequence builder canvas with branching, step controls, and an email composer for the campaign feature section.
2026-06-06 11:54:58 +02:00
Matthew Meszaros 417db48b14 feat: add reusable feature showcase section
Introduce the framed product-window section used to present each landing-page feature with consistent copy, callouts, and scaling.
2026-06-06 11:54:53 +02:00
Matthew Meszaros 5a0e42620b feat: allow sequence mock step limits
Let the sequence mock render a compact subset of steps for smaller landing-page showcase contexts.
2026-06-06 11:54:48 +02:00
Matthew Meszaros 098c65377c feat: normalize dashboard mock copy punctuation
Align the existing dashboard mock comments with the site copy guidance before adding the new landing sections.
2026-06-06 11:54:43 +02:00
Matthew Meszaros c3489b3bee feat: widen site content containers
Give landing sections a shared wider content measure so the new feature showcase aligns with the header, hero, and footer.
2026-06-06 11:54:39 +02:00
Matthew Meszaros 82f3677a94 feat: add site copy style guidance
Document the house rule for avoiding overused em dashes in user-facing site and web copy.
2026-06-06 11:54:34 +02:00
Matthew Meszaros 6abb26192b Merge pull request #27 from warmbly/feature/campaign-experience-2
feat: campaign experience overhaul
2026-06-06 09:01:38 +02:00
Matthew Meszaros 8bc85efe07 feat: authenticate protoc setup in ci
Pass the GitHub token to arduino/setup-protoc so Go CI avoids unauthenticated GitHub API rate limits.
2026-06-06 08:39:42 +02:00
Matthew Meszaros 3f6935a3bb feat: polish live activity indicators
Add distinct live activity indicators for warming mailboxes, animate dashboard counters, and tighten lead progress labels.
2026-06-06 08:34:47 +02:00
Matthew Meszaros 10ffc2ad67 feat: mark live campaign analytics
Show a live indicator beside campaign performance metrics while a campaign is actively sending.
2026-06-06 07:53:15 +02:00
Matthew Meszaros a4801de99a feat: animate campaign overview stats
Use the animated number primitive for live campaign overview counters and rates.
2026-06-06 07:52:43 +02:00
Matthew Meszaros b047c30243 feat: allow rich stat values
Let shared stat cards render React nodes so dashboard counters can use richer animated or formatted values.
2026-06-06 07:52:10 +02:00
Matthew Meszaros 8d42dabff3 feat: add animated number primitive
Add a reusable realtime-friendly count-up number component for dashboard stats.
2026-06-06 07:51:18 +02:00
Matthew Meszaros 8b93230c19 feat: document data modeling guidance
Add repository guidance for typed columns versus jsonb configuration blobs and track the schema placeholder.
2026-06-06 07:50:46 +02:00
Matthew Meszaros cd1b503575 feat: add personalization guide
Document merge variables, custom fields, and conditional template syntax in the public Learn section.
2026-06-06 07:50:32 +02:00
Matthew Meszaros aa4f43b284 feat: wire settings profile updates
Persist profile and workspace setting edits, show live billing usage, and remove the unused bulk email API helper.
2026-06-06 07:50:26 +02:00
Matthew Meszaros ce8181de0e feat: show campaign lead progress
Surface per-lead campaign progress in the embedded Leads table with status pills, current step, activity dates, and a compact progress strip.
2026-06-06 07:50:18 +02:00
Matthew Meszaros ac7aa9de87 feat: polish campaign launch and folders
Add the launch dialog, campaign folder controls, completed status filtering, folder chips, and shared UI affordances for campaign organization.
2026-06-06 07:50:10 +02:00
Matthew Meszaros 8a0683e9de feat: add campaign sequence action editor
Add action nodes to the campaign flow canvas, richer personalization insertion, conditional previews, and the shared activity indicator styling.
2026-06-06 07:50:00 +02:00
Matthew Meszaros da82993846 feat: add campaign workflow backend support
Add sequence action-node storage and execution, template conditional rendering, lead progress state, profile updates, webhook fan-out throttling, and supporting repository fixes.
2026-06-06 07:49:52 +02:00
Matthew Meszaros 21edf45dbd feat: flatten analytics share card
Remove decorative cloud layers and shadows from the shared analytics image card so generated previews stay flat and artifact-free.
2026-06-05 16:44:32 +02:00
Matthew Meszaros 1663065b56 feat: fix analytics share image edge
Pin analytics share exports to the card dimensions and avoid white fallback pixels along the generated image edge.
2026-06-05 16:36:34 +02:00
Matthew Meszaros 49f1b28bd1 feat: add campaign lead order api
Wire campaign lead ordering through handlers, service methods, and campaign routes.
2026-06-05 15:44:26 +02:00
Matthew Meszaros b0ac1d2435 feat: add campaign lead import actions
Allow campaign lead views to create or import contacts directly into the current campaign.
2026-06-05 15:43:37 +02:00
Matthew Meszaros 021a81b73d feat: polish campaign settings controls
Refresh campaign ordering, ramp, lead-flow, CC/BCC, and ESP matching settings with shared controls, clearer labels, and a more accurate provider coverage view.
2026-06-05 15:42:48 +02:00
Matthew Meszaros 293842c842 feat: expose campaign lead order service contract
Add campaign service method declarations for listing and replacing manual campaign lead order.
2026-06-05 15:42:40 +02:00
Matthew Meszaros c4c27fcc19 feat: add campaign lead ordering backend
Add campaign lead ordering repository methods for manual send order and tighten strict ESP matching so SMTP/IMAP is only a fallback outside strict mode.
2026-06-05 15:42:12 +02:00
Matthew Meszaros 3987e4db64 feat: polish campaign flow interactions
Render branch conditions as explicit IF blocks, improve flow layout and connected-component handling, add touch-safe schedule window creation, and animate flow node layout changes.
2026-06-05 14:36:26 +02:00
Matthew Meszaros 2b758113d6 feat: redesign campaign preferences
Replace tabbed campaign settings with a scrollspy settings page, add a unified tag and mailbox sender picker, and show ESP matching coverage for the resolved sender pool.
2026-06-05 14:36:12 +02:00
Matthew Meszaros 77de336d78 feat: unify campaign sender pools
Resolve campaign senders as the union of explicit accounts and tag-selected mailboxes, with all active mailboxes as the empty-selection fallback. Update readiness checks, active-campaign counts, and rotation cursor handling for the unified pool.
2026-06-05 14:35:52 +02:00
Matthew Meszaros 929a779ae5 feat: simplify campaign flow editor
Move sequence editing fully into the explicit flow canvas, support negative branch conditions and connection waits, and remove the obsolete rail and standalone branch panel components.
2026-06-05 09:11:24 +02:00
Matthew Meszaros 0e26b9cd00 feat: refine campaign branch scheduling
Evaluate branch conditions relative to the previous send, defer while windows are still undecided, and let the routed pair finder handle deleted targets and loops at schedule time.
2026-06-05 09:10:57 +02:00
Matthew Meszaros 9ad3d8de53 feat: add campaign step configuration panels
Add reusable step panels for branch editing, per-step A/B variants, and per-step file attachments backed by the new sequence APIs.
2026-06-05 06:04:35 +02:00
Matthew Meszaros e4cd88d491 feat: upgrade campaign step composer
Replace the legacy email body editor with the rich step composer, add preview/template controls, expose AI writing in campaigns and unibox replies, and close confirms after successful actions.
2026-06-05 06:04:31 +02:00
Matthew Meszaros b9d83f1b2c feat: add campaign flow canvas
Replace the sequence step list with a React Flow canvas for branching outreach flows, including auto-layout, edge editing, and inline step editing.
2026-06-05 06:04:14 +02:00
Matthew Meszaros 161d668a8f feat: add campaign sequence api clients
Add frontend models, clients, and React Query hooks for step A/B variants, attachments, branching conditions, and AI writing generation.
2026-06-05 06:04:00 +02:00
Matthew Meszaros e92ec7c661 feat: add ai writing credit backend
Add an organization credit ledger with idempotent consumption, plan credit grants, Anthropic/OpenAI writing providers, and a gated generation endpoint for campaign writing assistance.
2026-06-05 06:03:32 +02:00
Matthew Meszaros b701e4efab feat: send campaign email attachments
Carry attachment references inside the stored email body blob, resolve bytes on workers, and encode attachments for Gmail API and SMTP sends without changing the Kafka send-email contract.
2026-06-05 06:03:21 +02:00
Matthew Meszaros 3c440a9f0c feat: add campaign attachment endpoints
Persist campaign attachment metadata, enforce attachment storage quotas, and expose list, upload, and delete routes backed by object storage.
2026-06-05 06:03:13 +02:00
Matthew Meszaros 630e69037a feat: add per-step campaign ab variants
Scope campaign A/B variants to individual sequence steps and select step variants deterministically per contact and step. Keep campaign-level variants on the existing assignment flow.
2026-06-05 06:03:00 +02:00
Matthew Meszaros 2a2e248ad9 feat: add campaign sequence branching backend
Store per-step branching conditions, validate branch targets, and select campaign contact steps by following the flow graph. Preserve linear progression for steps without branch conditions.
2026-06-05 06:02:55 +02:00
Matthew Meszaros 7c518a5722 feat: clean up campaign rich text editor
Remove the stale lint suppression from the TipTap editor now that the hook dependencies are valid.
2026-06-04 18:58:05 +02:00