Skip to content

Add ImapEngine v2 support and improve mailbox watcher retries - #8

Draft
stevebauman wants to merge 3 commits into
masterfrom
feature/v2-compatibility
Draft

stevebauman wants to merge 3 commits into
masterfrom
feature/v2-compatibility

Conversation

@stevebauman

Copy link
Copy Markdown
Member

This PR updates the Laravel integration to work with ImapEngine v2 and raises the minimum PHP version to 8.2.

I’ve updated message fetching to use the new fetch items API, kept body and header fetching from marking messages as read, and updated the mailbox fake to use the v2 factory. The default authentication mechanism is now login; existing published configurations using plain or oauth will need to use login or xoauth2 instead.

The imap:watch command now retries connection and stream failures using their exception types instead of matching error messages. Failures that reach the command respect --attempts, disconnect before retrying, and wait two seconds between attempts. Listener exceptions propagate immediately instead of restarting the watcher. I’ve also clarified the timeout units, normalized the requested message parts, and removed the unused --debug option.

This is a draft while the core v2 release is being reviewed in DirectoryTree/ImapEngine#190. The dependency currently targets 2.0.x-dev and needs to move to ^2.0 before release. We also need to resolve the Laravel 10 support claim, since the current CI matrix covers Laravel 11–13.

Configuration and connection lifecycle changes will follow separately.

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