Commit Graph
2574 Commits
Author SHA1 Message Date
SUMAN JANA a42b67f2e3 fix(inbox): tell the dashboard when a tag lands, so the label appears without a reload 2026-09-17 04:57:24 -07:00
SUMAN JANA 056d639e2b feat(inbox): classify mid-conversation replies, which the first taxonomy had no bucket for 2026-09-17 04:57:24 -07:00
SUMAN JANA 7e556f49e3 feat(inbox): backfill historical mail through the tagger, and keep a confident kind when the intent cannot be read 2026-09-17 04:57:24 -07:00
SUMAN JANA 260898bf20 feat(inbox): automatic tagging and relevance scoring for inbound mail, optional and off by default 2026-09-17 04:57:24 -07:00
Matthew Meszaros ae1a324801 Merge pull request #562 from rocker1166/feat/direct-mail-analytics
feat: add accurate direct-mail analytics and opt-in engagement tracking
2026-09-17 11:47:50 +00:00
Matthew Meszaros 17206f1c29 Merge pull request #569 from warmbly/fix/validate-reported-defect
Fix Outlook opens misclassified as Apple privacy prefetches
2026-09-17 11:37:21 +00:00
Matthew Meszaros 59dbceaef3 feat: clarify direct-mail counts and HTML tracking limits in guides 2026-09-17 04:37:09 -07:00
Matthew Meszaros 93a0e39371 Merge pull request #568 from warmbly/fix/reported-issue-resolution
feat: preserve binary dashboard API responses so campaign lead exports remain downloadable
2026-09-17 11:28:29 +00:00
Matthew Meszaros 50dec73fb2 Merge pull request #563 from rocker1166/feat/inbox-search-people-and-prefix
feat(unibox): search people and partial words, and offer to widen a search that found nothing
2026-09-17 11:28:21 +00:00
Matthew Meszaros d1aa3d4361 feat: classify ambiguous Outlook and Apple image-proxy opens by delivery timing and stop inventing recipient device metadata 2026-09-17 04:27:34 -07:00
Matthew Meszaros 8745dd988d feat: correct direct-mail analytics attribution and publish live engagement updates 2026-09-17 04:27:00 -07:00
Matthew Meszaros 7402898c0d feat: preserve binary dashboard API responses so campaign lead exports remain downloadable (#565) 2026-09-17 04:24:52 -07:00
Matthew Meszaros cc5925fe44 feat: preserve web-search operators and escape participant patterns in unibox search 2026-09-17 04:18:08 -07:00
SUMAN JANA 2134c7a143 feat(analytics): report on mail written by hand, with opt-in open and click tracking per mailbox 2026-09-17 10:26:25 +00:00
SUMAN JANA ebbe432d2c feat(unibox): search people and partial words, and offer to widen a search that found nothing in the current scope 2026-09-17 10:20:17 +00:00
Matthew Meszaros 2104770185 Merge pull request #559 from warmbly/fix/reopened-issue-feedback
fix: verify persisted reply direction and repair false replies
v0.4.21
2026-09-17 05:14:21 +00:00
Matthew Meszaros 5855d7e32d feat: fully fence inbound reply processing and repair issue 549 state across campaigns and verification 2026-09-16 22:03:46 -07:00
Matthew Meszaros 27f739a0fc Merge pull request #560 from warmbly/fix/account-sending-analytics
Fix account sending analytics and dashboard metric accuracy
2026-09-17 04:52:07 +00:00
Matthew Meszaros 0f5ca71155 feat: correct mailbox sending metrics and workspace analytics across dashboard surfaces 2026-09-16 21:44:42 -07:00
Matthew Meszaros 35b94252e6 feat: make inbound reply processing idempotent across duplicate events 2026-09-16 21:38:10 -07:00
Matthew Meszaros c91e89980f feat: make reply recording atomic and require exact repair recipient matches 2026-09-16 21:25:43 -07:00
Matthew Meszaros b01984bec2 feat: verify reply direction from persisted mailbox state and repair issue 549 false Sent-folder replies 2026-09-16 21:11:54 -07:00
Matthew Meszaros baf38a4b03 Merge pull request #557 from warmbly/feature/self-host-instance-linking-upsell
Offer subscribing alongside self-hosting, and hide the self-host nudge from subscribers
v0.4.20
2026-09-16 17:56:40 +00:00
Matthew Meszaros be78d46e28 feat: hide the self-host nudge on the hosted Accounts page for subscribed workspaces and offer subscribing alongside self-hosting on free ones in CloudPathsPanel 2026-09-16 19:53:35 +02:00
Matthew Meszaros 0d331cd528 Merge pull request #556 from warmbly/feat/tester-join-existing-workspace
feat: a tester can join an existing workspace instead of always getting an empty one
2026-09-16 17:50:07 +00:00
Matthew Meszaros 1196c23f92 Merge pull request #555 from warmbly/fix/contact-activity-timeline-followup
Fix contact timeline access regression coverage
2026-09-16 17:47:35 +00:00
Matthew Meszaros de8da6396e feat: build the tester sign-in address from DASHBOARD_URL instead of rewriting the admin origin's first label to dev., which handed an OAuth reviewer a different deployment than the dashboard every other link in the panel points at 2026-09-16 19:40:14 +02:00
Matthew Meszaros 03f813dd43 feat: let an admin create a tester account that joins an existing workspace with an explicitly chosen role instead of always minting an empty one, so an OAuth reviewer signing in lands in a workspace that shows the app doing real work 2026-09-16 19:37:32 +02:00
Matthew Meszaros 5072f27b59 feat: correct the AGENTS.md codec note that still claimed Avro cannot serialize the worker command and result envelopes, which the derived union schemas in internal/models/event_schema.go made false 2026-09-16 19:37:32 +02:00
Matthew Meszaros e0ddcd79d2 feat: register contact timeline live-test cleanup before fixture setup can fail 2026-09-16 10:36:37 -07:00
Matthew Meszaros cf1429f571 feat: cover contact timeline access at the HTTP boundary and centralize campaign event tenant scoping 2026-09-16 10:27:18 -07:00
Matthew Meszaros d3cd675d80 Merge pull request #554 from warmbly/fix/worker-disconnect-error-reporting
Fix ResizeObserver error reporting and cloud worker outage notifications
2026-09-16 15:51:53 +00:00
Matthew Meszaros cadf8f849a Merge pull request #553 from warmbly/fix/mail-sync-rate-limit-handling
Fix provider mail throttles without deactivating mailboxes
2026-09-16 15:51:27 +00:00
Matthew Meszaros 0334d2c64a feat: prevent ResizeObserver feedback warnings from reaching PostHog and scope worker outage alerts per workspace on shared cloud workers 2026-09-16 17:42:38 +02:00
Matthew Meszaros 817599d0eb feat: keep provider mail throttles retryable without deactivating mailboxes or flooding error tracking 2026-09-16 17:42:12 +02:00
Matthew Meszaros 27e9e0d7cb Merge pull request #551 from warmbly/fix/contact-activity-timeline
Fix contact activity timelines for workspace teammates
2026-09-16 15:39:48 +00:00
Matthew Meszaros 75d6799f09 Merge pull request #552 from warmbly/fix/issue-root-cause
fix: prevent synced sent follow-ups from counting as replies
2026-09-16 15:35:47 +00:00
Matthew Meszaros 106e3c0b9d feat: cover organization scoping for per-event timeline opens and clicks in the issue 550 live regression 2026-09-16 08:30:35 -07:00
Matthew Meszaros 2255e2145d feat: reject outbound mailbox copies and mismatched campaign threads before they can mark contacts replied for stop-on-reply (issue #549) 2026-09-16 08:24:19 -07:00
Matthew Meszaros 6762b4e491 feat: scope contact activity timelines to the selected organization so teammates can load contacts and campaigns created by other members 2026-09-16 08:20:31 -07:00
Matthew Meszaros 4597156b6f Merge pull request #548 from warmbly/fix/dev-cloud-dashboard-server-errors
feat: fix dashboard Stripe checkout, portal eligibility, webhook recovery and audit rendering
v0.4.19
2026-09-16 13:31:04 +00:00
Matthew Meszaros 15a130e446 Merge pull request #547 from warmbly/fix/login-argon2id-hash-format
feat: reject password login for accounts without a password hash before Argon2 verification
2026-09-16 13:25:19 +00:00
Matthew Meszaros 6872ebbb23 feat: fix dashboard Stripe checkout, portal eligibility, webhook recovery and audit rendering 2026-09-16 15:23:17 +02:00
Matthew Meszaros d96e3182f8 feat: run required CI checks for merge queue groups so validated pull requests can merge through branch protection 2026-09-16 15:15:18 +02:00
Matthew Meszaros 1fae8b18c2 feat: reject password login for external accounts without a stored hash and cover credential verification with PostgreSQL regressions 2026-09-16 15:03:21 +02:00
Suman Jana 94c7e414e2 feat: preserve private Unibox reply drafts and safely collapse quoted conversation history 2026-09-16 04:35:53 -07:00
Matthew Meszaros 31c1f101c2 feat: give EmailSentEvent and WarmupEmailSentEvent their own derived Avro schemas so the email-events and warmup-events analytics streams stop failing at serialize on every send and finally register a subject (#546) v0.4.18 2026-09-16 04:20:15 -07:00
Matthew Meszaros 140c7de436 feat: add the admin panel's Promo codes page and route the six /admin/discounts endpoints that existed as handlers but were never wired, so a launch offer is built in the operator UI instead of an INSERT against production, with caps that an explicit null can actually clear on PATCH 2026-09-16 04:04:09 -07:00
Matthew Meszaros 561f8ec671 feat: keep cloud and local warmup mail out of Unibox with durable verification and automatic cleanup 2026-09-16 03:55:36 -07:00
Matthew Meszaros f72d1f8d5c feat: prevent sender views from tracking opens and keep sent messages out of the default Inbox (#542) 2026-09-16 03:42:58 -07:00