feat: add native wrappers and cross-platform packaging support [WIP]#124
feat: add native wrappers and cross-platform packaging support [WIP]#124dcoffin88 wants to merge 90 commits into
Conversation
|
Hey, the overall architecture is solid and the optional chaining throughout means web/PWA users are unaffected. A few things to address before this can be merged: Bugs:
Code issues:
Dependency concern:
Also happy to squash-merge as you suggested once the above is addressed — the 90-commit history isn't something we need to carry. Let me know |
Summary
This PR adds MailFlow native app support for Electron desktop and Android via Capacitor, while keeping the existing source changes as minimal as possible.
It introduces the packages and build foundation needed for Windows, macOS, Linux .deb/.rpm, and Android releases, including native notifications, unread badges, quick actions, update flows, platform bridges, app icons, and automatic release versioning.
This work addresses my question in Issue #77.
Changes
Android Support
Electron/Desktop Support
Linux Packaging & Distribution
Release & Build Pipeline
Branding & Packaging Improvements
Runtime & UX Improvements
Dependency & Security Updates
Testing
Apps can be tested before merge by using my build branch.
Testing app builds are available from my dev branch of MailFlow:
https://github.com/dcoffin88/mailflow/releases/latest
For full app integration testing, the native apps should also be tested paired with the build branch Docker builds:
Tested thoroughly on:
Validation included:
Notes
This PR is large due to the interconnected nature of these wrappers and cross-platform runtime integration. The changes were grouped together to allow full validation across all supported desktop and mobile targets.
Screenshots
Contributor License Agreement
By submitting this pull request I confirm that:
third-party material and confirmed it is compatible with the CLA).