unofficial-protonmail-desktop / application

:envelope: Unofficial desktop client for ProtonMail
MIT License
534 stars 49 forks source link

Optional offline/searchable version #147

Open vinyll opened 7 years ago

vinyll commented 7 years ago

Protonmail does not offer the possibility of using a email client (except using the beta bridge for premium users). Right now Rambox or Franz offer Protonmail service app that are similar to the desktop version (like multiple accounts).

The dedicated desktop application could offer an alternative solution to email clients, like keeping a local readable copy for offline purpose, and eventually searching through local emails. Because it may be a privacy concern, this feature could be either locally locked (local encryption?), or simply and opt-in (disabled by default).

SkyzohKey commented 6 years ago

This would need to be implemented into Protonmail itself by using LocalStorage and other offline related features (manifests, etc). Protonmail desktop cannot implement this I guess.

kontrollanten commented 6 years ago

I think you're right, @SkyzohKey, this is nothing that should be implemented in ProtonMail Desktop, it should be in ProtonMails web client.

vinyll commented 6 years ago

I'm still actively seeking a solution for this ;) Wondering how https://github.com/scastiel/protonmail-export be an inspiration somehow…

vinyll commented 6 years ago

ProtonMail has an API that we could probably use to enhance the desktop version. I wrote an invite to gather forces on building something that would bring a real solution to this issue, and would make ProtonMail Desktop a real advantage compare to the current online version.

If you have time to read the invite it would be greatly appreciated. Opinions and feedbacks would be more than welcome :)

kontrollanten commented 6 years ago

Interesting idea, @vinyll ! One option could be to embed the ProtonMail webclient "locally" (instead of using mail.protonmail.com) inside the ProtonMail Desktop client and then put in a service worker to cache everything and web workers to crawl the mailbox for offline storage.

Since it's possible to use NodeJS features inside Electron web workers we could use Puppeteer or something similar to do the crawling. In theory it sounds like it's not too hard to accomplish.