Skip to content

Add IMAP inbox and application tracking - #415

Open
emnl51 wants to merge 2 commits into
orangecoding:masterfrom
emnl51:feature/imap-inbox-application-tracking
Open

Add IMAP inbox and application tracking#415
emnl51 wants to merge 2 commits into
orangecoding:masterfrom
emnl51:feature/imap-inbox-application-tracking

Conversation

@emnl51

@emnl51 emnl51 commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

Summary

This PR adds a user-scoped IMAP inbox and application-tracking workflow to Fredy. Incoming replies can be synchronized, matched to listings, reviewed, and managed without leaving Fredy.

Features

  • Personal IMAP configuration under Settings → Mailbox
  • Encrypted credentials using an external encryption key
  • Gmail-compatible, UIDVALIDITY-aware incremental synchronization
  • Bounded initial import, duplicate prevention, message-size protection, and safe resume handling
  • Initial extensible matching heuristics based on listing references, normalized addresses, and email threads
  • Manual assignment and unassignment for unmatched or ambiguous messages
  • Dedicated Mail Inbox for synchronization, message review, and listing assignment
  • Application stages: Applied, Invited, Visited, Documents Sent, Accepted, Rejected, and Not Invited
  • Related emails displayed in listing details
  • User-scoped API access and storage
  • Retention protection for listings connected to applications
  • Configurable synchronization schedule
  • English, German, and Turkish translations
  • Database migrations 35–37
  • Tests covering encryption, synchronization, matching, migrations, storage, cron execution, statuses, and translations

Automatic matching is currently a basic foundation designed for future improvements such as provider-specific parsers, sender rules, subject patterns, and advanced scoring. Ambiguous results remain available for manual assignment.

Configuration

Deployments must provide:

FREDY_MAIL_ENCRYPTION_KEY

The synchronization schedule can optionally be configured with:

FREDY_MAIL_SYNC_CRON

Validation

  • 128 focused tests passed
  • Prettier check passed
  • ESLint passed
  • Frontend production build passed

This implementation does not automatically reply to emails, submit applications, or open confirmation links.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 97e0a330ae

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread lib/services/storage/mailStorage.js Outdated
Comment thread lib/services/mail/imapSyncService.js
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.

1 participant