feat: change default poll/sync frequency to 5min
Description
We defined the default settings of the mail accounts:
- Poll/sync every 5 minutes
- Push service (constant connection to the mail server which provides instant mail sync) is disabled by default
Screenshots
Default option, before:
Default option, after:
Technical details
The mail app already sets "enabledPush" to false, so no change was made for that. We still reverted, as advised, https://gitlab.e.foundation/e/os/mail/-/commit/f65067850cccdd5ca7fed6db5b09d68f1fec5d7d but it should have no effect on the result.
This commit also add the option of "Every 5 minutes" to the "add account" menu, which was missing even though it was available from the settings after that.
Tests
Tested the app before and after changes:
- Start the app, add a new account. Check default value for poll/sync interval
- Go to side menu, manage folders. Check for each account whether the account has push enabled by default.
- Tested push service activation, to see if user could still use the push service if they wanted to.
Issues
https://gitlab.e.foundation/e/os/backlog/-/issues/3097
10 commandments of code review
Summary by CodeRabbit
-
New Features
- Introduced a new K-9 Mail app module with its own configuration, dependency injection, and widget support.
- Added extensive localization support for multiple languages.
- Implemented new GitHub and GitLab CI/CD workflows for building, testing, security scanning, and documentation deployment.
- Added support for dependency management, ProGuard rules, and product flavoring (FOSS/Full) in the build system.
- New documentation files, code of conduct, and authorship information.
-
Bug Fixes
- Improved and clarified issue templates and workflow configurations for better contributor experience.
-
Chores
- Cleaned up and restructured ignore files, configuration files, and removed deprecated modules and resources.
- Updated repository metadata, ownership, and contribution guidelines.
-
Documentation
- Added and updated README files for app modules and overall project structure.
- Provided detailed app and release metadata for distribution platforms.
-
Refactor
- Modularized shared code and restructured application modules for maintainability.
- Removed obsolete feature preview module and related resources.
-
Style
- Updated formatting rules and code style configurations for consistency across the project.

