Commit graph

420 commits

Author SHA1 Message Date
the-djmaze 7b6603719e v2.18.5 2022-10-07 13:17:50 +02:00
the-djmaze 2defb7ec35 Better keyword/tags/labels handling for #419 2022-10-06 10:42:21 +02:00
the-djmaze 875dae0755 Allow searching on keyword/tag/label #419 2022-10-05 11:32:06 +02:00
the-djmaze a51f86ae28 Make the "show inline images as attachments" optional and cleanup localization data 2022-10-03 20:15:12 +02:00
the-djmaze 0fce269a82 listCheckedOrSelectedUidsWithSubMails() now returns Set instead of Array 2022-09-27 23:46:13 +02:00
the-djmaze cfbc04d3a4 Resolve #534 2022-09-27 18:56:28 +02:00
the-djmaze 88f7b3d345 Added option to (un)hide Kolab folders 2022-09-27 09:46:49 +02:00
the-djmaze d1d820da73 Drop ko.extenders.limitedList 2022-09-26 11:55:26 +02:00
the-djmaze 1d982f3306 Improvement for #518 2022-09-13 23:00:26 +02:00
the-djmaze b01b18647a Bugfix: i broke hasCheckedOrSelected() 2022-09-13 22:00:49 +02:00
the-djmaze 0c87bbac21 Faster Selector.autoSelect 2022-09-09 17:04:52 +02:00
the-djmaze 47a861a243 Speedup listChecked().length to hasChecked() 2022-09-09 10:02:40 +02:00
the-djmaze d8b1e3432a Improved ComposePopupView bSkipNextHide to ComposePopupView.inEdit 2022-09-08 13:28:24 +02:00
the-djmaze 7df534b4b5 Rename isSpamAllowed to logical canMarkAsSpam 2022-09-08 12:16:37 +02:00
the-djmaze f451af2188 Centralize current Folder checks to prevent bugs (which there were) 2022-09-07 23:39:46 +02:00
the-djmaze 732b6eb641 Use JavaScript Optional chaining 2022-09-02 11:52:07 +02:00
the-djmaze 15dd6f5a5c Resolve #496 2022-08-31 17:31:08 +02:00
the-djmaze 88222034e6 No need to filter FolderUserStore.getNextFolderNames() result 2022-08-18 09:06:02 +02:00
the-djmaze 629f75d4e8 User -> Settings -> General: add more compose window defaults:
* Request a read receipt
* Request a delivery receipt
* Sign
* Encrypt
2022-08-09 15:34:55 +02:00
the-djmaze 04083f478a cleanup OpenPGP.js askPassphrase 2022-08-08 14:33:45 +02:00
the-djmaze 977868c1fa Also PGP sign with private keys that have no passphrase #429 2022-08-08 09:53:19 +02:00
the-djmaze 7a85a75ca9 Allow private keys without passphrase in local browser storage as requested by #429 2022-08-08 09:26:45 +02:00
the-djmaze 18dc2889ce Cleanup folder handling a bit 2022-08-03 11:06:09 +02:00
the-djmaze 3d4f804e5f Added "Hide messages marked for deletion" #470 2022-08-02 14:20:07 +02:00
the-djmaze 4349eda310 Translate request errors for #471 2022-08-02 11:01:19 +02:00
the-djmaze 561445de03 Better solution for #471 2022-08-01 22:45:17 +02:00
the-djmaze 2c4bd445a5 Resolve #471 by extending fetch messagelist to 60 seconds and handling timeout/abort 2022-08-01 13:59:14 +02:00
the-djmaze c2d6ee90ac Improved message flags/keywords/tags #419 2022-06-08 14:54:51 +02:00
the-djmaze df80ff9533 Put sound notifications in SMAudio 2022-06-07 18:46:06 +02:00
the-djmaze 78a3b1a5be Cleanup some MessageFlagsCache handling 2022-06-07 15:48:16 +02:00
the-djmaze a60d027169 Improved message cache handling and drop unused NEW_MESSAGE_CACHE 2022-06-07 11:54:19 +02:00
the-djmaze 9e4edd8843 Improved tags #419 2022-06-03 14:46:05 +02:00
the-djmaze 70e3e6423e Added message tags toggle for #419 2022-06-03 13:47:04 +02:00
the-djmaze a43fadb4e8 Use JMAP rfc8621 section-4 subject and receivedAt 2022-06-01 23:21:59 +02:00
the-djmaze 118505f91e Use JMAP rfc8621 section-2 totalEmails, unreadEmails and isSubscribed 2022-06-01 22:50:35 +02:00
the-djmaze 899648d8e4 Improved handling of imap message flags/keywords 2022-05-31 20:38:35 +02:00
the-djmaze a57d4dc4b1 Idea for #344 2022-05-20 08:34:11 +02:00
the-djmaze 824311937a Improved Kolab AddressBook/Contacts 2022-05-13 16:17:13 +02:00
the-djmaze 435b590b3e Drop mail composer HTML/Plain Forced to prevent confusions like in #355 2022-04-30 00:43:38 +02:00
the-djmaze 0a49027840 Resolve #293 2022-04-16 11:01:24 +02:00
the-djmaze 20e391cf1c Added: show GnuPG import/delete key error 2022-04-16 02:02:38 +02:00
the-djmaze 99ffb986f1 Resolve #303 isString() error 2022-03-24 13:23:52 +01:00
the-djmaze 91327a3c6c Better solution for #298 2022-03-22 16:24:58 +01:00
the-djmaze 13f270f426 Resolve #298 2022-03-22 11:47:17 +01:00
the-djmaze 050815dd7e Resolve #287 2022-03-21 13:00:10 +01:00
the-djmaze cd734c7d5d Globalize rl.loadScript() 2022-03-10 09:57:27 +01:00
the-djmaze 6f2f5bce86 Added Ctrl/Meta + F to open advanced search screen
Cleanup search field onEnter
2022-03-09 15:08:22 +01:00
the-djmaze c0f494c758 Some small cleanups 2022-03-08 10:52:40 +01:00
the-djmaze 874f2592ca Drop Capa enums 2022-03-05 22:25:32 +01:00
the-djmaze fafe56ecb4 Fix and improved hasher routing 2022-03-03 16:28:05 +01:00
the-djmaze 1d63683cf9 Improved shortcuts handling 2022-02-25 17:02:08 +01:00
the-djmaze 962ddde1f3 Some small cleanups and fixes 2022-02-24 12:43:44 +01:00
the-djmaze c270f0ad9a Prevent Circular dependencies 2022-02-23 23:11:12 +01:00
the-djmaze 661cd2aaf9 Restructure JavaScript
Split list code from MessageUserStore into MessagelistUserStore
Move functions out of AppUser
2022-02-23 19:26:52 +01:00
the-djmaze e324e2f6b6 Replaced tricky delegateRunOnDestroy() with koArrayWithDestroy()
koArrayWithDestroy creates ko.observableArray and calls the desired onDestroy() on entry delete.
2022-02-17 12:48:57 +01:00
the-djmaze f4bed88e39 Cleanup pgp decrypt code and show green when decrypted 2022-02-17 10:18:47 +01:00
the-djmaze b2a492bdab Cleanup knockout subscribables 2022-02-17 09:36:29 +01:00
the-djmaze 44ee236709 dispatchEvent(new CustomEvent(...)) to fireEvent(...) 2022-02-11 12:21:16 +01:00
the-djmaze e0e490c64f #89 Decrypt and verify with OpenPGP.js and GnuPG 2022-02-11 11:01:07 +01:00
the-djmaze 2c5322129c #89 Added signing using GnuPG 2022-02-09 22:58:47 +01:00
the-djmaze 8fff6fa759 Added: GnuPG encrypt (sign still fails) 2022-02-09 10:53:55 +01:00
the-djmaze 398152be52 Disable Mailvelope "sign" message as it can't choose which key 2022-02-08 13:48:11 +01:00
the-djmaze c4ffcc708a Also use AskPopupView instead of prompt() to view GnuPG private key 2022-02-08 11:34:04 +01:00
the-djmaze 8428838a8b Replace AskPopupView "Yes" button with "Sign" or "Decrypt" 2022-02-07 23:00:51 +01:00
the-djmaze d9f50fa829 Replaced prompt() into a AskPopupView.password() Promise 2022-02-07 17:30:41 +01:00
the-djmaze 1f0af5c0ac Hide some functions from rl.app. 2022-02-07 17:27:25 +01:00
the-djmaze 5b051745fe #89 Composer move sign/encrypt buttons from menu to view 2022-02-04 16:21:29 +01:00
the-djmaze 3fc5216841 Improved Composer handling with PGP messages 2022-02-04 13:40:59 +01:00
the-djmaze 686138ae15 Revamp isPopupVisible to AbstractViewPopup.hidden 2022-02-04 09:49:55 +01:00
the-djmaze 0dffa549be #89 send encrypted using Mailvelope 2022-02-03 16:51:35 +01:00
the-djmaze 45a714ee08 #89 GnuPG verify cleartext messages 2022-02-03 12:05:33 +01:00
the-djmaze 73fa215e22 #89 OpenPGP.js encrypt (+ verify) 2022-02-03 10:17:18 +01:00
the-djmaze acfe13bdc2 #89 OpenPGP.js verify cleartext 2022-02-02 17:00:27 +01:00
the-djmaze f625abe0b2 #89 OpenPGP.js sign cleartext 2022-02-02 16:50:27 +01:00
the-djmaze da79feeaee #89 verify PGP signatures using OpenPGP.js 2022-02-02 15:24:32 +01:00
the-djmaze 93db6e6e0e #89 verify detached signature using GnuPG 2022-02-02 14:36:49 +01:00
the-djmaze e265a0f1c1 Moved the message HTML parsing from PHP to JavaScript
Now we can properly parse PGP/MIME HTML messages
2022-02-02 13:02:48 +01:00
the-djmaze d9e81d6123 #89 revamp code for better decryption and get it working for GnuPG 2022-02-01 11:45:20 +01:00
the-djmaze 949005eda7 #89 OpenPGP better labeling 2022-01-31 12:34:41 +01:00
the-djmaze c012fe09f0 #89 decrypt using OpenPGP.js 2022-01-31 11:51:15 +01:00
the-djmaze efabf269c7 #89 Detailed control saving generated public/private keys 2022-01-31 08:30:46 +01:00
the-djmaze 76361a13da Split OpenPGP.js and GnuPG from PgpUserStore 2022-01-30 02:35:53 +01:00
the-djmaze 76226f45ca #89 Fix Mailvelope hasPrivateKey() detection
Proper rename OpenPGP Key viewer
2022-01-29 21:42:56 +01:00
the-djmaze 9f125c18c3 #89 added import keys to OpenPGP 2022-01-28 17:56:44 +01:00
the-djmaze fe078174ab #89 added view GnuPG armored keys 2022-01-28 17:33:52 +01:00
the-djmaze f8cbd5d129 #89 Improved public/private key handling 2022-01-28 15:02:10 +01:00
the-djmaze 0da681f074 OpenPGP.js now stores keys in localStorage
Renamed all deleteAccess to askDelete
2022-01-27 23:07:34 +01:00
the-djmaze 9ab72e7a34 #89 Improved handling of OpenPGP.js stored keys 2022-01-27 20:54:27 +01:00
the-djmaze ff7e41ad08 #89 Use OpenPGP.js v5.1.0 (still in progress) 2022-01-27 16:00:52 +01:00
the-djmaze d3b60bf097 #89 support decrypting using Mailvelope 2022-01-26 17:08:10 +01:00
the-djmaze 8635771537 Improve Settings -> OpenPGP to show available features 2022-01-24 16:47:53 +01:00
the-djmaze ce971de919 Get PGP verify message working using Promise.
#89
2022-01-24 13:43:53 +01:00
the-djmaze a7eeeb4f55 Many more changes for #89 2022-01-20 16:38:27 +01:00
the-djmaze c2e162b01b Properly load keyrings of Mailvelope, OpenPGP.js and GnuPG 2022-01-19 20:14:21 +01:00
the-djmaze a47397ef09 Revamp PGP management due to implementing Mailvelop and PEAR Crypt_GPG 2022-01-19 18:24:07 +01:00
the-djmaze 8dcd0cf833 Changes for #89
Now it does not fetch the PGP signature, because validation was broken anyway.
Instead it validates multipart/signed according to RFC 3156 section 5 and returns details for the signed part:
* BodyPartId
* SigPartId
* MicAlg

So in the future several implementations (GnuPG, OpenPGP.js, etc.) can use the correct data for verification.
2022-01-17 15:58:23 +01:00
the-djmaze 630dc1e854 Added toggle in message menu to switch between HTML/Plain content parts (when available) 2022-01-14 17:13:17 +01:00
the-djmaze 7680372eda Added option to prefer HTML to plain text view. 2022-01-14 14:05:33 +01:00
the-djmaze 464e766fcc Put OpenPGP check outside "plain".
This allows also for checking HTML messages (but errors for now)
2022-01-13 12:00:12 +01:00
the-djmaze b1bbd58e21 Strip utm_* tracking 2022-01-13 11:10:40 +01:00