desktop-v0.1.9

MODSetter/SurfSensedesktop-v0.1.9Sep 23, 2026by github-actions[bot]

Upgrading?

AI Summary

Major UI overhaul featuring a collapsible sidebar, unified search controls, and a security upgrade to Next.js 16.3.4.

Key Highlights

  • Collapse the sidebar to an icon rail and let it be resized
  • Unify account search and split controls
  • Upgrade Next.js to 16.3.4 (security fix)
  • Add opt-in email code sign-in

New Features

  • Sidebar redesign
  • Unified search
  • Security patch (Next.js upgrade)
  • Code sign-in
  • Offline recovery

Full Release Notes

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

## New Contributors
* @Samiullah-2004 made their first contribution in https://github.com/elie222/inbox-zero/pull/3436
* @keshavraj936 made their first contribution in https://github.com/elie222/inbox-zero/pull/3489

**Full Changelog**: https://github.com/elie222/inbox-zero/compare/desktop-v0.1.8...desktop-v0.1.9

Related Repositories