Commit graph

43 commits

Author SHA1 Message Date
S-A-L13
876ed221c3
Update Fork (#2)
* Cleanup OpenPgpImportPopupView code

* update polish translation

* small fix

* Added Import S/MIME certificate popup
And much better handling of the sign and encrypt options

* bugfix: store in Passphrases

* Resolve #1448

* pre-verify S/MIME opaque signed messages so we have a body to view

* Fix timestampToString() for future dates

* Move php8.php to /app/libraries/polyfill/

* Improved Settings handling to prevent bugs in outer code

* Changed AbstractProvider::IsActive() to be abstract

* Example for #1449

* bugfix: previous IsActive() commit

* OpenSSL required due to S/MIME

* Use get_debug_type() instead of gettype()

* update polish translation

* Make all Enumerations classes abstract

* Added search functionality in Admin -> Config
And removed the unused ['capa']['quota']

* Cleanup Quota handling

* OPEN_PGP should be OPENPGP as it is one word

* Improve Capa handling

* Resolve #1451

* Bugfix TypeError: b64Encode(...).match(...) is null

* Small StorageType change

* Bugfix: mailvelope editor failed

* Bugfix: undefined getMailvelopePrivateKeyFor()

* Bugfix: MIME parser RegExp didn't escape `boundary` which caused issues

* Return detailed info on PgpImportKey

* Show GnuPG verify error

* Sort PGP keys by email and id

* Sort S/MIME certificates on emailAddress else validTo

* S/MIME import from signature use `BEGIN PKCS7`

* Optionally use existing private key to generate S/MIME certificate

* Chaned some error_log() to MailSo Logger()

* Force reload of S/MIME certificates list on import

* Make better use of SnappyMail\SensitiveString

* Fix view PGP key button

* Mask all POST data that has a key which contains `pass`

* v2.35.1

* Resolve #1455

* Improved GnuPG error handling

* Update pt/pt-PT translation

* update Polish translation

* Drop support for gnupg pecl extension as it fails with "no passphrase" issues

* Resolve #1456

* Resolve #1458

* v2.35.2

* fix changelog

* Resolve #1461

* Update pt/pt-PT translation

* compact-composer plugin v1.0.0

* Resolve #1462

* Fix decrypt error message

* `new Error()` to `Error()`

* Resolve #1463

* Show url for #1466

* Simplify SignMe/Remember me code

* Simplify language Notifications

* Bugfix: SetPassword expects \SnappyMail\SensitiveString

* https://github.com/the-djmaze/snappymail/issues/1450#issuecomment-1972147950

* improve: fire the 'squire2-toolbar' event after more props are added

* improve: add dark theme support and use 'button' element as menu trigger for consistent styling

* fix: use compact template in non-destructive way (do not replace the PopupsCompose template if a different wysiwyg is used)

* Update admin.json

* Update user.json

* CSS rainloopErrorTip location

* Improved error handling on PGP and S/MIME decrypt

* KnockoutJS remove unused `beforeRemove`

* KnockoutJS drop unused `as`

* KnockoutJS simplify renderMode because only 1 option is used

* KnoutJS cleanup templating.js a bit

* KnockoutJS drop unused `bindingRewriteValidators`

* KnockoutJS drop the twoWayBindings code

* KnockoutJS simplify virtualElements binding check

* KnockoutJS simplify applyBindingsToNodeInternal

* KnockoutJS use Array.isArray

* KnockoutJS drop alias `textinput` for `textInput`

* KnockoutJS scramble `createChildContext`

* KnockoutJS scramble `controlsDescendantBindings`

* KnockoutJS scramble `exportDependencies`

* KnockoutJS drop unused `throttleEvaluation`

* KnockoutJS drop unused `valueAllowUnset`

* KnockoutJS drop unused `templateNodes`

* KnockoutJS drop unused `optionsCaption`

* KnockoutJS drop unused `dontLimitMoves`

* KnockoutJS drop unused `uniqueName`

* KnockoutJS drop IE leftovers

* KnockoutJS drop unused `preprocess`

* KnockoutJS drop unused "disposeWhenNodeIsRemoved" and "disposeWhen"

* KnockoutJS don't scramble exportDependencies. controlsDescendantBindings, createChildContext

* KnockoutJS drop unused `$parentContext` and `$parents`

* KnockoutJS drop unused `$rawData`

* Knockoutjs built latest

* KnockoutJS drop unused template options `nodes`, `if`, `ifnot`

* KnockoutJS use more Array.isArray

* KnockoutJS cleanup code a bit

* KnockoutJS primitiveTypes can just be checked with Object()

* KnockoutJS rebuilt

* Verify S/MIME signed automatically and log Exception

* Automatically verify PGP and S/MIME signed messages

* `new Error` to `Error`

* By default throw AccountNotAllowed as confused in #1478

* GPG use pinentries for decrypt, sign and export

* Better GPG error handling

* GPG show error on view/export

* OpenPGP fix handling of importing keys

* Make "verify signatures automatically" optional, as it requires more IMAP fetching

* S/MIME don't post identity key and certificate, just fetch from server

* Show error to old browsers, instead of crashing

* Automatically verify S/MIME decrypted signed message

---------

Co-authored-by: the-djmaze <>
Co-authored-by: tinola <tinola@poczta.onet.pl>
Co-authored-by: Maarten <3752035+the-djmaze@users.noreply.github.com>
Co-authored-by: lmperfis <joint.striker@gmail.com>
Co-authored-by: Sergey Mosin <sergey@srgdev.com>
Co-authored-by: hguilbert <51283484+hguilbert@users.noreply.github.com>
2024-03-04 17:00:27 +01:00
the-djmaze
7da5692865 Resolve #342 2024-02-12 01:01:19 +01:00
the-djmaze
4c5f19579c Fix Fetch controller.abort(reason) handling #1220 2023-08-21 11:31:57 +02:00
the-djmaze
2a45142644 Resolve #1185 2023-06-22 12:42:59 +02:00
the-djmaze
3a3b2f0771 Prevent MessageList multiple request at the same time #1071 2023-06-12 17:00:23 +02:00
the-djmaze
8d52b0afdf Bugfix: Notification enum conflicts with window.Notification 2023-02-20 15:59:37 +01:00
the-djmaze
cf12960507 Improved cache handling 2023-01-09 12:28:07 +01:00
the-djmaze
4709e6fc25 Resolve #752 2022-12-06 15:56:28 +01:00
the-djmaze
04c11ddc49 Move changeTheme and convertThemeName to Themes.js 2022-11-08 10:53:14 +01:00
the-djmaze
b12852bd08 Reduce JavaScript footprint 2022-10-10 13:52:56 +02:00
the-djmaze
6291abf83e Resolve #487 2022-10-05 11:39:25 +02:00
the-djmaze
3553bfa2d9 TypeError fCallback not a function 2022-09-02 12:11:47 +02:00
the-djmaze
732b6eb641 Use JavaScript Optional chaining 2022-09-02 11:52:07 +02:00
the-djmaze
ab0b2b152c Solution for #487 ? 2022-09-02 09:57:30 +02:00
the-djmaze
afd65c809d Drop Remote.request() aAbortActions parameter 2022-09-02 09:56:31 +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
2fae820ee4 Improved streaming as preperation for #300 2022-03-24 12:01:41 +01:00
the-djmaze
b5201883d6 Restructure and cleanup some RainLoop Actions code 2022-01-11 12:36:47 +01:00
djmaze
bdb6b9bb8b Just force logout on InvalidToken error immediatley. 2021-12-14 21:12:38 +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
792fee547a change AbstractFetchRemote with a better structure 2021-12-02 23:15:24 +01:00
djmaze
20eb01de08 Added AbstractFetchRemote.streamPerLine(fCallback, sGetAdd) for future use of streaming data to the client. 2021-11-01 14:57:58 +01:00
djmaze
be9cb6c727 Bugfix for #123 2021-08-25 12:34:19 +02:00
djmaze
5db8f032b8 Resolve issue #123 2021-08-25 12:00:50 +02:00
djmaze
0a69c6410d Added support for JavaScript FormData
As preparation for 2FA plugins and easier Fetch calls
2021-07-23 11:40:03 +02:00
djmaze
a36a8113bb Cleanup more rlspecauth/AuthAccountHash related code 2021-04-28 21:33:03 +02:00
djmaze
146b2c1001 Cleanup AuthAccountHash handling 2021-04-28 15:56:31 +02:00
djmaze
7eaaa0a793 Upgrade i18n() to use Object.entries()
And replace quoted object keys to be without quotes
2021-03-24 21:26:40 +01:00
djmaze
11fd6736bb Set response ErrorCode as iError for easier fetch error handling 2021-03-18 12:33:13 +01:00
djmaze
0b64083543 Array.isArray to isArray
Array.isNotEmpty to isNonEmptyArray
2021-03-16 16:49:14 +01:00
djmaze
4a8d516123 Changed: StorageResultType to error result code 2021-03-16 09:46:23 +01:00
djmaze
34b25eedea Improve Settings handling 2021-03-10 11:44:48 +01:00
djmaze
3426921c9d Improved Fetch error handling 2021-02-25 10:12:48 +01:00
djmaze
a28b5c2b6c Cleanup and deduplicate languages 2021-01-21 17:21:19 +01:00
djmaze
fa7ea413dc Cleanup AbstractFetch
and added fetchJSON mockup code for error handling regarding issue #49
2021-01-05 13:58:50 +01:00
djmaze
950579c7f5 Rename 'ajax' to 'json' because we don't use XML
We use json as response
2020-12-30 15:50:47 +01:00
djmaze
cfdbe3251e Removed the DATA_IMAGE_USER_DOT_PIC
Because viewUserPic is always false due to the removed Gravatar feature
2020-09-30 16:10:01 +02:00
djmaze
0a95e2c6dc Cleanup constants 2020-09-30 14:07:03 +02:00
djmaze
344edaec2a cleanup Fetch API code 2020-09-15 11:51:07 +02:00
djmaze
29cf711a6a Converted *Ajax into *Fetch (because we use the Fetch API, not jQuery.ajax) 2020-09-14 19:40:56 +02:00