Commit Graph
434 Commits
Author SHA1 Message Date
Matthew Meszaros ae9eca5c7e feat: cut database load from issue 993 with placement, sweep and unibox indexes, redundant index drops, identical-result rewrites of contact facets, dashboard stats, campaign progress, advisor bounces and routing pre-filter, bounded delivery evidence, cold-ramp skip, held advisor sections, ANALYZE after restore and hidden-tab realtime deferral 2026-10-17 05:18:45 +02:00
devin-ai-integration[bot] 3b1c50b9ec Merge pull request #988 from warmbly/fix/reply-processing-stale-stored-mail
feat: withdraw reply intents and untouched follow-up tasks left by mail from before its sender's contact, and credit unthreaded mail only to an earlier send (#960)
2026-10-16 07:52:00 +00:00
devin-ai-integration[bot] bb1b93255d Merge pull request #987 from warmbly/fix/worker-send-deadline
feat: give worker sends a deadline that covers the SMTP budget and add ordered mailbox lanes on NATS
2026-10-16 07:51:59 +00:00
Matthew Meszaros fa6c935b12 feat: withdraw the reply intents and untouched follow-up tasks that mail from before its sender's contact produced through a one-time consumer cleanup, and credit an unthreaded contact message only to a campaign email sent before it arrived (#960) 2026-10-16 06:59:40 +02:00
Matthew Meszaros 46bd956229 feat: give worker SEND_EMAIL commands a 120s deadline that covers the SMTP client's 90s budget, run the worker command subscription under a 195s bus budget (NATS ack wait and Kafka handler context via eventbus.WithHandlerTimeout), and add ordered per-mailbox command lanes on NATS with in-progress heartbeats 2026-10-16 06:57:14 +02:00
Matthew Meszaros de4328b4cf feat: let Unibox forwards reach suppressed recipients by exempting forward tasks from the send-admission suppression check, refuse suppressed replies and direct sends before queueing with a recipient_suppressed 400 naming the address and matching entry, report admission refusals as RECIPIENT_SUPPRESSED with the address, show the server reason in the reply composer, and document it 2026-10-16 06:56:52 +02:00
Matthew Meszaros dbfc5b06f8 feat: keep unibox sends out of campaign, warmup and shared send caps with their own 500-recipient daily ceiling and report refused sends to the mailbox owner, skip IMAP history below the held UIDNEXT on a folder-wide MODSEQ bump, and stop treating mail received before its sender became a contact as a reply in reply processing, the repair sweep and the opt-out recheck 2026-10-14 06:38:34 +02:00
Matthew Meszaros 8b667c2d29 feat: merge main into the mobile app redesign branch, keep both the apollo and appattest handler imports, and renumber the app_attest_keys migration to 000291 now that main holds 000290 2026-10-12 10:40:02 +02:00
Matthew Meszaros 8c06efc6e4 feat: ship the iOS app to TestFlight from GitHub Actions on merges touching ios/ (ios-release workflow with cloud-managed signing, shared Warmbly scheme, ExportOptions, iPhone-only 1.0.0, privacy manifest), add in-app account deletion and a read-only billing page, let admins exempt an existing account from the emailed login code for App Review, read Apple .p8 keys as PEM or base64 through one applekey parser for Sign in with Apple and APNs, and document the release flow and Apple web sign-in setup 2026-10-12 10:38:14 +02:00
Matthew Meszaros ec46f57d22 feat: redesign the iOS app (inbox with inbox agent drafted replies edited in the full composer, Remie, home, analytics, CRM, contacts, settings hubs, mailbox connect flow covering every dashboard source) and replace Turnstile in the app with Apple App Attest (attested keys in app_attest_keys, challenge and key endpoints, verifyHuman gate on login, registration and password reset, auth config flag, docs and OpenAPI) 2026-10-11 19:00:50 +02:00
Matthew Meszaros 19d8d24fac feat: add Apollo integration (API key connect, list imports with hourly sync, contact enrichment) and two-way Clay integration (inbound row URL creating contacts, outbound event rows, automation action) with dashboard pages, brand logos, Discover ranking, org transfer registration and docs 2026-10-11 12:41:56 +02:00
Matthew Meszaros 78da37dfca Merge pull request #930 from warmbly/devin/1791639319-protect-legacy-dlq-replay
feat: protect legacy send dead letters and expose unverified recovery evidence
2026-10-10 14:41:43 +00:00
Matthew MeszarosandDevin AI ab3f0c0ca4 feat: preserve the unverified dead-letter monitoring identity in redacted administrator CLI output
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-10 13:53:18 +00:00
Matthew MeszarosandDevin AI ba1c6e3f3e feat: bound local task dispatch across polling rounds using effective database pool capacity without stamping queued work
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-10 13:23:12 +00:00
Matthew Meszaros 9712ea5262 Merge pull request #926 from warmbly/devin/1791630200-combined-restricted-member-security
feat: close all restricted-member data leaks and resource-scope escapes
2026-10-10 12:07:57 +00:00
Matthew Meszaros 74d4c1eb02 feat: enforce current workspace membership on owner-addressed realtime events and notification ingress, stored feeds, deferred email and push delivery 2026-10-10 10:54:59 +00:00
Devin AI d152c0778a feat: atomically validate same-day warmup hours and defer invalid configured windows before claiming or sending while preserving visible safety holds 2026-10-10 10:48:15 +00:00
Matthew MeszarosandDevin AI 0fef20131c feat: reject unknown monitoring identities and severities before generic CLI enum redaction
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-10 09:55:19 +00:00
Matthew MeszarosandDevin AI d3833c315f feat: preserve typed monitoring identifiers units severity and coverage reasons in redacted administrator CLI output
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-10 09:44:39 +00:00
Matthew Meszaros 507c98e008 feat: preserve retry-safe locked fleet enrollment identities and trusted canonical CLI credential roots while disclosing unavailable generic runtime log sources 2026-10-10 07:55:46 +00:00
Matthew Meszaros 03ed09138b feat: add remotely approved warmblyctl administrator sessions with isolated private credentials, redacted operational diagnostics and catalog-bound confirmed recovery actions 2026-10-10 06:41:21 +00:00
Matthew Meszaros 9081b1bce0 feat: add proof-preserving one-use admin device sessions and bounded enrollment-authenticated worker evidence with scoped Kafka partition diagnostics 2026-10-10 06:14:52 +00:00
Devin AI 24b0130c45 feat: reconcile mailbox sync recovery with merged worker Kafka retry and broker-confirmed delivery safeguards 2026-10-09 18:18:26 +00:00
Devin AI 1ca77a431b feat: integrate merged monitoring updates with ordered worker command recovery 2026-10-09 16:57:57 +00:00
Devin AI 4758216dbf feat: integrate current monitoring and member access changes with durable mailbox synchronization 2026-10-09 16:56:53 +00:00
Matthew Meszaros 5ab4b5e544 feat: drain Kafka worker commands through bounded ordered mailbox lanes and accelerate safe startup recovery while backing off duplicate filing retries 2026-10-09 16:35:26 +00:00
Matthew Meszaros 9a09740c84 feat: add permission-shaped operational monitoring snapshots with aggregate recovery evidence and read-only broker diagnostics 2026-10-09 15:12:54 +00:00
Devin AI 445e014b5e feat: recover mailbox synchronization across Gmail Outlook and IMAP with encrypted arrival replay and safe worker lifecycle 2026-10-09 14:24:10 +00:00
Matthew MeszarosandDevin AI d7a9563e3f feat: expire stale warmup failure warnings and alert persistent fleet stalls while safely retrying blocked dispatches
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-09 05:37:56 +00:00
Matthew Meszaros 1386dac607 Merge pull request #892 from warmbly/feature/campaign-positive-reply-analytics
feat: positive replies, positive reply rate and interested leads in campaign analytics
2026-10-09 04:28:22 +00:00
Matthew Meszaros daf95ba790 feat: seed fixture mailboxes with test_mode legacy so a fresh make seed and QA stack can join them to their warmup pools again after migration 000273 defaulted new mailboxes to off 2026-10-09 06:08:28 +02:00
Matthew Meszaros 6d88588350 feat: filter the Analytics dashboard by campaigns and campaign folders (campaign_ids/folder_ids on GET /analytics/dashboard, resolved server-side to one deduplicated org-scoped set), with a picker on web, a filter sheet on iOS, CLI flags, an AI tool argument, and API, OpenAPI and guide docs 2026-10-09 06:04:31 +02:00
Matthew Meszaros 166637b395 Merge pull request #886 from warmbly/devin/1791479588-cloud-standing-refresh
feat: refresh Cloud-linked pool status without inventing reputation bans
2026-10-08 17:42:14 +00:00
Matthew MeszarosandDevin AI b16dadd264 feat: refresh self-hosted Cloud pool standing from validated mailbox listings and separate availability holds from reputation bans
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-08 17:19:02 +00:00
Matthew MeszarosandDevin AI d3c6efdc46 feat: retire proven-unstarted warmup reservations and request worker reloads for missing mailboxes
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-08 16:55:05 +00:00
Matthew MeszarosandDevin AI e02655fd89 feat: coordinate TypeSafe billing recovery across backend and consumer, attribute token usage and reuse copy judgments during cache outages
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-08 04:28:37 +00:00
Devin AI 8a45508e79 feat: enforce shared outbound capacity and directional diagnostic consent across campaign manual warmup and seed dispatch with transactional result outbox bounded Gmail Graph DKIM audited repair holds and legacy upgrade gates 2026-10-07 14:02:11 +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 MeszarosandDevin 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 MeszarosandDevin 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 MeszarosandDevin 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 MeszarosandDevin AI 5fe22b3b6a feat: preserve warmup identity across mailbox reconnects and retry provider filing with pre-disconnect cleanup
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-06 12:03:17 +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 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 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 MeszarosandDevin AI 0ea856537e fix(security): drop jwt-go via first-party Apple auth, bump yoke-derive, grant checks:write to rust audit
Refs WAR-10

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-04 18:36:28 +00:00
Matthew Meszaros 211cf76230 Merge pull request #831 from warmbly/devin/1791136163-skip-onboarding-seeded-accounts
fix: skip the onboarding wizard for seeded, sandbox, bootstrap, and warmblyctl-created accounts
2026-10-04 18:12:49 +00:00