Skip to content

Conversation

@printminion-co
Copy link

No description provided.

@continue
Copy link

continue bot commented Dec 29, 2025

All Green - Keep your PRs mergeable

Learn more

All Green is an AI agent that automatically:

✅ Addresses code review comments

✅ Fixes failing CI checks

✅ Resolves merge conflicts


Unsubscribe from All Green comments

@printminion-co printminion-co force-pushed the mk/dev/ionosmail-refactor-reviewable branch 13 times, most recently from 3c4a64b to b4fb4f7 Compare December 30, 2025 16:28
…ovider system

Add provider system with IMailAccountProvider interface, ProviderRegistryService,
and ExternalAccountsController. Includes ProviderCapabilities for declaring
provider features, AccountProviderService for business logic, and comprehensive
unit tests.

Signed-off-by: Misha M.-Kupriyanov <[email protected]>
Relocate MailAccountConfig and MailServerConfig from lib/Service/IONOS/Dto
to lib/Provider/MailAccountProvider/Common/Dto to make them reusable by
multiple providers. Update imports in consuming classes and move unit tests.

Signed-off-by: Misha M.-Kupriyanov <[email protected]>
…d cleanup integration

Add AccountProviderService to PageController to expose mail-providers-available
config to frontend. Integrate ProviderRegistryService into UserDeletedListener
for provider-managed account cleanup. Update unit tests.

Signed-off-by: Misha M.-Kupriyanov <[email protected]>
…r for mail config availability check

Refactor IonosMailConfigService.isMailConfigAvailable to accept optional
user ID parameter. Add unit tests to verify behavior with explicit user IDs.

Signed-off-by: Misha M.-Kupriyanov <[email protected]>
…e Mail account provider

Add IonosProvider implementation with IonosProviderFacade, IonosAccountMutationService,
and IonosAccountQueryService. Includes comprehensive unit tests for all components.

Signed-off-by: Misha M.-Kupriyanov <[email protected]>
…ication bootstrap

Register IonosProvider in Application.boot() with exception handling and logging.
Add unit tests for constructor, provider registration flow, and error handling.

Signed-off-by: Misha M.-Kupriyanov <[email protected]>
…mponent

Add ExternalProviderTab component to replace IONOS-specific NewEmailAddressTab
with provider-agnostic implementation. Update AccountForm.vue to use new component.

Signed-off-by: Misha M.-Kupriyanov <[email protected]>
Remove IonosAccountsController, IonosServiceException, and related routes.
These are superseded by the provider system. Update tests and remove obsolete code.

Signed-off-by: Misha M.-Kupriyanov <[email protected]>
…r namespace

Relocate all IONOS services from lib/Service/IONOS to
lib/Provider/MailAccountProvider/Implementations/Ionos/Service.
Update namespace declarations and imports in consuming classes.

Signed-off-by: Misha M.-Kupriyanov <[email protected]>
…n during account creation

Implement progressive user feedback and retry mechanism in ExternalProviderTab.
Retry mailbox fetch 3 times with exponential backoff and jitter (2-3s, 4-6s).
Show clear status messages during each phase. Redirect after max retries with
message about delayed sync.

Signed-off-by: Misha M.-Kupriyanov <[email protected]>
@printminion-co printminion-co force-pushed the mk/dev/ionosmail-refactor-reviewable branch from b4fb4f7 to ea0536e Compare December 30, 2025 16:41
…provider management

Add ProviderCommandBase, ProviderList, ProviderStatus, ProviderCreateAccount,
and ProviderDeleteAccount commands with full parameter validation, error handling,
and comprehensive unit tests.

Signed-off-by: Misha M.-Kupriyanov <[email protected]>
…o.xml

Register ProviderList, ProviderStatus, ProviderCreateAccount,
ProviderGenerateAppPassword, and ProviderDeleteAccount in info.xml.

Signed-off-by: Misha M.-Kupriyanov <[email protected]>
…ords for external accounts

Add ExternalAccountsController.generatePassword() endpoint with route
/api/providers/{providerId}/password. Add IProviderCapabilities.supportsAppPasswordGeneration
and IMailAccountProvider.generateAppPassword(). Update README with documentation.

Signed-off-by: Misha M.-Kupriyanov <[email protected]>
…e Mail app password reset

Implement IonosProvider.generateAppPassword() using IonosProviderFacade.generateAppPassword()
which calls IonosAccountMutationService.resetPassword(). Add comprehensive unit tests.

Signed-off-by: Misha M.-Kupriyanov <[email protected]>
…rovider app password generation

Add ProviderGenerateAppPassword command with full parameter validation and
comprehensive unit tests.

Signed-off-by: Misha M.-Kupriyanov <[email protected]>
…ord command in info.xml

Register ProviderGenerateAppPassword in info.xml.

Signed-off-by: Misha M.-Kupriyanov <[email protected]>
@printminion-co printminion-co force-pushed the mk/dev/ionosmail-refactor-reviewable branch 2 times, most recently from d21ab41 to 39cc274 Compare December 30, 2025 17:32
@printminion-co printminion-co marked this pull request as draft December 30, 2025 17:33
…s documentation

Add doc/provider-commands.md with usage, parameters, examples, workflows,
troubleshooting, and testing instructions for all provider management commands.

Signed-off-by: Misha M.-Kupriyanov <[email protected]>
…property to readonly in PageController

Make PageController.accountProviderService readonly and add provider metadata
to serialized account data. Update unit tests.

Signed-off-by: Misha M.-Kupriyanov <[email protected]>
…ponse with provider metadata

Updated the ExternalAccountsController to include provider metadata in the account creation response. This change improves the information returned to the client, facilitating better integration with the account provider service.

Signed-off-by: Misha M.-Kupriyanov <[email protected]>
…ider-managed accounts

Add ProviderPasswordService.js for API calls, ProviderAppPassword.vue component
for password reset UI with generate/copy functionality. Integrate into
AccountSettings.vue for provider-managed accounts with app password support.

Signed-off-by: Misha M.-Kupriyanov <[email protected]>
@printminion-co printminion-co force-pushed the mk/dev/ionosmail-refactor-reviewable branch from 39cc274 to 32f8d27 Compare December 30, 2025 17:46
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