Commit graph

1753 commits

Author SHA1 Message Date
the-djmaze 121f6f0bf8 Bugfix: strip utm_ tracking failed 2022-03-02 11:48:41 +01:00
the-djmaze e07cf8d11f #252 doc not used anymore 2022-03-02 10:24:24 +01:00
the-djmaze 8701174157 Resolve #253 2022-03-02 10:23:01 +01:00
the-djmaze 096faae844 Remove some shortcuts due to conflicts, read #252 2022-03-02 09:26:30 +01:00
the-djmaze 4250dcf3f0 Cleanup theme switcher 2022-03-01 15:49:35 +01:00
the-djmaze 3de19b22b6 Solve hideSubmitButton issue 2022-03-01 10:36:27 +01:00
the-djmaze f4d98130a5 Simplify save settings 2022-03-01 10:18:12 +01:00
the-djmaze 2e8497dc01 Bugfix: Admin extensions page didn't refresh after install/update 2022-02-28 17:26:23 +01:00
the-djmaze eeb289ea44 v2.3.1 2022-02-28 16:13:41 +01:00
the-djmaze e26f00e268 Resolve #250 2022-02-28 16:10:23 +01:00
the-djmaze 62b6a1513c Cleaner boot data 2022-02-28 15:10:04 +01:00
the-djmaze ed959459ef v2.13.0 2022-02-28 11:35:29 +01:00
the-djmaze 97bc3ef585 Enable AbstractViewSettings 2022-02-28 10:38:47 +01:00
the-djmaze 92cec80b73 Improved plugin documentation 2022-02-26 10:33:11 +01:00
the-djmaze 6d6690009c Cleanup unused Squire code 2022-02-26 10:22:14 +01:00
the-djmaze 01692075c6 Resolve #244 2022-02-26 09:39:22 +01:00
the-djmaze 36feca6ce7 modalVisibility() to modalVisible() 2022-02-26 01:06:18 +01:00
the-djmaze 86374433b9 Cleanup Sieve Filter editor code 2022-02-26 01:02:12 +01:00
the-djmaze 0bf891ba9d Improved ko.extenders.limitedList 2022-02-25 17:18:45 +01:00
the-djmaze 1d63683cf9 Improved shortcuts handling 2022-02-25 17:02:08 +01:00
the-djmaze 65a3b9e4c7 Bugfix: Popup Escape/Close key failed 2022-02-25 13:13:09 +01:00
the-djmaze b82d26b71b Restructure some popups to use <form> 2022-02-25 13:12:44 +01:00
the-djmaze 169dbfecca Added some documentation 2022-02-25 12:11:32 +01:00
the-djmaze 47a6af52ba Resolve #242 2022-02-25 11:33:08 +01:00
the-djmaze a9edbe9ecf Bugfix: resolve #243
And cleanup the HTML rules along the way
2022-02-25 11:11:28 +01:00
the-djmaze 93dcea6d35 Resolve #245 Send HTML message as last part 2022-02-25 10:36:23 +01:00
the-djmaze f2054fde0f Resolve #246 2022-02-25 10:12:06 +01:00
the-djmaze 2edd55f01f Drop cancelCommand in favor of closeCommand and improve AbstractViewPopup handling 2022-02-24 22:40:17 +01:00
the-djmaze 06b5b83588 removed default export 2022-02-24 14:01:41 +01:00
the-djmaze b5114fa73a Simplify admin domain management 2022-02-24 13:36:57 +01:00
the-djmaze 962ddde1f3 Some small cleanups and fixes 2022-02-24 12:43:44 +01:00
the-djmaze e7c7b8ed53 Restructure Capa 2022-02-24 12:22:27 +01:00
the-djmaze 5990addfef Added: addEventsListener() and addEventsListeners() 2022-02-24 11:19:19 +01:00
the-djmaze c270f0ad9a Prevent Circular dependencies 2022-02-23 23:11:12 +01:00
the-djmaze bb4ff4fdc7 Bugfix: rl.app.setExpandedFolder() undefined 2022-02-23 22:23:16 +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 60b7f61e42 Resolve #203 2022-02-22 17:21:08 +01:00
the-djmaze 24b638cd82 Cleanup some JavaScript 2022-02-21 15:36:34 +01:00
the-djmaze d63b2000b6 Resolve #240 2022-02-19 13:23:13 +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 5748dea4bc Cleanup component models 2022-02-16 23:12:12 +01:00
the-djmaze e59e6444d0 Bugfix: some messages have incorrect image widths 2022-02-15 14:49:04 +01:00
the-djmaze be35a541c3 Added idea to allow <style> 2022-02-15 12:29:41 +01:00
the-djmaze 6c795d4ced Bugfix: missing comma 2022-02-15 12:08:52 +01:00
the-djmaze 9b82830c36 Improved bug #228 2022-02-15 11:05:01 +01:00
the-djmaze 9ea32aae95 Small maxWidth improvement for
https://github.com/the-djmaze/snappymail/issues/184#issuecomment-1039538958
2022-02-15 10:58:45 +01:00
the-djmaze 301413020c Block tracking pixel of 2px as found in #234 2022-02-15 10:46:42 +01:00
the-djmaze ec23b61e14 Improvement for #184 2022-02-15 10:36:01 +01:00
the-djmaze e2c171f302 Resolve #202 2022-02-15 10:22:52 +01:00
the-djmaze 88c16f5c40 Cleanup some CSS 2022-02-14 17:37:58 +01:00
the-djmaze af959e3631 Resolve #187 (found the real problem, comments in comments) 2022-02-14 12:27:43 +01:00
the-djmaze 973cb83ba0 Resolve #230 2022-02-14 11:48:23 +01:00
the-djmaze eb22ddc4c3 Improved cleanHtml() 2022-02-14 11:47:56 +01:00
the-djmaze 9d8325d5a8 Improved "View in separate window" with theme colors 2022-02-13 20:01:21 +01:00
the-djmaze 803113568f Resolve #228 2022-02-13 12:58:01 +01:00
the-djmaze 2fea7b92e1 reCaptcha at admin login
https://github.com/the-djmaze/snappymail/issues/222#issuecomment-1036211212
2022-02-11 14:52:04 +01:00
the-djmaze fecc9f96eb Added support for reCaptcha #222 2022-02-11 14:21:41 +01:00
the-djmaze 44ee236709 dispatchEvent(new CustomEvent(...)) to fireEvent(...) 2022-02-11 12:21:16 +01:00
the-djmaze f7092e70ad remove style .squire-wysiwyg a 2022-02-11 11:28:02 +01:00
the-djmaze e0e490c64f #89 Decrypt and verify with OpenPGP.js and GnuPG 2022-02-11 11:01:07 +01:00
the-djmaze 85f9209176 Improved decrypted attachments view 2022-02-10 17:15:20 +01:00
the-djmaze 2037f21c45 Resolve #180 and now works with #89 2022-02-10 17:01:36 +01:00
the-djmaze 25a786d584 #89 added downloading of decrypted attachments 2022-02-10 16:35:55 +01:00
the-djmaze 292e21bae1 Replaced added postal-mime for custom mime parser due to PGP verify requirements 2022-02-10 15:37:05 +01:00
the-djmaze 9188a8bcd2 Improved cleanHtml and the handling of removeColors for dark mode 2022-02-10 10:25:21 +01:00
the-djmaze 2c5322129c #89 Added signing using GnuPG 2022-02-09 22:58:47 +01:00
the-djmaze e0ebc999d5 Extend plugin config with a grouping class 2022-02-09 17:48:05 +01:00
the-djmaze 92b81b777b Fix some OpenPGP translations 2022-02-09 15:43:14 +01:00
the-djmaze 8e515ed2af #89 improved sign and encrypt 2022-02-09 13:44:17 +01:00
the-djmaze 8fff6fa759 Added: GnuPG encrypt (sign still fails) 2022-02-09 10:53:55 +01:00
the-djmaze f3717815e1 Cleanup boot.js and fix rllayout cookie 2022-02-08 14:15:22 +01:00
the-djmaze 827421e116 Settings.capa() to SettingsCapa() 2022-02-08 14:13:06 +01:00
the-djmaze 51e391c4d6 Squire better handling of signatures 2022-02-08 13:48:39 +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 66a3a18f67 Improved ask password 2022-02-07 19:35:24 +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 ab149b5ec9 remove unused showScreenPopup 2022-02-07 15:35:48 +01:00
the-djmaze f6400b6da2 Remove rl.showScreenPopup in favour of AbstractViewPopup.showModal 2022-02-07 15:20:39 +01:00
the-djmaze 051e78df51 #89 added send OpenPGP.js signed HTML message 2022-02-07 11:59:47 +01:00
the-djmaze 0cf63dab76 #89 add OpenPGP.js sign and encrypt 2022-02-07 11:32:53 +01:00
the-djmaze ad6e1bebf8 Much better HTML to Plain converter 2022-02-07 10:23:41 +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 96de0be977 #89 solve edit/reply encrypted message/draft 2022-02-04 09:54:59 +01:00
the-djmaze 686138ae15 Revamp isPopupVisible to AbstractViewPopup.hidden 2022-02-04 09:49:55 +01:00
the-djmaze d7ed6ce423 #89 also encrypt draft on save 2022-02-04 09:00:28 +01:00
the-djmaze 384230f7bf Cleaner Content-Type detection for mimeToMessage() 2022-02-03 23:36:48 +01:00
the-djmaze 983a2db418 #89 added OpenPGP.js encrypt HTML 2022-02-03 23:36:12 +01:00
the-djmaze fb1c0dd606 Revamp MailSo\Mime\Message for sending proper multipart/encrypted 2022-02-03 21:41:59 +01:00
the-djmaze 5514264914 #89 Bugfix mime and signatures detection 2022-02-03 17:04:10 +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 6b2311663b #89 Hide PGP SIGNATURE from cleartext signed messages 2022-02-02 18:43:55 +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 08ea226dbe Bugfix: message.attachments.hasVisible() undefined 2022-02-02 13:29:13 +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 3615405aac #89 Remove debug code from pgpDecrypt() 2022-02-01 11:49:56 +01:00
the-djmaze 6b26ddec7a #89 Redesign HTML parsing for securing PGP decrypted HTML 2022-02-01 11:46:12 +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 4eb70c3f06 #89 show decrypted HTML with inline attachments 2022-01-31 17:29:41 +01:00
the-djmaze 8a4ea92cfb #89 Parse PGP decrypted mime using https://github.com/postalsys/postal-mime 2022-01-31 15:24:51 +01:00
the-djmaze 35900415a2 Resolve #197 2022-01-31 12:36:11 +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 b06b04a579 Settings OpenPGP use <details> 2022-01-29 00:20:31 +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 221136ce1c Better info regarding storing keys on server 2022-01-28 15:11:15 +01:00
the-djmaze f8cbd5d129 #89 Improved public/private key handling 2022-01-28 15:02:10 +01:00
the-djmaze 7de00cd05c Bugfix: incorrect translation in advanced search popup 2022-01-28 12:23:30 +01:00
the-djmaze bf19f72a6b Reduce more HTML elements thanks to data-icon="" attribute 2022-01-28 12:23:05 +01:00
the-djmaze 997f0da59f Reduce HTML with improved fontastic 2022-01-28 10:19:21 +01:00
the-djmaze 61ec49fd22 #89 use HTML5 form validity on PGP Generator popup 2022-01-28 00:22:54 +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 3aca446e8d Distinguish PGP signed and encrypted in message viewer 2022-01-26 15:00:03 +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 3cc3a76b23 Composer changes for OpenPGP.js 2022-01-20 09:59:56 +01:00
the-djmaze c2e162b01b Properly load keyrings of Mailvelope, OpenPGP.js and GnuPG 2022-01-19 20:14:21 +01:00
the-djmaze 9f0b872839 Object.entries(d).forEach() to forEachObjectEntry() 2022-01-19 19:36:29 +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 bf84684965 Added GnuPG->verify() for testing #89
Bugfix SnappyMail\PGP\Keyservers
Renamed DoPgpVerify to DoMessagePgpVerify
2022-01-17 22:04:14 +01:00
the-djmaze fde44c0102 Changes for #89
This part fetches the required message parts for pgp verification.
2022-01-17 17:16:25 +01:00
the-djmaze 638128ff93 Attachmnet => Attachment 2022-01-17 16:39:10 +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
the-djmaze c7f80d617e v2.10.3 2022-01-12 12:11:37 +01:00
the-djmaze 5757d8d464 Drop use_imap_list_subscribe and use 'HideUnsubscribed' = false
This prevents user questions regarding: "my folders are missing"
2022-01-12 11:55:41 +01:00
the-djmaze 661e937fd1 Added "subscribe" option to create folder popup 2022-01-12 11:15:04 +01:00
the-djmaze 9fea092c43 Cleanup RainLoop\Service with improved ?admin path detection 2022-01-11 15:55:48 +01:00
the-djmaze c804f35347 CSS btn-thin-2 to btn-thin 2022-01-11 13:06:43 +01:00
the-djmaze 6aedba9d36 UploadErrorCode/UploadError use PHP UPLOAD_ERR_* numbers 2022-01-11 13:05:17 +01:00
the-djmaze b5201883d6 Restructure and cleanup some RainLoop Actions code 2022-01-11 12:36:47 +01:00
the-djmaze 0e2e44a269 Changes for #180 2022-01-10 14:30:55 +01:00
djmaze 5a17e3b51d Better Domain management with simplified SASL Mechanisms support 2022-01-10 12:57:42 +01:00
djmaze 70093e4d23 move 3 Subscribables into single Computable 2022-01-05 11:46:08 +01:00
djmaze 679d7356e0 More ko.computed to pureComputed 2021-12-31 17:02:32 +01:00
djmaze a15454fd15 Cleanup createCommand() 2021-12-31 13:50:33 +01:00
djmaze 954de06f86 Switch from ko.computed to ko.pureComputed
This should provide performance and memory benefits over regular computed observables
2021-12-31 13:30:05 +01:00
djmaze ac2238a23f Bugfix: Cannot write a value to a ko.computed unless you specify a 'write' option 2021-12-31 12:28:43 +01:00
djmaze 98b3fa9632 v2.10.0 2021-12-28 17:13:15 +01:00
djmaze 5c71d22215 Admin -> Config application.ini passwords as input password 2021-12-28 15:05:03 +01:00
djmaze 950a5ad454 doc.createElement => createElement 2021-12-28 14:49:40 +01:00
djmaze c1dd6edc28 allowAdminPanel => adminAllowed 2021-12-28 14:49:21 +01:00
djmaze 2a01d8c991 Cleanup user-select 2021-12-28 14:48:20 +01:00
djmaze 6465c95a91 Partial fix for #170 2021-12-23 12:20:40 +01:00
djmaze eb31d0258a Remove unused vars 2021-12-23 11:38:01 +01:00
djmaze f20a7c7b83 Added Admin -> Config to view all the application.ini settings.
TODO: save changes
2021-12-23 11:37:39 +01:00
djmaze e244ba01de Much better fix for #175
And added some comments to it, to prevent more screw ups
2021-12-22 20:16:14 +01:00
djmaze 7df3ed665d Cleanup attachment filenames 2021-12-16 16:29:31 +01:00
djmaze 94bfe09f63 Cleanup message attachments collections 2021-12-16 15:54:43 +01:00
djmaze eb669715ca Remove MessageUserStore.listEnd* overhead 2021-12-16 14:35:29 +01:00
djmaze b95541892f Better observable naming in MessageUserStore 2021-12-15 19:02:36 +01:00
djmaze bdb6b9bb8b Just force logout on InvalidToken error immediatley. 2021-12-14 21:12:38 +01:00
djmaze f30d0263ac Remove rainloopErrorTip corner triangle 2021-12-14 14:32:18 +01:00
djmaze 1d9c772b94 Improved "delete folder" error handling. 2021-12-13 14:32:15 +01:00
djmaze 503219c70e Bugfix: undefined Remote.domainList 2021-12-13 14:12:06 +01:00
djmaze a512759289 Added: sort Folders on add/rename folder 2021-12-09 11:24:30 +01:00
djmaze c8e4d589cb Offload server CPU to client when fetching folder list 2021-12-08 14:08:25 +01:00
djmaze 32712415ef Reload folders every 15 minutes is not needed 2021-12-08 12:17:45 +01:00
djmaze b98762dd68 Replace deprecated String.substr with String.slice 2021-12-08 11:35:41 +01:00
djmaze 2719f08e26 Revamp mailbox management so that reloading of the whole folder tree is not needed 2021-12-08 11:06:42 +01:00
djmaze 5fdc38a40d Cleanup mailbox routing 2021-12-07 17:22:56 +01:00
djmaze c41adf35f5 easier mailBox() link generator 2021-12-07 16:52:05 +01:00
djmaze df293960d0 Remove unused startup_url 2021-12-07 16:51:09 +01:00
djmaze 3a61bb3e5a Revamp the FullNameHash system for better readable urls
And reduce the folders caching footprint.
And it reduces server load.
2021-12-07 14:03:30 +01:00
djmaze 76627ae2f6 Use the new b64EncodeJSONSafe 2021-12-07 13:23:38 +01:00
djmaze e6b6531248 Move b64EncodeJSON to Utils 2021-12-07 12:40:55 +01:00
djmaze 148913ea32 More MessageFlagsCache improvements 2021-12-07 00:05:55 +01:00
djmaze 0f6bb75e80 Improve and bugfix MessageFlagsCache 2021-12-06 19:25:28 +01:00
djmaze d734a3e415 Better mail message handling
* Cleanup HTML parsing
* Drop useless Microsoft 'Sensitivity' MIME Header
* Revamp Flags handling
2021-12-06 16:08:58 +01:00
djmaze ddbcb4bfa4 Better mobile folderlist size 2021-12-06 11:44:04 +01:00
djmaze 45ae35110c Simple force email minimum font-size to be 11px for readability 2021-12-06 11:22:00 +01:00
djmaze 13145cd3dc Resolve #167 2021-12-06 10:35:43 +01:00
djmaze 3b40f86c33 Better Remote.saveAdminConfig() and better idleTrigger for them 2021-12-03 12:32:21 +01:00
djmaze 617dd995b5 The Safari fix "position: sticky;" breaks Firefox and Chrome 2021-12-03 00:43:48 +01:00
djmaze 35bce8cf62 Also reduce admin remote fetch 2021-12-03 00:11:19 +01:00
djmaze 792fee547a change AbstractFetchRemote with a better structure 2021-12-02 23:15:24 +01:00
djmaze 0d809dd574 Cleanup additional accounts in system menu 2021-12-02 11:12:21 +01:00
djmaze 6d7911a9ed Object.entries().forEach() to forEachObjectEntry() 2021-12-01 14:23:37 +01:00
djmaze 547d66ebcb Easier SystemFolders handling 2021-12-01 13:54:35 +01:00