Commit Graph

  • 6e15524ef0 feat: redesign the warmup, deliverability, sending and campaigns pages with dashboard-faithful scenes, documented thresholds and defaults, and phone layouts that stack the health bands and sending posture instead of squeezing them into columns Matthew Meszaros 2026-10-09 18:34:11 +02:00
  • e39db98a02 feat: restyle the blog index, tag pages, post layout, covers and tag filter to the new site design Matthew Meszaros 2026-10-09 18:33:49 +02:00
  • ff1d9ca07d feat: give the landing page a clean white hero with a one-to-one Accounts dashboard mockup, an accurate Automations section with four documented callouts and greyscale integration rows that colour on hover, and a simplified pricing block Matthew Meszaros 2026-10-09 18:33:49 +02:00
  • 31d6e2c5e7 feat: rebuild the marketing site shell with a clean header carrying a GitHub stars button read at build time and a full-width mega menu with photo tiles, page guide lines, shared Rule, SectionIntro, Faq and BrandMark primitives, a photo-band closing CTA, restyled legal pages, article tables that scroll sideways on phones, and a global rule that stops any grid column from widening the page Matthew Meszaros 2026-10-09 18:33:49 +02:00
  • a4dd7e70b9 feat: serve the marketing site photos through astro:assets as AVIF with WebP fallback, responsive widths and an inline blurred placeholder via a new Photo component, move the textures into src/assets, cache built assets immutably, and let ScaledStage render a plain frame when no photo is given Matthew Meszaros 2026-10-09 18:33:49 +02:00
  • 5a542e1222 feat: show failed or partial Accounts mailbox inventory as unavailable instead of measured zero counts or an empty list Matthew Meszaros 2026-10-09 16:20:21 +00:00
  • a8ddfc65ec feat: isolate admin sign-in caches, retain cached probe outcomes and clear recovered mailbox issues per measured source Matthew Meszaros 2026-10-09 16:09:27 +00:00
  • 2033fb8a36 feat: retain recent mailbox issues as dated historical evidence during refresh and remove misleading aggregate monitoring links Matthew Meszaros 2026-10-09 15:58:11 +00:00
  • 0e4c056d37 feat: preserve unavailable Cloud status on failed connection lookup without hiding reported errors or showing cached warmup counts Matthew Meszaros 2026-10-09 15:46:32 +00:00
  • 7ff3829f3f feat: keep Cloud lookup dependencies explicit in measured mailbox summary statistics Matthew Meszaros 2026-10-09 15:40:27 +00:00
  • cdb102ca56 feat: keep mailbox health and usage unknown until Cloud and account status checks finish with refresh and incomplete-data regressions Matthew Meszaros 2026-10-09 15:39:34 +00:00
  • 2cf19ebedf feat: add permission-aware operational monitoring to admin Overview and health with evidence clocks, backlog signals, coverage docs and typed permission regressions devin/1791559070-admin-operational-monitoring Matthew Meszaros 2026-10-09 15:33:55 +00:00
  • 9a09740c84 feat: add permission-shaped operational monitoring snapshots with aggregate recovery evidence and read-only broker diagnostics devin/1791557275-admin-monitoring-backend Matthew Meszaros 2026-10-09 15:11:18 +00:00
  • 445e014b5e feat: recover mailbox synchronization across Gmail Outlook and IMAP with encrypted arrival replay and safe worker lifecycle Devin AI 2026-10-09 14:24:10 +00:00
  • 98cf3f827c feat: preserve running IMAP import windows and global admission caps through generation-scoped replay while checkpointing reconciled known metadata before deferred reloads devin/1791545967-mailbox-sync-complete Devin AI 2026-10-09 14:01:31 +00:00
  • e41587d404 feat: replace the landing page feature showcases with a photo-backed bento and a numbered how-it-works section whose live dashboard scenes (accounts, warmup, campaign flow, deliverability, inbox, AI editor, deals, analytics, installer) mirror the app and animate only while on screen, and drop the old showcase components, mock screens and grain shader Matthew Meszaros 2026-10-09 15:56:17 +02:00
  • db4b2bce75 feat: hold mailbox removals behind durable arrival replay, retry failed inbox deletions and reconcile known IMAP generation metadata before bounded recovery checkpoints Devin AI 2026-10-09 13:43:53 +00:00
  • e3769ef666 feat: verify durable arrival conflicts, reopen bounded Kafka subscriptions with retired clients, refresh deduplicated transport evidence and alert on sanitized sync backlogs with rollout docs and CI regressions Matthew MeszarosandDevin AI 2026-10-09 13:19:32 +00:00
  • 09ffccca80 feat: show out-of-scope sidebar pages to restricted members as locked rows that explain their access scope instead of hiding them Matthew Meszaros 2026-10-09 15:07:29 +02:00
  • 6ce1a2aebb feat: replace changed mailbox executors with drained generation-safe lifecycles and bound provider plus local refresh HTTP requests Matthew Meszaros 2026-10-09 13:04:42 +00:00
  • c154ab6564 feat: recover completed IMAP folder generations with retryable body hydration and bounded verified STARTTLS setup Matthew Meszaros 2026-10-09 13:04:20 +00:00
  • 279d337b31 feat: recover expired and missing Outlook checkpoints with bounded immutable identity reconciliation and live Archive tracking Matthew Meszaros 2026-10-09 13:04:20 +00:00
  • f1074adda1 feat: recover rejected Gmail backfill continuations inside the original import window while retaining admission caps and mapped-message deduplication Matthew Meszaros 2026-10-09 13:04:15 +00:00
  • bdba6e7d89 feat: prove IMAP TLS literal cancellation releases the decoder before retry and rejects the previously pinned EOF-only reader devin/1791545967-sync-imap Devin AI 2026-10-09 12:59:40 +00:00
  • 86ed5fce35 feat: recover expired and missing Outlook delta checkpoints with bounded resumable replay, propagate loader state failures, and preserve Archive moves with immutable message aliases devin/1791545967-sync-outlook Matthew Meszaros 2026-10-09 12:56:24 +00:00
  • 8c4adc8ed7 feat: replace changed mailbox clients with drained generation-safe lifecycle cleanup while preserving sync cursors and bounding provider OAuth HTTP requests devin/1791545967-sync-worker-lifecycle Matthew MeszarosandDevin AI 2026-10-09 12:56:03 +00:00
  • 4be088ca3a feat: make IMAP hydration retryable, resume bounded completed-folder generation recovery, honor NOMODSEQ and bound cancellable TLS session setup Matthew MeszarosandDevin AI 2026-10-09 12:55:57 +00:00
  • d9d66c6e36 feat: recover ordinary Gmail import from rejected messages.list continuation tokens while preserving fixed windows, provider deduplication and fair-use admission caps across reloads devin/1791545967-sync-gmail Matthew MeszarosandDevin AI 2026-10-09 12:43:17 +00:00
  • cbfd39a052 feat: preserve truthful cross-provider sync success and backlog evidence, retry durable pending-arrival updates without reading unread mail, and render factual sync status devin/1791545967-sync-truthful-state Matthew Meszaros 2026-10-09 12:34:38 +00:00
  • 4f0cd134c0 feat: atomically retain encrypted mailbox arrivals for original-ID consumer replay and retry Kafka handlers before advancing offsets devin/1791545967-sync-durable-delivery Devin AI 2026-10-09 12:17:17 +00:00
  • 62017e71dd Merge pull request #896 from warmbly/devin/1791533735-confirmed-admin-send-counters v0.6.42 Matthew Meszaros 2026-10-09 12:15:40 +00:00
  • 640753221a Merge pull request #901 from warmbly/fix/mobile-layout Matthew Meszaros 2026-10-09 12:14:48 +00:00
  • ec6129c0c8 feat: preserve admin confirmed-send and deferred warmup recovery regressions when updating counter repair against main Matthew MeszarosandDevin AI 2026-10-09 11:46:19 +00:00
  • fa6797e12b feat: make the Accounts page readable on phones with container-sized mailbox columns, a labelled warmup, inbox and health line under each address, touch-sized row actions, one-row search and filter, banners that stack their buttons under the copy, and tighter mobile stat tiles Matthew Meszaros 2026-10-09 13:39:15 +02:00
  • 1f928de78f feat: record member access proof with a per-flow account option in the qa harness, and hide inbox compose and out-of-scope mailbox tags from restricted members Matthew Meszaros 2026-10-09 13:42:09 +02:00
  • bb4156cc6a feat: add resource-scoped member access that restricts a member to selected campaign folders, campaigns and mailboxes read-only, enforced in the API route gate, SQL filters, permission trigger, realtime channels and dashboard Matthew Meszaros 2026-10-09 13:30:37 +02:00
  • a4f22675df Merge pull request #897 from warmbly/devin/1791534337-visible-profile-notification-menus Matthew Meszaros 2026-10-09 11:29:49 +00:00
  • 865e5ecc05 Merge pull request #899 from warmbly/devin/1791543376-warmup-deferral-result-recovery Matthew Meszaros 2026-10-09 11:29:25 +00:00
  • d3256ae647 Merge pull request #898 from warmbly/devin/1791542893-consistent-mailbox-tag-order Matthew Meszaros 2026-10-09 11:28:49 +00:00
  • a3cdf7b2fa feat: keep deferred warmup commands free of terminal send results and recover existing never-started preparation conflicts without releasing real delivery holds Matthew MeszarosandDevin AI 2026-10-09 11:06:49 +00:00
  • f6c1c64520 feat: preserve complete tag-set grouping and explicit mailbox ordering when filtering Accounts by a tag Matthew MeszarosandDevin AI 2026-10-09 10:54:39 +00:00
  • d751a77063 feat: retain both confirmed-send overview and signup-attribution endpoint documentation when updating the admin counter fix against main Matthew MeszarosandDevin AI 2026-10-09 08:35:56 +00:00
  • 55cf83d8cf feat: portal the notification feed through the shared floating panel with viewport-safe scrolling and protect profile-menu placement outside clipped sidebars Matthew MeszarosandDevin AI 2026-10-09 08:34:13 +00:00
  • 6c1207a48c feat: populate admin overview send counters from provider-confirmed warmup receipts and applied outbound results with UTC reporting Matthew MeszarosandDevin AI 2026-10-09 08:24:21 +00:00
  • 2eede6647f Merge pull request #895 from warmbly/devin/1791529804-cookieless-source-attribution Matthew Meszaros 2026-10-09 08:10:52 +00:00
  • 4cad34c84a feat: retain signup attribution through same-path marketing query navigation and reject cross-origin landing paths Devin AI 2026-10-09 07:36:25 +00:00
  • 5d641b3ebe feat: cover nested onboarding acquisition redirects through the parent route guard in frontend regressions Devin AI 2026-10-09 07:20:04 +00:00
  • 6af3ba910c feat: preserve cookieless first-touch signup attribution through marketing and app redirects and expose admin referrer hosts Devin AI 2026-10-09 07:19:23 +00:00
  • 0ff58248e1 Merge pull request #894 from warmbly/devin/1791523174-persistent-mailbox-alerts v0.6.41 Matthew Meszaros 2026-10-09 06:27:06 +00:00
  • f06617afe3 feat: verify existing warmup state and new mailbox tasks survive release upgrades and gate CI on live recovery regressions Matthew MeszarosandDevin AI 2026-10-09 06:05:20 +00:00
  • 5a85395ad7 feat: ignore invalid future warmup evidence before selecting current incidents so genuine failures remain visible Matthew MeszarosandDevin AI 2026-10-09 05:57:34 +00:00
  • 859b14bfaa feat: reject future-dated loading observations in mailbox warnings and fleet incident detection Matthew MeszarosandDevin AI 2026-10-09 05:45:36 +00:00
  • d7a9563e3f feat: expire stale warmup failure warnings and alert persistent fleet stalls while safely retrying blocked dispatches Matthew MeszarosandDevin AI 2026-10-09 05:37:56 +00:00
  • 676445a6ee Merge pull request #888 from warmbly/devin/1791517488-campaign-mailbox-admission v0.6.40 Matthew Meszaros 2026-10-09 04:56:33 +00:00
  • b95655c358 Merge remote-tracking branch 'origin/main' into fix888 Matthew Meszaros 2026-10-09 06:40:54 +02:00
  • 38208c84e3 feat: renumber the mailbox behavior defaults migration to 000276 and its live test path, after 000275 went to the unibox forward-thread migration q 2026-10-09 06:39:27 +02:00
  • c513fd2d93 Merge pull request #893 from warmbly/fix/oauth-dynamic-client-registration Matthew Meszaros 2026-10-09 04:30:25 +00:00
  • 4d46290bc0 Merge pull request #889 from warmbly/fix/campaign-pool-pacing Matthew Meszaros 2026-10-09 04:28:35 +00:00
  • 1386dac607 Merge pull request #892 from warmbly/feature/campaign-positive-reply-analytics Matthew Meszaros 2026-10-09 04:28:22 +00:00
  • 1ce4a75545 Merge pull request #890 from warmbly/feature/unibox-forwarded-email-threading Matthew Meszaros 2026-10-09 04:27:52 +00:00
  • da861b2610 Merge pull request #891 from warmbly/feature/analytics-campaign-folder-filter Matthew Meszaros 2026-10-09 04:27:37 +00:00
  • db32f2347d feat: mark unverified OAuth apps as not affiliated with Warmbly on the consent screen, reserve the Warmbly name in third-party app names (registration, edit, import, and self-registered clients), and show no website for self-registered clients Matthew Meszaros 2026-10-09 06:19:09 +02:00
  • b9cc87db1a feat: enable configurable 28–32 daily mailbox sending plans with admission rechecks, clear limit controls and consistent UTC placement budgets Matthew Meszaros 2026-10-09 04:17:36 +00:00
  • c6c79d8dcd feat: enforce configurable per-mailbox campaign admission caps with UTC budgets, accurate diagnostics and PostgreSQL regressions Matthew Meszaros 2026-10-09 03:56:14 +00:00
  • fd1c333402 feat: add positive replies, positive reply rate, interested leads and a reply-class breakdown to campaign analytics (summary, per-step, daily series, AI tool, OpenAPI, Zapier/Make samples), show them on the campaign overview with a reply quality card, positive chart series and step column, mirror them in the iOS models, document them, and seed classified replies plus a proof flow Matthew Meszaros 2026-10-09 06:08:28 +02:00
  • 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 Matthew Meszaros 2026-10-09 06:08:28 +02:00
  • 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 Matthew Meszaros 2026-10-09 06:04:31 +02:00
  • 11b56b7031 feat: file Unibox forwards into the conversation they were forwarded from via email_tasks.forward_thread_id and unibox_emails.filed_forward, sent with no provider thread or In-Reply-To and skipped by reply threading Matthew Meszaros 2026-10-09 06:03:21 +02:00
  • b66c98a4ca feat: let one campaign fill a large sender pool by keeping sub-minute pacing in finalSlot and dividing the pool send interval in floating point Matthew Meszaros 2026-10-09 05:58:14 +02:00
  • 166637b395 Merge pull request #886 from warmbly/devin/1791479588-cloud-standing-refresh v0.6.39 Matthew Meszaros 2026-10-08 17:42:14 +00:00
  • 18bd3b16c2 Merge pull request #885 from warmbly/devin/1791477768-existing-mailbox-recovery Matthew Meszaros 2026-10-08 17:40:26 +00:00
  • 65c48b8cb8 feat: publish mailbox-list standing transitions separately from consumer sync and prevent duplicate Cloud health notifications Matthew MeszarosandDevin AI 2026-10-08 17:32:04 +00:00
  • b16dadd264 feat: refresh self-hosted Cloud pool standing from validated mailbox listings and separate availability holds from reputation bans Matthew MeszarosandDevin AI 2026-10-08 17:19:02 +00:00
  • dd9b1d5895 feat: keep warmup seeding running when dispatch recovery fails Matthew MeszarosandDevin AI 2026-10-08 17:01:05 +00:00
  • d3c6efdc46 feat: retire proven-unstarted warmup reservations and request worker reloads for missing mailboxes Matthew MeszarosandDevin AI 2026-10-08 16:55:05 +00:00
  • acbd79e3bf Merge pull request #884 from warmbly/devin/1791468189-dashboard-domexception v0.6.38 Matthew Meszaros 2026-10-08 14:58:04 +00:00
  • a1efdc928f Merge pull request #883 from warmbly/devin/1791468218-toast-contrast-sheets-setup Matthew Meszaros 2026-10-08 14:57:55 +00:00
  • dd56447c73 feat: classify duplicate passkey enrollment separately from sign-in cancellation and keep known already-registered authenticator refusals out of dashboard error tracking Matthew MeszarosandDevin AI 2026-10-08 14:15:54 +00:00
  • 3d3e546946 feat: clarify project-level Google OAuth consent isolation when setting up Sheets alongside Gmail verification Matthew MeszarosandDevin AI 2026-10-08 14:13:10 +00:00
  • eef3ea356c feat: make shared notification text readable in both themes and document Google Sheets OAuth credentials and contact sync setup Matthew MeszarosandDevin AI 2026-10-08 14:06:32 +00:00
  • 1ab74efedb Merge pull request #882 from warmbly/devin/1791458327-warmup-host-coverage Matthew Meszaros 2026-10-08 12:27:31 +00:00
  • d22893ca65 Merge pull request #881 from warmbly/devin/1791458091-mailbox-tag-sets Matthew Meszaros 2026-10-08 12:27:24 +00:00
  • f6f46b1647 Merge pull request #880 from warmbly/devin/1791456836-worker-startup-recovery Matthew Meszaros 2026-10-08 12:27:14 +00:00
  • 332b9b627f Merge pull request #879 from warmbly/devin/1791453680-normal-existing-cloud-connections Matthew Meszaros 2026-10-08 12:27:05 +00:00
  • 4b11147ff9 feat: align mailbox filtering documentation with complete tag-set grouping Matthew MeszarosandDevin AI 2026-10-08 11:32:49 +00:00
  • 691280cdef feat: give premium warmup senders all qualified recipients and balance host coverage without paid-receiver bias Matthew MeszarosandDevin AI 2026-10-08 11:31:05 +00:00
  • c28097cafd feat: keep mailbox accounts with identical unordered tag sets together in the default list order Matthew MeszarosandDevin AI 2026-10-08 11:18:15 +00:00
  • 46673a0cb8 feat: keep worker startup reload requests pending when the backend returns a null heartbeat reply Matthew MeszarosandDevin AI 2026-10-08 11:08:09 +00:00
  • c687b6fd78 feat: retry unacknowledged worker startup heartbeats and show provider-specific warmup failure guidance Matthew MeszarosandDevin AI 2026-10-08 10:57:15 +00:00
  • d86a9b683a feat: clarify that per-workspace Cloud billing applies to new connections without changing existing shared plans Matthew MeszarosandDevin AI 2026-10-08 10:11:04 +00:00
  • add3d31050 feat: keep existing Warmbly Cloud connections fully usable and remove the legacy migration settings flow Matthew MeszarosandDevin AI 2026-10-08 10:10:33 +00:00
  • e08f1e9321 Merge pull request #878 from warmbly/devin/1791441816-selfhost-realtime-upgrades v0.6.37 Matthew Meszaros 2026-10-08 08:58:05 +00:00
  • e6bd3491b2 feat: document dashboard browsing preferences, consolidate scoped search debouncing, and prevent signed-out pages from restoring saved filters after logout or token expiry Matthew MeszarosandDevin AI 2026-10-08 07:48:58 +00:00
  • af371bbe1b feat: persist user and workspace scoped browsing filters, searches, sorting and resource history views across forms, templates, automations, audit, integrations, API keys and settings while preserving URL intent and transient editor state Matthew Meszaros 2026-10-08 07:32:24 +00:00
  • efb092fbfe feat: persist workspace-scoped mailbox domain analytics deliverability placement and import browsing controls with strict schemas and resource navigation restoration regressions Matthew Meszaros 2026-10-08 07:34:24 +00:00
  • f3f4e8cafd feat: persist user and workspace scoped inbox filters search sort and nested browsing controls while recomposing URL scopes tag membership and relative dates across refreshes Matthew Meszaros 2026-10-08 07:30:44 +00:00
  • 097c56c2aa feat: persist CRM task filters and views, independent deal board and table browsing choices, and meeting searches with workspace-safe pipeline fallback and remount regression coverage Matthew Meszaros 2026-10-08 07:26:41 +00:00
  • f7757a03c7 feat: persist user and workspace scoped contacts and campaign browsing filters, resource-specific activity and import views, contact drawer tabs and analytics periods while preserving URL intent, saved sorting and intentional resets with regression coverage Matthew Meszaros 2026-10-08 07:34:59 +00:00
  • e3a128bdea feat: persist user and workspace scoped contacts and campaign browsing filters, resource-specific activity and import views, contact drawer tabs and analytics periods while preserving URL intent, saved sorting and intentional resets with regression coverage devin/1791443971-contacts-campaigns-browse-persistence Matthew Meszaros 2026-10-08 07:34:59 +00:00
  • 9092213582 feat: persist workspace-scoped mailbox domain analytics deliverability placement and import browsing controls with strict schemas and resource navigation restoration regressions devin/1791443971-accounts-analytics-browse-state Matthew Meszaros 2026-10-08 07:34:24 +00:00