Commit Graph

  • 36bfaf2e71 Merge pull request #55 from warmbly/automation-realtime-editing Matthew Meszaros 2026-07-02 20:43:36 +02:00
  • 76d7e09c29 feat: document the cursor-chat permission gate and the live:select keep-alive and expiry semantics in the realtime API reference and the collaboration guide Matthew Meszaros 2026-07-02 20:33:44 +02:00
  • c311529576 feat: guard cursor chat against IME composition keys, keep a sent message lingering through an incidental blur, broadcast chat typed while the pointer is off the tracked surface, and close the input on page navigation Matthew Meszaros 2026-07-02 20:33:44 +02:00
  • 226e83683c feat: remount the automation and sequence canvases on param-only navigation and restrict jump-to-teammate to distinct in-app paths so a jump can never save one record's graph into another Matthew Meszaros 2026-07-02 20:33:44 +02:00
  • f804538ff5 feat: make canvas selections self-healing with a receiver-side TTL, a heartbeat that retries unsent deselects, and a clear frame for the old surface on in-place resource changes Matthew Meszaros 2026-07-02 20:33:44 +02:00
  • e190571696 feat: harden the live channel with an is_map payload guard, byte-bounded chat/id/resource strings, a per-surface permission gate that strips cursor-chat text, and a websocket max_frame_size cap Matthew Meszaros 2026-07-02 20:33:44 +02:00
  • 6d1944a19c feat: mention live selection outlines and the / cursor chat in the automation builder and sequence editor guides so the builder docs match the shared-canvas behavior Matthew Meszaros 2026-07-02 20:00:50 +02:00
  • 88cabf5cac feat: cap the live:select ids payload before traversal so an oversized selection list is never fully walked by the realtime channel Matthew Meszaros 2026-07-02 14:31:36 +02:00
  • b00e307d6a feat: document cursor chat, the live:select selection event, and jump-to-teammate in the realtime API reference and the collaboration guide Matthew Meszaros 2026-07-02 07:40:07 +02:00
  • 954759a6ce feat: make each teammate in the header presence dropdown clickable to jump straight to the page they are on Matthew Meszaros 2026-07-02 07:40:07 +02:00
  • 9f2b5d5586 feat: show each teammate's selected cards on the automation and sequence canvases as a name-tagged outline in their cursor color, with a selection heartbeat for late joiners and an unmount clear, plus cursor chat on both canvases Matthew Meszaros 2026-07-02 07:40:06 +02:00
  • b1e68b3048 feat: add cursor chat to every collaborative surface, press / to type a message that floats next to your live cursor for teammates, riding the existing cursor frames with Enter-to-send and a linger-then-fade Matthew Meszaros 2026-07-02 07:40:06 +02:00
  • 02b25724f4 feat: extend the ephemeral live channel with a sanitized chat field on live:cursor frames and a new live:select kind that broadcasts a capped node-id list for canvas selections Matthew Meszaros 2026-07-02 07:40:06 +02:00
  • 1086d1889d feat: document supported mailbox providers (Gmail/Google Workspace, Microsoft 365/Outlook, any SMTP+IMAP), the integrations catalog, and real-time collaboration in the README Matthew Meszaros 2026-07-01 06:51:36 +02:00
  • ffe823cfa8 feat: persist and surface per-mailbox SPF/DKIM/DMARC authentication state via an hourly observe-only consumer sweep, threaded through the mailbox list/detail API and documented in the deliverability guide and mailboxes API reference Matthew Meszaros 2026-07-01 02:32:23 +00:00
  • a104b1e220 feat: add warmup/abuse/cold-send deliverability research report with prioritized Now/Next/Later roadmap in resources/warmup-abuse-cold-research.md Matthew Meszaros 2026-07-01 02:11:57 +00:00
  • c21f170429 fix: ignore live:patch frames in useLivePatch when the subscriber has no resource yet, instead of receiving every org patch Matthew Meszaros 2026-06-30 19:20:08 +02:00
  • d87ada8b92 feat: document end-to-end live CRM collaboration (deal moves, task changes, pipeline edits, in-progress drag highlight) in the collaboration guide Matthew Meszaros 2026-06-30 19:18:55 +02:00
  • b85d2c8249 feat: refresh the deal board instantly when a teammate edits the pipeline's stages and show a live colored ring on a deal card while a teammate drags it Matthew Meszaros 2026-06-30 19:18:55 +02:00
  • 7f5cc010bb feat: broadcast CRM pipeline and stage edits over live:patch and refresh the pipelines view instantly for teammates Matthew Meszaros 2026-06-30 19:18:55 +02:00
  • a93868fc77 feat: broadcast CRM task create/update/delete over live:patch and refresh the tasks view instantly for teammates ahead of the audit refetch Matthew Meszaros 2026-06-30 19:18:55 +02:00
  • c1ad213dda feat: make useLivePatch send-only when given no onPatch so mutation hooks can broadcast a live:patch without opening a channel subscription Matthew Meszaros 2026-06-30 19:18:55 +02:00
  • 39e3accc4e Merge pull request #54 from warmbly/make-integration Matthew Meszaros 2026-06-30 17:36:56 +02:00
  • 49ffcec432 feat: document the live:patch event, cursor avatars, and live CRM deal-board moves in the realtime reference and collaboration guide Matthew Meszaros 2026-06-30 10:34:14 +02:00
  • 2e110814fc feat: make CRM deal-board stage moves land instantly for teammates on the same pipeline via a live:patch broadcast backed by the audit refetch Matthew Meszaros 2026-06-30 10:34:14 +02:00
  • cca4ea5817 feat: add a reusable useLivePatch hook over the live:patch transport for optimistic collaborative state updates scoped by resource Matthew Meszaros 2026-06-30 10:34:14 +02:00
  • 3ffd4416a2 feat: add a generic live:patch channel kind that fans out a small sanitized scalar map for ephemeral collaborative-state hints Matthew Meszaros 2026-06-30 10:34:14 +02:00
  • 18fd48bfcb feat: render teammate avatars with initials fallback on live cursors so it is always clear who each pointer belongs to Matthew Meszaros 2026-06-30 10:34:14 +02:00
  • 7237a7500c feat: document dashboard-wide live cursors, collaborative builder canvases, and sticky card positions across the collaboration, automations, and sequences guides Matthew Meszaros 2026-06-30 10:06:58 +02:00
  • 8ff5d173ba feat: document the live-collaboration channel events and the automation/sequence layout endpoints in the realtime and endpoints API reference Matthew Meszaros 2026-06-30 10:06:58 +02:00
  • dfe8b89730 feat: claim integration-connection presence via a new Drawer headerExtra slot in the connection details drawer Matthew Meszaros 2026-06-30 10:06:49 +02:00
  • 5f090287c8 feat: claim mailbox presence and show teammate viewers in the mailbox details drawer header Matthew Meszaros 2026-06-30 10:06:49 +02:00
  • aef7fdf6d5 feat: claim template presence and suppress the page cursor layer while the email template editor is open Matthew Meszaros 2026-06-30 10:06:49 +02:00
  • e1f9460520 feat: claim task presence and suppress the page cursor layer while the CRM task dialog is open Matthew Meszaros 2026-06-30 10:06:49 +02:00
  • 04ee4cb331 feat: claim deal presence and suppress the page cursor layer while the CRM deal dialog is open Matthew Meszaros 2026-06-30 10:06:49 +02:00
  • 06c7a3502b feat: wire live cursors, live step drag, and persisted step positions seeded from x/y into the campaign sequence builder canvas Matthew Meszaros 2026-06-30 10:06:49 +02:00
  • 03453cc069 feat: wire live cursors, live card drag, and debounced drag-to-stick layout persistence into the automation builder canvas Matthew Meszaros 2026-06-30 10:06:49 +02:00
  • 4111a1960b feat: skip ephemeral LIVE_ frames in useRealtimeEvents so cursor and drag traffic never triggers react-query invalidation Matthew Meszaros 2026-06-30 10:06:31 +02:00
  • ba6847e985 feat: add the global per-route multiplayer cursor layer with a suppression context and mount it in AppShell around the page scroll container Matthew Meszaros 2026-06-30 10:06:31 +02:00
  • 49988fb8bd feat: add shared Cursor and CanvasCursors presence components that render teammate pointers in screen space and @xyflow flow space Matthew Meszaros 2026-06-30 10:06:31 +02:00
  • 4ca46317a5 feat: add the reusable useLiveCursors transport (throttle, heartbeat, TTL prune, gone-on-leave, gone-on-resource-change) and a useLiveCanvas wrapper that adds the live node-drag stream Matthew Meszaros 2026-06-30 10:06:31 +02:00
  • 1f2b228ec6 feat: wire the automation and sequence layout routes (PATCH /automations/:id/layout and /campaigns/:id/step-layout) behind the existing campaign and integration write permissions Matthew Meszaros 2026-06-30 10:06:20 +02:00
  • d4ead05456 feat: persist campaign sequence canvas coordinates with x/y columns (migration 000053) plus a bulk sequence-layout service/repo path that scopes by campaign owner and never bumps updated_at Matthew Meszaros 2026-06-30 10:06:20 +02:00
  • 73838cecf5 feat: add an unaudited automation node-layout endpoint handler/service/repo backed by an atomic jsonb x/y merge that leaves edges, config, and updated_at untouched Matthew Meszaros 2026-06-30 10:06:19 +02:00
  • 248c886290 feat: add an ephemeral live:cursor/live:node channel path to the realtime org channel that bypasses the Redis ws limiters and the sequenced resume buffer via an in-process token bucket and broadcast_from fan-out Matthew Meszaros 2026-06-30 10:06:19 +02:00
  • 55b2c7f264 feat: revise the Make app README with public-repo credential guidance (client secret lives in Make Common Data, never committed) and a CI validation section Matthew Meszaros 2026-06-30 06:17:44 +02:00
  • c2a238b56d feat: gate the Make app in CI with a Make App CI job that runs the validator on changes under integrations/make, wired into the changes filter and ci-status check Matthew Meszaros 2026-06-30 06:17:44 +02:00
  • 6f511b78ce feat: add a structural validator (scripts/validate.mjs) and package.json for the Make app that checks the manifest, JSON validity, codeFiles references and keys, and component enums Matthew Meszaros 2026-06-30 06:17:44 +02:00
  • cbd465eba0 feat: add the customer-facing Make integration guide (triggers, actions, searches) and register it in the guides navigation Matthew Meszaros 2026-06-29 09:44:19 +02:00
  • cd0810fb53 feat: add Make analytics search modules: Get Campaign Analytics and Get Dashboard Analytics Matthew Meszaros 2026-06-29 09:44:06 +02:00
  • 25d4a45c19 feat: add Make group modules: Create Contact Category, Create Mailbox Tag, and Create Campaign Folder Matthew Meszaros 2026-06-29 09:44:06 +02:00
  • f1a3d6c5aa feat: add Make reply-template modules: create/update/delete template, Render Reply Template, and Find Reply Template search Matthew Meszaros 2026-06-29 09:44:06 +02:00
  • 787fde45b8 feat: add Make meeting modules: New Meeting Booked trigger, Log Meeting, Delete Meeting, and Find Meeting search Matthew Meszaros 2026-06-29 09:44:06 +02:00
  • f0e8658b3d feat: add Make CRM task modules: New CRM Task trigger, create/update/delete task, and Find CRM Task search Matthew Meszaros 2026-06-29 09:44:06 +02:00
  • da5adddef3 feat: add Make CRM deal modules: New Deal and Deal Won triggers, create/update/delete deal, and Find Deal search Matthew Meszaros 2026-06-29 09:44:06 +02:00
  • de46897b3f feat: add Make mailbox and warmup modules: New Mailbox Connected trigger, update/delete mailbox, warmup start/pause/resume/stop, and Find Mailbox search Matthew Meszaros 2026-06-29 09:43:54 +02:00
  • 7c7ddd9746 feat: add Make campaign modules: New Campaign and Campaign Completed triggers, create/update/delete, start/stop lifecycle, and Find Campaign search Matthew Meszaros 2026-06-29 09:43:54 +02:00
  • 8400fb1942 feat: add Make email and inbox modules: New Email Received trigger, Send Email, Reply in Inbox, Mark Inbox Emails Seen, and Verify Email Address Matthew Meszaros 2026-06-29 09:43:54 +02:00
  • 8bb1bbd8df feat: add Make contact modules: New Contact and New or Updated Contact triggers, create/update/delete, add/remove campaign, note create/update/delete, and Find Contact search Matthew Meszaros 2026-06-29 09:43:54 +02:00
  • db2efee8f2 feat: add the filterByStatus IML function (with test) that backs the Campaign Completed trigger since /campaigns has no status query param Matthew Meszaros 2026-06-29 09:43:17 +02:00
  • 8cdb4401fb feat: add the six Make dropdown RPCs (campaign, mailbox, pipeline, pipeline-stage, template, contact lists) powering dynamic select fields Matthew Meszaros 2026-06-29 09:43:17 +02:00
  • 6778cf169c feat: add the Make Warmbly OAuth2 connection (authorize/token/refresh with rotating tokens and expiry, GET /v1/me test and org+email label) with default scope and scope catalog Matthew Meszaros 2026-06-29 09:43:17 +02:00
  • d7b5d23d48 feat: add the Make app base.iml.json (api base URL, bearer auth header, code/request_id error handler) plus general common and module-groups files Matthew Meszaros 2026-06-29 09:43:17 +02:00
  • e1034257a3 feat: scaffold the Make.com custom app under integrations/make with the makecomapp.json manifest (57 modules, 6 RPCs, OAuth connection, 1 IML function), README, and gitignore Matthew Meszaros 2026-06-29 09:43:17 +02:00
  • 22b88a034a Merge pull request #53 from warmbly/feat/zapier-integration Matthew Meszaros 2026-06-29 08:31:43 +02:00
  • d5bce77123 feat: document the resource-based layout and the full Zapier trigger/action/search catalog in the README and customer guide Matthew Meszaros 2026-06-29 06:37:20 +02:00
  • 88ada5a196 feat: expand Zapier app tests to cover the resource structure and the new edit/delete/warmup/analytics/group action and search keys Matthew Meszaros 2026-06-29 06:37:20 +02:00
  • 1480d86102 feat: rewire the Zapier app index to assemble resource modules and remove the old per-type triggers/creates/searches files Matthew Meszaros 2026-06-29 06:37:20 +02:00
  • e3c039c5bc feat: add Zapier resource modules consolidating each resource's triggers/creates/searches and adding warmup, mark-seen, render-template, log-meeting, group, and analytics operations Matthew Meszaros 2026-06-29 06:37:20 +02:00
  • 6342902f2c feat: add resource-based Zapier shared lib (types, dynamic-dropdown list triggers incl. contacts) and request the read_analytics scope Matthew Meszaros 2026-06-29 06:37:20 +02:00
  • f2f13e8a90 feat: document the new Zapier edit and delete actions, widened scopes, and destructive-action caution Matthew Meszaros 2026-06-29 06:21:41 +02:00
  • 47b16358b4 feat: wire the new Zapier edit and delete actions into the app definition (26 actions total) Matthew Meszaros 2026-06-29 06:21:41 +02:00
  • 15b8b1bcc3 feat: add Zapier Delete Mailbox action with an explicit destructive-operation warning Matthew Meszaros 2026-06-29 06:21:41 +02:00
  • 0fdf554a03 feat: add Zapier Update and Delete Reply Template actions Matthew Meszaros 2026-06-29 06:21:41 +02:00
  • cee45f221c feat: add Zapier Update Campaign and Delete Campaign actions Matthew Meszaros 2026-06-29 06:21:41 +02:00
  • 03afa4e90d feat: add Zapier Delete Contact, Update/Delete Contact Note, and Remove Contact from Campaign actions Matthew Meszaros 2026-06-29 06:21:41 +02:00
  • c7ca9a98f4 feat: add Zapier Update CRM Task, Delete Deal, and Delete CRM Task actions Matthew Meszaros 2026-06-29 06:21:41 +02:00
  • 9d94b99040 feat: request write_emails and bulk_contacts Zapier scopes to back the delete-mailbox and remove-from-campaign actions Matthew Meszaros 2026-06-29 06:21:41 +02:00
  • 47d40a01aa feat: document Zapier polling caveats for meeting, campaign-completed, and deal-won triggers in the integration README Matthew Meszaros 2026-06-29 06:09:38 +02:00
  • a5f3dc9be8 feat: fix Zapier contact triggers to use bare whitelisted sort_by columns so New or Updated Contact actually sorts by updated_at Matthew Meszaros 2026-06-29 06:09:38 +02:00
  • f6d3ff600a feat: document the GET /v1/me credential-verification endpoint in the API authentication guide Matthew Meszaros 2026-06-28 19:28:04 +02:00
  • 67c707cf32 feat: pin form-data to ^4.0.6 via npm override to clear the GHSA-hmw2-7cc7-3qxx high-severity Trivy finding in the Zapier lockfile Matthew Meszaros 2026-06-28 19:28:04 +02:00
  • 34fb2a77d6 feat: add customer-facing Zapier guide covering triggers, actions, searches and register it in the guides nav Matthew Meszaros 2026-06-28 19:10:18 +02:00
  • 1093744634 feat: add Warmbly Zapier integration README with OAuth setup, env vars, and dev workflow Matthew Meszaros 2026-06-28 19:10:18 +02:00
  • edeae3dcc2 feat: add Zapier app tests covering full platform-schema validation, structure, and helpers Matthew Meszaros 2026-06-28 19:10:18 +02:00
  • de79a3f7be feat: wire the Zapier app definition with auth, request middleware, triggers, creates, and searches Matthew Meszaros 2026-06-28 19:10:09 +02:00
  • 8f566966f8 feat: add Zapier searches for contact by email, campaign, mailbox, and reply template Matthew Meszaros 2026-06-28 19:10:09 +02:00
  • 299543fc05 feat: add Zapier campaign actions (create, start, stop) and the create reply-template action Matthew Meszaros 2026-06-28 19:10:09 +02:00
  • cabde735b1 feat: add Zapier CRM actions: create deal, update deal, and create CRM task Matthew Meszaros 2026-06-28 19:10:09 +02:00
  • 6e6b1a7552 feat: add Zapier email actions: send email, reply in inbox, and verify email address Matthew Meszaros 2026-06-28 19:10:09 +02:00
  • f2fbc438a1 feat: add Zapier contact actions: create-or-update, update, add-to-campaign, and create note Matthew Meszaros 2026-06-28 19:10:09 +02:00
  • 809ead0c49 feat: add Zapier meeting, inbox-email, campaign, campaign-completed, and mailbox polling triggers Matthew Meszaros 2026-06-28 19:10:00 +02:00
  • b90e9dfffb feat: add Zapier New Deal, Deal Won, and New CRM Task polling triggers Matthew Meszaros 2026-06-28 19:09:59 +02:00
  • 6b93a0fe21 feat: add Zapier New Contact and New or Updated Contact polling triggers backed by contact search Matthew Meszaros 2026-06-28 19:09:59 +02:00
  • 9e8c3678ad feat: add Zapier hidden dynamic-dropdown list triggers for campaigns, mailboxes, pipelines, stages, and templates Matthew Meszaros 2026-06-28 19:09:59 +02:00
  • d20a523f9b feat: add Zapier OAuth2 authentication with code exchange, rotating refresh, and GET /v1/me connection test and label Matthew Meszaros 2026-06-28 19:09:51 +02:00
  • 34020bedda feat: add Zapier polling-list helper that drives list-endpoint triggers with client-side filter and map Matthew Meszaros 2026-06-28 19:09:51 +02:00
  • eb2709d9fd feat: add Zapier shared types and HTTP client with bearer-auth/error middleware, scopes, and list helpers Matthew Meszaros 2026-06-28 19:09:51 +02:00
  • 0079a99b3a feat: scaffold the Warmbly Zapier Platform CLI app with package, tsconfig, jest, eslint, and gitignore Matthew Meszaros 2026-06-28 19:09:51 +02:00
  • 90aab1acee feat: document the GET /v1/me identity endpoint in the API endpoint scope map Matthew Meszaros 2026-06-28 19:09:37 +02:00