github elie222/inbox-zero desktop-v0.1.9
Inbox Zero Desktop 0.1.9

2 hours ago

What's Changed

  • mail: Unify account search and split controls by @elie222 in #3585
  • mail: Collapse the sidebar to an icon rail and let it be resized by @elie222 in #3589
  • mail: Restore offline inbox loading and desktop recovery by @elie222 in #3590
  • tooling: Add a pr-watch skill and split PR monitoring out of create-pr by @elie222 in #3591
  • fix: prevent duplicate email branding and footer scoring penalties by @elie222 in #3592
  • settings: Open settings in a dialog from any page by @elie222 in #3594
  • mail: Add inline calendar invitation responses by @elie222 in #3595
  • mail: Let a split cover several labels and split search from AI assist by @elie222 in #3593
  • mail: Align and lighten date section headings by @elie222 in #3599
  • mail: Focus email before leaving draft with Escape by @elie222 in #3596
  • fix(mail): show starred indicator in email reader by @elie222 in #3598
  • mail: Separate thread fetching and share split query construction by @elie222 in #3597
  • fix: open settings dialog from command palette by @elie222 in #3600
  • fix: clarify promotional email classification by @elie222 in #3601
  • fix: invalidate stale conversation caches during mailbox sync by @elie222 in #3604
  • mail: Unify split storage and add management dialogs by @elie222 in #3606
  • mail: Buffer unfinished pages to avoid repeated provider fetches by @elie222 in #3603
  • ci: Reduce browser jobs and narrow shared-feature coverage by @elie222 in #3602
  • mail: Handle missing child folders in sidebar by @elie222 in #3607
  • mail: Invalidate outdated persisted settings cache by @elie222 in #3610
  • fix: escape Outlook contact search values by @elie222 in #3611
  • Logging: Improve client crash diagnostic correlation by @elie222 in #3612
  • fix: Disconnect invalid Gmail grants during webhook processing by @elie222 in #3609
  • feat(auth): add opt-in email code sign-in by @elie222 in #3608
  • fix(mail): refresh date groups across midnight by @elie222 in #3616
  • fix(settings): show the email used for code sign-in by @elie222 in #3619
  • docs: changelog — Label Conversations (Sep 7) by @cursor[bot] in #3576
  • fix: prevent long email text from overflowing the reader by @elie222 in #3620
  • mail: Fix calendar cards for duplicate invitation attachments by @elie222 in #3621
  • Gmail: Improve watch and webhook tracing by @elie222 in #3622
  • fix: classify email send failures and retain diagnostics by @elie222 in #3623
  • Fix incomplete exact sender search in Outlook chat by @gentlemandev in #2961
  • fix(mail): wait for complete mailbox reconciliation by @elie222 in #3624
  • chat: Fix sender search schema compatibility by @elie222 in #3625
  • mail: Add split inbox library and condition builder by @elie222 in #3626
  • Fix Outlook scoped cleanup and deletion completion by @elie222 in #3627
  • mail: widen sender column and coarsen list date sections by @elie222 in #3628
  • Gmail: Reuse shared fields for tracing logs by @elie222 in #3630
  • ui: Fix double focus outline on inputs, selects, and textareas by @elie222 in #3634
  • fix: add safe Gmail send diagnostics by @elie222 in #3631
  • ui: Fix components page crash and trim form fields copy by @elie222 in #3636
  • fix(mail): preserve email content during document updates by @elie222 in #3635
  • fix: Protect and restore the default mail tab by @elie222 in #3637
  • docs: changelog — Split Inbox Library (Sep 10) by @cursor[bot] in #3633
  • INB-356: Exclude drafts from thread participants by @gentlemandev in #3615
  • INB-357: Preserve collapsed signatures when composing by @gentlemandev in #3617
  • mail: Prevent crashes from outdated cached settings by @elie222 in #3638
  • test: add opt-in email loading simulation by @elie222 in #3639
  • fix: improve inline reply text contrast by @elie222 in #3642
  • feat(mail): add important and catch-all inbox splits by @elie222 in #3645
  • mail: Improve opt-in contact autocomplete by @elie222 in #3643
  • Desktop: add unread badges and background mail notifications by @elie222 in #3629
  • INB-358: Preserve compose drafts when closing the composer by @gentlemandev in #3618
  • INB-348: Keep inbox unread count updated in real time by @gentlemandev in #3470
  • meetings: Open related draft from Go to Drafts (INB-328 review fixes) by @elie222 in #3640
  • security: upgrade Next.js to 16.3.4 (GHSA-2xp9-vwfh-vxw4, CVE-2026-75604) by @elie222 in #3491
  • chore: drop temporary next ncu/maturity exclude after 16.3.4 by @elie222 in #3648
  • mail: Apply sidebar colors and raised active rows by @elie222 in #3647
  • docs: changelog — Important and Other (Sep 11) by @cursor[bot] in #3646
  • Mail: Add split tab reordering and simplify controls by @elie222 in #3644
  • ci: Report startup failures promptly and preserve server diagnostics by @elie222 in #3632
  • INB-355: Add select-all option to mail thread list by @gentlemandev in #3614
  • fix: scope Outlook draft queries to the drafts folder by @elie222 in #3650
  • mail: Match the compose window to the inline reply composer by @elie222 in #3649
  • INB-352: Keep active calls in the upcoming meetings list by @gentlemandev in #3507
  • mail: Prevent blank frames when navigating between threads by @elie222 in #3652
  • chore: update dependencies and enforce exact versions by @elie222 in #3651
  • ci: Reduce dependency cache overhead and separate E2E status by @elie222 in #3654
  • ci: Run browser tests against a shared production build by @elie222 in #3655
  • auth: Reuse linked mailboxes by provider account identity by @elie222 in #3656
  • ci: Run all browser specs in production mode by @elie222 in #3657
  • bugfix-batch-0139: Scope digest action lookup by email account by @elie222 in #2519
  • digest: Prevent duplicate pending digests by @elie222 in #2518
  • ci: skip duplicate type checking in browser build by @elie222 in #3662
  • auth: Handle verified Google email renames by @elie222 in #3663
  • mail: Add star toggle to the thread actions menu by @elie222 in #3664
  • cli: Align Compose and app environment loading by @elie222 in #3659
  • ci: group browser specs by feature to reduce runner demand by @elie222 in #3666
  • fix: Preserve actionable email preview errors by @elie222 in #3658
  • fix(mail): show matched reasons per message by @elie222 in #3665
  • Share model evidence across evals by @elie222 in #3087
  • fix: skip database cleanup for uninitialized workspaces by @elie222 in #3673
  • rules: Make draft replies optional during bulk processing by @elie222 in #3670
  • fix(mail): Restore shortcuts from focused email bodies by @elie222 in #3667
  • fix: isolate mail panel errors and improve recovery by @elie222 in #3672
  • fix: display draft-only email threads by @elie222 in #3674
  • fix(mail): clarify rule action display by @elie222 in #3676
  • test(chat): Share complete assistant write-tool checks by @elie222 in #3677
  • rules: Reconcile learned patterns while preserving corrections by @elie222 in #3669
  • follow-up: Reach pending reminders beyond completed candidates by @elie222 in #3675
  • history: Group conversations with paginated message details by @elie222 in #3660
  • calendar: Surface Outlook reauthorization failures safely by @elie222 in #3668
  • mail: Support domain sender conditions by @elie222 in #3678
  • mcp: Add OAuth server with explicit consent and scoped access by @elie222 in #3661
  • mail: Refresh Outlook tokens early and preserve reader actions by @elie222 in #3671
  • chore(prisma): move User provisioning fields to the end by @elie222 in #3682
  • fix: normalize migration whitespace across PostgreSQL versions by @elie222 in #3679
  • command-k: Add Go to Mail navigation by @elie222 in #3685
  • docs: changelog — Domain Filters for Splits (Sep 12) by @cursor[bot] in #3688
  • security: upgrade linkify-it to 5.0.2 by @elie222 in #3687
  • mail: Add Gmail-style advanced search options by @elie222 in #3689
  • mail: Add undo send for compose and replies by @elie222 in #3683
  • fix(docker): Allow Meriyah to be absent from standalone trace by @elie222 in #3691
  • fix(docker): Remove obsolete Meriyah tracing workaround by @elie222 in #3692
  • desktop: Open mailboxes in multiple windows by @elie222 in #3684
  • mail: Paint unstyled HTML emails on the reader surface by @elie222 in #3696
  • mail: Hide inline sending row for replies by @elie222 in #3693
  • mail: Show when sent messages are opened by @elie222 in #3680
  • mail: Suggest Gmail other contacts while composing by @elie222 in #3694
  • mail: Keep archived mail locally and filter inbox views by @elie222 in #3695
  • auth: Key Microsoft accounts on the Entra object id by @elie222 in #3704
  • fix: restore shared data fetching on the upgrade page by @elie222 in #3702
  • auth: Bind account reconnects to the mailbox they target by @elie222 in #3708
  • mail: Keep forwards in their thread and explain unreadable threads by @elie222 in #3707
  • billing: Fix trial conversion and scheduled cancellation tracking by @elie222 in #3701
  • mail: Keep Outlook forwards in their conversation by @elie222 in #3710
  • chore: Resolve the Microsoft account key from stored id_tokens by @elie222 in #3711
  • test: Cover the signup-to-paid flow with a Stripe emulator by @elie222 in #3709
  • mail: Carry a forward's attachments on Gmail by @elie222 in #3712
  • integrations: Fix Attio OAuth client registration failure by @elie222 in #3713
  • Add isolated browser unsubscribe worker by @elie222 in #3686
  • mail: Parse the recipients of an Outlook reply by @elie222 in #3715
  • mail: Show the files a forward carries by @elie222 in #3714
  • Meeting briefs: prioritize decisions and improve context retrieval by @elie222 in #3705
  • mail: Fix search field font size and add search suggestions by @elie222 in #3716
  • Add provider-agnostic voice for chat and compose by @elie222 in #3698
  • mail: Add slash snippets in compose by @elie222 in #3697
  • mail: Focus the To field when forwarding by @elie222 in #3706
  • mail: Surface mark as read next to archive by @elie222 in #3718
  • llm: Add Cerebras provider and upgrade to AI SDK 7 by @elie222 in #3703
  • unsubscribe: Skip page classification that cannot change the result by @elie222 in #3717
  • desktop: Coalesce web update reload prompts by @elie222 in #3719
  • mail: Move keyboard shortcuts from the sidebar into Command K by @elie222 in #3721
  • mail: Offer named snooze times instead of relative presets by @elie222 in #3722
  • desktop: Keep the collapsed mail rail below the traffic lights by @elie222 in #3720
  • mcp: Show a clear message on the consent page for email code sessions by @elie222 in #3723
  • auth: Require a provider session to link or reconnect a mailbox by @elie222 in #3724
  • mail: Align the advanced search panel with the search field by @elie222 in #3725
  • mail: Keep quote toggle above expanded history by @elie222 in #3729
  • mail: Show Outlook participants across conversation folders by @gentlemandev in #3498
  • unsubscribe: Fix the worker image build and its install instructions by @elie222 in #3731
  • mail: Restore Outlook calendar invitation responses by @elie222 in #3728
  • meetings: Open follow-up drafts within Outlook mail by @elie222 in #3727
  • mail: Refresh draft indicators after reader changes by @elie222 in #3730
  • mail: Preserve every saved draft in thread composers by @elie222 in #3641
  • unsubscribe: Let the sandbox browser reach the broker by @elie222 in #3733
  • unsubscribe: Stop shipping a second copy of the browsers by @elie222 in #3734
  • mail: Save new messages as mailbox drafts by @elie222 in #3732
  • mail: Collapse sidebar labels from the group heading by @elie222 in #3736
  • docs: changelog — Advanced Search (Sep 15) by @cursor[bot] in #3700
  • unsubscribe: Finish the unsubscribe instead of opening the sender's page by @elie222 in #3738
  • mail: Keep archived threads out of inbox splits by @elie222 in #3735
  • mail: Remove server-side compose draft storage by @elie222 in #3737
  • mail: Add local-first search with provider completion by @elie222 in #3739
  • onboarding: Guard persona refresh after navigation by @elie222 in #3747
  • fix: prevent attachment download button clipping by @elie222 in #3751
  • fix(mail): Preserve draft references and clarify failed reply recovery by @elie222 in #3749
  • refactor(ui): consolidate shared component styling by @elie222 in #3752
  • mail: Activate background sync after opening mail by @elie222 in #3741
  • mail: Persist sync ownership and retry checkpoints by @elie222 in #3742
  • mail: Persist resumable search index work by @elie222 in #3744
  • fix: prevent hydration mismatch from conditional contactPoint in home… by @Samiullah-2004 in #3436
  • fix(cli): use valid Gemini model IDs by @keshavraj936 in #3489
  • mail: Respect and edit Gmail label visibility settings by @elie222 in #3755
  • mail: Persist canonical message records by @elie222 in #3745
  • llm: refresh default model lists across providers by @elie222 in #3756
  • mail: Collapse non-inbox views into one Mail group, add scheduled view by @elie222 in #3753
  • mail: Add persistent local search by @elie222 in #3746
  • mail: Add budgeted local synchronization protocols by @elie222 in #3748
  • mail: Add durable activated mailbox sync runtime by @elie222 in #3750
  • onboarding: Add paywall-first onboarding A/B test by @elie222 in #3757
  • onboarding: Fix blank onboarding page for the paywall-first arm by @elie222 in #3759
  • chore: Remove concluded experiment flags and park the chat onboarding by @elie222 in #3763
  • mail: Unify hover shortcuts as label plus key chips by @elie222 in #3764
  • feat(mail): add local storage controls and cached attachments by @elie222 in #3754
  • teams: Add environment flag for connection UI by @elie222 in #3769
  • chore: sync main into staging (2026-09-17) by @elie222 in #3767
  • mail: Keep designed HTML emails light in dark mode by @elie222 in #3766
  • mail: Fix Outlook advanced search failing to fetch threads by @gentlemandev in #3765
  • meetings: Open Outlook follow-up drafts in the full mail client by @gentlemandev in #3762
  • calendar: Show invite response buttons for Exchange-regenerated invitations by @gentlemandev in #3760
  • mail: Drop in-progress search status banner by @elie222 in #3770
  • mcp: Make the remote server live-ready at /mcp by @elie222 in #3768
  • docs: Drop internal MCP rollout notes from public copy by @elie222 in #3775
  • perf: Paint the homepage hero immediately and cut boot work by @elie222 in #3773
  • mail: Add opt-in OTP split inbox by @elie222 in #3771
  • mail: Keep mail offline without asking by @elie222 in #3772
  • perf: Shrink the homepage hero thumbnail by @elie222 in #3778
  • fix: Resolve stream-json in Turbopack by @elie222 in #3777
  • mail: Split Gmail and Outlook advanced search into native queries by @elie222 in #3774
  • settings: Move MCP under Account and document ChatGPT, Claude, Cursor by @elie222 in #3779
  • mcp: Accept Cursor's host-bearing OAuth redirect URI by @elie222 in #3780
  • mail: Remove the offline-copy guards left with no writer by @elie222 in #3781
  • mail: Answer boolean searches from the local index by @elie222 in #3782
  • mail: Drop two local-mail protections nothing can reach by @elie222 in #3783
  • mcp: Hand Cursor's native callback back after consent by @elie222 in #3784
  • mail: Search attachments and relative dates from the local index by @elie222 in #3785
  • docs: Note that an index schema change needs a source version bump by @elie222 in #3788
  • billing: Allow existing subscribers to switch to annual billing by @elie222 in #3786
  • mail: Wait for local search before prompting for the provider by @elie222 in #3790
  • rules: Add optional classifier-based rule selection by @elie222 in #3791
  • reply-tracker: Define conversation statuses once, on the rule by @elie222 in #3787
  • billing: Stabilize onboarding experiment tracking by @elie222 in #3797
  • mail: Restrict attachment previews to raster images by @elie222 in #3798
  • auth: Bind native sign-in handoffs to provider completion and PKCE by @elie222 in #3799
  • auth: Require application admin access for SSO management by @elie222 in #3800
  • onboarding: Use PostHog as experiment assignment source by @elie222 in #3801
  • rules: Enable explicitly created rules without a second toggle by @elie222 in #3804
  • rules: Drop AI sender patterns on custom rules when their label is removed by @elie222 in #3805
  • reply-tracker: Ignore the assistant's own filing emails when determining thread status by @elie222 in #3795
  • rules: Ask the classifier about cold email as its own yes/no by @elie222 in #3807
  • auth: Keep inline profile photos out of the session cookie by @elie222 in #3809
  • docs: changelog — Instant Local Search (Sep 17) by @cursor[bot] in #3758
  • assistant: Clarify user intent for email-based rules by @elie222 in #3803
  • mail: Keep Outlook attachment flags in local search by @elie222 in #3810
  • test: Drop low-value MCP copy and implementation-mirror tests by @elie222 in #3776
  • ai: Add optional JEV decision-model routing by @elie222 in #3806
  • billing: Mark trial users as premium in Loops by @elie222 in #3811
  • skills: Raise pr-watch fix-round and time limits by @elie222 in #3814
  • email: Group weekly summary by sender and link rows to emails by @elie222 in #3812
  • queue: Spread weekly summary fan-out and cap retries by @elie222 in #3813
  • email: Cap cold emails fetched for the weekly summary by @elie222 in #3816
  • Mail engine: SQLite mailbox with engine-owned web lists by @elie222 in #3793
  • docs: changelog — Weekly Summaries by Sender (Sep 22) by @cursor[bot] in #3819
  • mail-sqlite: Fix Vercel build and Outlook reader e2e by @elie222 in #3820
  • integrations: Support custom remote MCP servers by @elie222 in #3818
  • chore: upgrade bullmq to 6.3.8 and ioredis to 6.0.0 by @elie222 in #3821
  • ai: Add opt-out for AI sender pattern learning by @elie222 in #3794
  • Track referral surface engagement by @elie222 in #3726
  • fix: Load Geist and Inter as variable fonts by @elie222 in #3822
  • chore: rename HTTP Redis env vars to REDIS_HTTP_* by @elie222 in #3826
  • mail: prepare shared mail packages for a native client by @elie222 in #3824
  • Allow the Expo auth proxy to open the local emulator in development by @elie222 in #3829

New Contributors

Full Changelog: desktop-v0.1.8...desktop-v0.1.9

Don't miss a new inbox-zero release

NewReleases is sending notifications on new releases.