Skip to content

Feat. Add Personal Microsoft Accounts Ingestion#314

Open
sorglos123 wants to merge 30 commits into
LogicLabs-OU:mainfrom
sorglos123:main
Open

Feat. Add Personal Microsoft Accounts Ingestion#314
sorglos123 wants to merge 30 commits into
LogicLabs-OU:mainfrom
sorglos123:main

Conversation

@sorglos123
Copy link
Copy Markdown

This pull request introduces support for Outlook Personal (personal Microsoft accounts) as a new email provider, improves local development workflows, and updates documentation and environment configuration to reflect these enhancements. The most important changes are grouped below:

Outlook Personal Provider Integration

  • Added new OAuth2 + PKCE endpoints in IngestionController for Outlook Personal authorization and callback, enabling secure connection and ingestion for personal Microsoft accounts.
  • Added documentation for Outlook Personal setup, including Azure app registration, permissions, troubleshooting, and security considerations in docs/user-guides/email-providers/outlook-personal.md.
  • Updated README.md and documentation navigation to reference Outlook Personal as a supported provider and provide links to setup guides. [1] [2] [3] [4]

Local Development Improvements

  • Added docker-compose.dev.yml for running dependency services (Postgres, Valkey, Meilisearch, Tika) during local development, and improved .env.example with bind host and allowed hosts configuration. [1] [2]
  • Updated .dockerignore to ignore build, cache, coverage, docs, and asset files for cleaner Docker builds.
  • Refined Dockerfile and build scripts to copy only necessary sources for OSS builds, improving cache reuse and build speed.

Environment and Configuration Updates

  • Added Outlook Personal OAuth environment variables (OUTLOOK_PERSONAL_CLIENT_ID, OUTLOOK_PERSONAL_CLIENT_SECRET, OUTLOOK_PERSONAL_REDIRECT_URI) to .env.example for easier configuration.
  • Backend now binds to configurable host via HOST_BACKEND environment variable for improved flexibility in local and production setups.

Dependency Updates

  • Added ioredis as a dependency in packages/backend/package.json,Primary use: OAuth state storage in Redis/Valkey, via a direct import in packages/backend/src/helpers/oauthStateStore.ts.

Build and Start Script Enhancements

  • Improved package.json scripts for development, including new commands for parallel app and worker startup, and a script to stop development processes cleanly.

These changes collectively enable Outlook Personal account support, streamline local development, and enhance configuration and documentation for both new and existing users.

sorglos123 and others added 30 commits February 3, 2026 15:08
- Implemented OAuth2 + PKCE flow for Outlook Personal in the ingestion controller.
- Added routes for authorization and callback handling for Outlook Personal.
- Updated application configuration to include Outlook Personal client credentials.
- Extended ingestion sources schema to support Outlook Personal as a provider.
- Created OutlookPersonalConnector to handle email fetching and token management.
- Enhanced EmailProviderFactory to instantiate OutlookPersonalConnector.
- Updated IngestionService to manage Outlook Personal authentication and token exchange.
- Modified frontend components to support Outlook Personal OAuth flow, including form handling and callback processing.
- Added new types for Outlook Personal credentials and sync state management.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Merging will do comments in a new branch
Co-authored-by: sorglos123 <56429664+sorglos123@users.noreply.github.com>
…oauth session keys

Co-authored-by: sorglos123 <56429664+sorglos123@users.noreply.github.com>
…sages

Co-authored-by: sorglos123 <56429664+sorglos123@users.noreply.github.com>
…uth state

Co-authored-by: sorglos123 <56429664+sorglos123@users.noreply.github.com>
Co-authored-by: sorglos123 <56429664+sorglos123@users.noreply.github.com>
…Connector

Co-authored-by: sorglos123 <56429664+sorglos123@users.noreply.github.com>
…18n deletion_disabled

Co-authored-by: sorglos123 <56429664+sorglos123@users.noreply.github.com>
…and-docs

fix: PR validation — sync PKCE helper, named Lua constant, complete i18n deletion_disabled
- Implemented OAuth state management for Outlook Personal using Redis.
- Added new ingestion provider type for Outlook Personal in the database schema.
- Created OutlookPersonalConnector to handle email fetching and token management.
- Updated IngestionService to initiate and complete Outlook Personal OAuth flow.
- Enhanced EmailProviderFactory to support Outlook Personal connector.
- Modified frontend components to handle Outlook Personal authentication.
- Added OAuth callback page to process authorization code and state.
- Updated API client to manage access tokens from cookies.
- Improved error handling and user feedback during OAuth flow.
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Feb 26, 2026


Thank you for your submission, we really appreciate it. Like many open-source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution. You can sign the CLA by just posting a Pull Request Comment same as the below format.


I have read the CLA Document and I hereby sign the CLA


1 out of 2 committers have signed the CLA.
✅ (sorglos123)[https://github.com/sorglos123]
❌ @Copilot
You can retrigger this bot by commenting recheck in this Pull Request. Posted by the CLA Assistant Lite bot.

@sorglos123
Copy link
Copy Markdown
Author

I have read the CLA Document and I hereby sign the CLA

@sorglos123
Copy link
Copy Markdown
Author

Recheck

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants