Commit graph

83 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
a0f7114a39 Bugfix: KnockoutJS failed to output text '0' 2024-02-12 20:07:08 +01:00
the-djmaze
7c1f70c51e Replace some ko.exportSymbol('*') in favour of ko['*']
and drop ko.exportProperty()
2024-02-11 15:37:24 +01:00
the-djmaze
7ca5991041 KnockoutJS use Symbol for isObservableArray() 2024-02-11 14:44:47 +01:00
the-djmaze
f105ed3f9d Changed Knockout a bit 2024-02-03 12:06:56 +01:00
the-djmaze
2a3cea63cc KnockoutJS drop unused rateLimit method 2024-01-09 14:52:05 +01:00
the-djmaze
f7f3b0d373 Drop the disabled Knockout twoWayBindings 2024-01-08 18:33:37 +01:00
the-djmaze
e55938b653 Drop support for _ko_property_writers and for two-way binding they must be observables 2024-01-08 05:25:48 +01:00
the-djmaze
81ccee1152 Remove some unused Knockout code 2024-01-08 05:24:15 +01:00
the-djmaze
cf910c678b Revamp Domains Settings IMAP disabled capabilities to extend it 2023-12-03 17:08:25 +01:00
the-djmaze
2dbf192558 Knockout added future code replaceChildren() for Safari 14+ 2023-03-13 09:03:14 +01:00
the-djmaze
4dbcade830 Knockout simplify Object.setPrototypeOf 2023-03-06 11:05:44 +01:00
the-djmaze
bc196bcd1a Added missing knockoutjs checked.js binding 2023-01-30 14:16:10 +01:00
the-djmaze
ac424fc584 re-enable simplified knockoutjs checked binding 2023-01-30 14:03:45 +01:00
the-djmaze
2d832ff5ea Fix selectbox issue with domain connection type #689 2022-11-21 09:01:59 +01:00
the-djmaze
9b8778f823 Reduce Knockout.js footprint by using ECMAScript 2020 2022-09-13 23:49:18 +02:00
the-djmaze
a566f6ed5a More Optional chaining in Knockout.js 2022-09-13 22:00:31 +02:00
the-djmaze
a3a4a057e5 Dropped the knockout.js tasks from compiled code 2022-09-12 22:31:37 +02:00
the-djmaze
d1f71508fe Drop Knockout.js loading components asynchronous
https://knockoutjs.com/documentation/component-registration.html#controlling-synchronousasynchronous-loading
2022-09-12 22:31:05 +02:00
the-djmaze
ef8b1f40e4 Use JavaScript Optional chaining in vendors/* 2022-09-12 22:07:51 +02:00
djmaze
30e9b89d9b notifySubscribers and equalityComparer are not used outside KnockoutJS 2021-12-31 17:10:40 +01:00
djmaze
679d7356e0 More ko.computed to pureComputed 2021-12-31 17:02:32 +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
b98762dd68 Replace deprecated String.substr with String.slice 2021-12-08 11:35:41 +01:00
djmaze
dfa448c7cc v2.7.3 2021-10-11 14:39:36 +02:00
djmaze
4fff41580e KnockoutJS disposeWhenNodeIsRemoved not used external 2021-10-04 13:47:47 +02:00
djmaze
4a403df168 Cleanup KnockoutJS and use ECMASCRIPT_2018 for its closure compiler 2021-10-01 17:36:21 +02:00
djmaze
bcc3dc51ef Speedup KnockoutJS by simplifying components loader system.
Custom loaders are not used, so it is removed
2021-09-29 12:51:51 +02:00
djmaze
4142526ba6 Cleanup KnockoutJS 2021-09-28 14:40:24 +02:00
djmaze
4c7ce61bc0 Added missing pre/post knockout build files 2021-09-28 14:24:28 +02:00
djmaze
bf756c9279 Remove unused data from KnockoutJS 2021-09-28 14:03:07 +02:00
djmaze
5cb4d338a1 ko.utils.setTimeout to native setTimeout 2021-09-28 13:45:19 +02:00
djmaze
9014f08f35 ko.utils.registerEventHandler to native addEventListener 2021-09-28 13:38:02 +02:00
djmaze
8babd10f69 We don't use ko.onError so remove it 2021-09-28 13:26:23 +02:00
djmaze
07443407e9 Bugfix: nodes.forEach should be nodesArray.forEach 2021-09-28 13:21:41 +02:00
djmaze
7d97ae3145 Replace ko.utils.stringStartsWith with native String.startsWith 2021-09-28 13:20:54 +02:00
djmaze
244d4c49c5 Remove unused KnockoutJS afterMove 2021-09-27 12:49:40 +02:00
djmaze
5839bcf62d Remove some unused KnockoutJS features 2021-09-13 16:20:29 +02:00
djmaze
f09820d0b9 Resolve Knockout/#2560 with
45e86bf034
2021-09-13 15:52:40 +02:00
djmaze
74f74163c6 Bugfix: <!-- ko text: valueAccessor --> failed
https://knockoutjs.com/documentation/text-binding.html#note-3-using-text-without-a-container-element
2021-08-12 12:54:42 +02:00
djmaze
89075b18bf Remove unused KnockoutJS code 2021-08-10 15:16:21 +02:00
djmaze
3a32a09f2a KnockoutJS:
* remove deprecated allBindings as Accessor https://github.com/knockout/knockout/pull/2133
* remove unused event '*Bubble' https://knockoutjs.com/documentation/event-binding.html#note-4-preventing-the-event-from-bubbling
* remove unused 'completeOn' https://knockoutjs.com/documentation/binding-lifecycle-events.html#indicating-that-a-control-flow-binding-completes-asynchronously
2021-08-10 15:00:49 +02:00
djmaze
cbecdd93a0 More Knockout code to ES6 2021-07-29 11:43:47 +02:00
djmaze
5213b804d9 Some tiny changes 2021-07-16 16:24:07 +02:00
djmaze
c3c1fc2c0e Tiny knockoutjs speedup 2021-04-23 18:16:36 +02:00
djmaze
fac36e828b Cleanup Squire and Knockout with help of Chromium Code Coverage
Bugfix: Squire inlineNodeNames the 'I' tag was missing
Improved: Squire style editing
2021-02-23 22:50:48 +01:00
djmaze
75b7176ada Remove knockout evaluatorFunctionTarget
Drop deprecated knockout throttle extender
Added knockout debounce extender
2021-02-10 11:33:36 +01:00
djmaze
ebe2c0536f Bugfix: compose mail select contacts for cc/bcc failed
Cleanup: Inputosaurus and Knockout
Change: Knockout domData now uses WeakMap
Replaced: Knockout domManipulation with a documentFragment
2021-02-01 14:34:24 +01:00
djmaze
b6f0b634fb Cleanup calls to Knockout observableArray
Improved Knockout observableArray
2021-01-22 12:23:20 +01:00
djmaze
fa5476e486 Added support for 'length' property to Knockout observable 2021-01-22 09:46:04 +01:00