Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • UnifiedPush for IMAP UnifiedPush for IMAP
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Packages & Registries
    • Packages & Registries
    • Infrastructure Registry
  • Wiki
    • Wiki
  • Activity
  • Create a new issue
  • Issue Boards
Collapse sidebar
  • UnifiedPush for IMAP
  • UnifiedPush for IMAPUnifiedPush for IMAP
  • Wiki
  • Home

Home · Changes

Page history
Update home authored Oct 01, 2024 by Julian Foad's avatar Julian Foad
Hide whitespace changes
Inline Side-by-side
Showing with 29 additions and 11 deletions
+29 -11
  • home.md home.md +29 -11
  • No files found.
home.md
View page @ 5cfe42bd
*Other Wiki pages: [NGI Proposal](https://lab.trax.im/up-for-imap/up-for-imap/-/wikis/NGI-Proposal)*
---
# UnifiedPush for email via IMAP WebPush
This project brings freedom-tech push notifications to mobile email.
Email apps are a priority for wider adoption of UnifiedPush, the standard for independent mobile push notifications. Providers wait for app support, apps wait for server support, but mail servers are diverse.
This project implements:
## Project Summary
- an IMAP extension for WebPush support, in one IMAP server;
- UnifiedPush via IMAP-WebPush, in one mobile IMAP client.
Referring to a draft specification for "IMAP WebPush Extension":
The chosen IMAP server and client are likely to be Dovecot (as used in mailcow) and K9-mail (now a Thunderbird project).
1. implement IMAP WebPush Extension for one IMAP server (TBC);
2. implement UnifiedPush support through IMAP-WebPush in one mobile IMAP client app (DeltaChat-android);
3. submit these implementations upstream for review, asking what further work would be needed to make them technically acceptable;
4. feed back any insights from the implementation to improve the draft spec.
The result will:
Outputs:
- demonstrate the feasibility of freedom-tech push notifications for email;
- demonstrate the feasibility of adding it to common existing (IMAP) mail servers;
- provide a proof-of-concept implementation for one server and one client.
1. proof-of-concept implementations (server side, client side);
2. demonstration that the client receives IMAP push notifications over UnifiedPush and does not need an IMAP-IDLE connection;
3. know what further work would be needed to make the implementations technically acceptable upstream;
4. possibly improved draft spec.
This implementation will initially follow a draft specification for IMAP WebPush Extension. This work may support and inform an update to that spec.
---
*The section above is also in the [NGI Proposal](NGI-Proposal). The following sections are additional.*
## Rationale
......@@ -34,6 +43,11 @@ Many email servers, probably most, are unlikely to adopt a new extension, in the
Even a modest increase in server support might be expected to enable a more than proportionate increase in client support.
## Ecosystem
MicroG implements an interface to Google's FCM push notifications service, within a mostly free-software OS, for apps that request it. MicroG might be a place where it is useful to add a UnifiedPush distributor. It could integrate partially with the FCM service. Therefore this might also be of interest when considering the impact of enabling UnifiedPush for email apps.
## References
- [UnifiedPush](https://unifiedpush.org/) -- [source](https://codeberg.org/UnifiedPush/)
......@@ -46,6 +60,10 @@ Even a modest increase in server support might be expected to enable a more than
- [lttrs-android](https://codeberg.org/iNPUTmice/lttrs-android) supports U-P via JMAP WebPush
- [DeltaChat](https://delta.chat/) -- [source](https://github.com/deltachat) -- [other clients](https://support.delta.chat/t/list-of-all-know-client-projects/3059)
- [K9-mail](https://k9mail.app/) -- [source](https://github.com/k9mail) -- [closed](https://github.com/thunderbird/thunderbird-android/issues/5123) [issues](https://github.com/thunderbird/thunderbird-android/issues/5165) -- [JMAP request](https://github.com/thunderbird/thunderbird-android/issues/3272) -- [wishlist](https://connect.mozilla.org/t5/ideas/idb-p/ideas/label-name/thunderbird%20android) (this is not on it)
- Email servers:
- [mailcow](https://docs.mailcow.email/) (contains Dovecot)
- [Dovecot](https://doc.dovecot.org) -- [push plugin](https://doc.dovecot.org/main/core/plugins/push_notification.html), [push-lua](https://doc.dovecot.org/main/core/plugins/push_notification_lua.html)
- [Stalwart](https://stalw.art/) -- [JMAP push](https://stalw.art/docs/jmap/push/)
---
[^1]: A "power user" on a freedom software OS need not wait for UnifiedPush provision, as they can install a UnifiedPush distributor, grant it sufficient permissions, and connect it to a server of their choosing. However this does not change the equation much for app developers targeting ordinary people.
Clone repository
  • NGI Proposal
  • Home