Commit graph

464 commits

Author SHA1 Message Date
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
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
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
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
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
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
503219c70e Bugfix: undefined Remote.domainList 2021-12-13 14:12:06 +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
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
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
547d66ebcb Easier SystemFolders handling 2021-12-01 13:54:35 +01:00
djmaze
d33ec54c1c FolderFullNameRaw is gone due to UTF8 2021-11-30 10:19:43 +01:00
djmaze
664f2d466a Removed unused var 2021-11-25 14:21:09 +01:00
djmaze
e27fb46500 Resolve CardDAV sync not working due to new login system #163 2021-11-24 08:36:27 +01:00
djmaze
299ec7faf8 Support RFC 6855 / RFC 5738 (UTF8) 2021-11-22 21:01:30 +01:00
djmaze
e6145249fa Bugfix: on login loading the user settings failed 2021-11-19 12:44:53 +01:00
djmaze
6b8020b8f5 Improved additional account management 2021-11-15 10:56:52 +01:00
djmaze
2c363e63a0 small code cleanup ()=>0 to null 2021-11-13 09:45:06 +01:00
djmaze
6170de5aee Drop bootstrap modal.less by using <dialog> <header> and <footer>
https://snappymail.eu/demo/ updated for testing
2021-11-07 17:06:08 +01:00
djmaze
2e34f98c80 Cleanup and improve HTML/CSS and it's JavaScript handling 2021-11-06 12:27:37 +01:00
djmaze
2cf2b1ee75 Bugfix: some folders were invisible while they should be visible
It all came down to a very complex subscribe system.
I changed that in a "is visible for whatever reason" system.
2021-11-03 19:25:52 +01:00
djmaze
6c797c34f8 Activated search subfolders as request by #154 2021-11-03 02:28:01 +01:00
djmaze
8d3bcdc2f2 Merge quota requests into folders request 2021-11-01 16:26:07 +01:00
djmaze
9db640c6c5 No need to set page=1 when calling mailBox() 2021-10-29 15:25:00 +02:00
djmaze
d0210bd09a No need to call folderInformationMultiply at boot when LIST-STATUS is supported 2021-10-27 15:30:19 +02:00
djmaze
4d6d0622e5 Speedup generating folderlist 2021-10-26 15:43:27 +02:00
djmaze
c039e813a6 Forward if METADATA is supported to JavaScript 2021-10-15 12:34:45 +02:00
djmaze
9158fcd0eb Improve AppUser.bootstart 2021-09-23 14:24:06 +02:00
djmaze
134deb8d73 Drop unused user mail templates system 2021-09-17 10:32:58 +02:00
djmaze
96e2e6576c IMAP UID is integer 2021-09-10 16:28:29 +02:00
djmaze
985a4f5077 More CSS, HTML & JS cleanups 2021-09-10 09:30:06 +02:00
djmaze
01d96153c6 Cleanup checkbox component 2021-09-07 23:09:56 +02:00
djmaze
081761b593 User Settings General messages per page use <input number instead of select 2021-09-03 16:40:16 +02:00
djmaze
023c8f603b some ko.computed() to addComputables()/addComputablesTo() 2021-09-03 16:37:20 +02:00
djmaze
7c75e11666 Resolve issue #138 2021-09-02 14:21:50 +02:00
djmaze
3756264669 Improvements for issue #136 2021-08-30 14:01:42 +02:00
djmaze
8a22ddff5e Improved #121 2021-08-25 16:27:17 +02:00
djmaze
8934205ede Replace {'inbox-star-icon': isInboxStarred} with {'flag-icon': isFlagged} for future improvements 2021-08-24 21:10:49 +02:00
djmaze
ef4d604f6d Bugfixes and improvements for Folderlist 2021-08-24 18:23:17 +02:00
djmaze
327d6c32ca Improved FolderCollection handling and try to solve https://github.com/the-djmaze/snappymail/issues/112#issuecomment-904193275 2021-08-24 15:53:39 +02:00
djmaze
2def2fc118 IMAP \archive is not the same \all, so split it 2021-08-23 17:23:43 +02:00
djmaze
cc03546484 Reduce JavaScript footprint 2021-08-20 15:40:07 +02:00
djmaze
ba477e25ff Resolve issue #112 2021-08-19 15:14:47 +02:00
djmaze
5895804e9a More excessive DOM reductions 2021-08-12 14:44:38 +02:00
djmaze
d41b929c13 Delay message "mark as read" for 5 seconds 2021-07-26 10:15:50 +02:00
djmaze
5590fd4860 isNonEmptyArray => arrayLength 2021-07-21 21:34:17 +02:00
djmaze
18cedbabad Simplify UserBackground code 2021-07-20 16:49:03 +02:00
djmaze
e13337e247 Cleanup styling and gulp merge @media queries 2021-07-20 16:45:55 +02:00
djmaze
bb15cd1ec3 Resolve Issue #100 2021-07-19 11:57:47 +02:00
djmaze
79945d45b4 Merge Admin Plugins and Packages into single management page 2021-07-16 13:57:04 +02:00
djmaze
e49405cd85 Improved broken PGP implementation 2021-05-19 15:26:10 +02:00
djmaze
45c74370d0 Bugfix: has() is not a function 2021-05-19 11:24:53 +02:00
djmaze
29fe73d4e7 Cleanup .bind( 2021-04-23 10:47:24 +02:00
djmaze
999389c6c5 Bugfix: wrong Notification.RequestAborted 2021-04-22 23:53:39 +02:00
djmaze
5eb7c7515a Added feature request #69 2021-03-29 12:08:52 +02:00
djmaze
64cf19746d Finish the sort feature 2021-03-27 16:02:48 +01:00
djmaze
883bf6b026 Start https://github.com/the-djmaze/snappymail/issues/67#issuecomment-806948346 2021-03-26 15:07:14 +01:00
djmaze
23e15fd161 Use own createElement() instead of doc.createElement 2021-03-25 09:38:45 +01: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
650e962fdf Cleanup function folderListOptionsBuilder() 2021-03-23 22:45:30 +01:00
djmaze
46531c7831 Bugfix and improve layout change handling 2021-03-19 10:09:30 +01:00
djmaze
97d5f8762d Improve SettingsUserStore handling 2021-03-18 16:12:24 +01:00
djmaze
ce74b2e92f Cleanup more iError && data.Result 2021-03-18 14:48:21 +01:00
djmaze
87bee226b4 Easier refresh Folders 2021-03-18 13:52:56 +01:00
djmaze
11fd6736bb Set response ErrorCode as iError for easier fetch error handling 2021-03-18 12:33:13 +01:00
djmaze
a46c0c3b21 Put AppUserStore.currentAudio in AbstractSystemDropDownUserView 2021-03-17 10:09:10 +01:00
djmaze
676de1ed23 Simplify AppUserStore.contactsIsAllowed 2021-03-17 10:05:22 +01:00
djmaze
b7c02321fa Compress audio and clean links 2021-03-16 17:07:29 +01:00
djmaze
0b64083543 Array.isArray to isArray
Array.isNotEmpty to isNonEmptyArray
2021-03-16 16:49:14 +01:00
djmaze
eff92c3152 Cleanup AppUserStore
Simplify KeyState/Focused as Scope enum
2021-03-16 16:06:16 +01:00
djmaze
62cb918180 Removed AppAdminStore 2021-03-16 14:15:05 +01:00
djmaze
004eba6be2 Updated subscribables 2021-03-16 11:38:40 +01:00
djmaze
4b6f6b1bfc Move addObservablesTo, addComputablesTo & addSubscribablesTo to Common/Utils 2021-03-16 10:59:47 +01:00
djmaze
eda0ee695d Removed CapaAdminStore 2021-03-16 10:46:22 +01:00
djmaze
4a8d516123 Changed: StorageResultType to error result code 2021-03-16 09:46:23 +01:00
djmaze
0345050344 Simplify DomainAdminStore, PackageAdminStore and PluginAdminStore 2021-03-14 22:36:23 +01:00
djmaze
bde4d147bb Cleanup Filters/Sieve capa 2021-03-14 12:15:48 +01:00
djmaze
227db0e0c3 Simplify MessageUserStore 2021-03-12 16:54:37 +01:00
djmaze
8b2d183f07 Bugfix: removeColors sometimes broke HTML elements 2021-03-12 11:24:48 +01:00
djmaze
6a454ec624 Convert user stores to single object instances
Removed unused ContactUserStore.exportingCsv and ContactUserStore.exportingVcf
2021-03-10 22:41:35 +01:00
djmaze
34b25eedea Improve Settings handling 2021-03-10 11:44:48 +01:00
djmaze
1ac96c93d6 Improved responsive view
Removed unused CSS
2021-03-05 16:46:40 +01:00
djmaze
43e107b0cb Improved dark mode colors remover
Improved data-x-src:hover font-size
2021-03-05 11:44:13 +01:00
djmaze
1a5bc09bb3 Reduce amount of folder timers and improve autoLogout 2021-03-02 17:39:02 +01:00
djmaze
2982027dd2 Made SquaresDark theme really dark.
Due to that, e-mails with incorrect background/color settings are unreadable.
So a new feature in the settings is there to remove colors from messages.
Not perfect yet, but it works.
2021-02-24 00:17:53 +01:00
djmaze
db0d03db83 Bugfix: conflicting File object with native JS
Cleanup: Stores and tooltips
2021-02-17 14:40:21 +01:00
djmaze
d7994ddab6 Revamp Mobile/Desktop switcher without completely reloading.
Remove switcher from login page, it became useless.
2021-02-16 20:12:23 +01:00
djmaze
b1c7bd2c50 Improve and cleanup isMobile 2021-02-15 16:05:38 +01:00
djmaze
10f9ce39d9 Revamp mobile including CSS flexbox for messageListItem 2021-02-15 15:20:22 +01:00
djmaze
111455054e Speedup message bodies cache cleanup
Remove ko.bindingHandlers.link
2021-02-10 16:50:58 +01:00
djmaze
8c780ad353 Replace deprecated Knockout throttle with new debounce extender
Replace admin general mainAttachmentLimit with input type="number"
2021-02-10 12:12:36 +01:00
djmaze
3fa9bc6963 Speedup messagelist hasCheckedOrSelectedLines 2021-02-08 22:04:24 +01:00
djmaze
f08dfac99d Cleanup fontastic 2021-02-04 17:52:46 +01:00
djmaze
3983932bc0 Bugfix and cleanup rollup based javascript even more 2021-01-27 10:59:15 +01:00
djmaze
7ccc44616d Small code cleanups and fix translations 2021-01-27 00:26:31 +01:00
djmaze
ad8fd8879b This version uses Rollup instead of WebPack.
Due to that the code is smaller and has changes to prevent Circular Dependencies
2021-01-25 22:00:13 +01:00
djmaze
f3bfa0e8c1 Cleanup and split Enums 2021-01-24 22:58:06 +01:00
djmaze
b6f0b634fb Cleanup calls to Knockout observableArray
Improved Knockout observableArray
2021-01-22 12:23:20 +01:00
djmaze
e3125ebfff Get a working Sieve scripts manager 2021-01-19 16:01:30 +01:00
djmaze
61c3da14b4 Draft of new Filters design 2021-01-18 16:47:10 +01:00
djmaze
e023a5d6ab Prepare Sieve Filtering feature for advanced editing/handling 2021-01-06 01:06:16 +01:00
djmaze
324c7121cc Added more comment to displaySpecSetting 2020-12-10 14:22:46 +01:00
djmaze
d34729a1ae Resolve https://github.com/the-djmaze/snappymail/issues/47 2020-12-10 14:19:03 +01:00
djmaze
54f3337f01 Changes for https://github.com/the-djmaze/snappymail/issues/47
* don't divide folder.interval time, it has no purpose
* up the limit to 10 folders per request
folder.checkable() is still broken
2020-12-09 22:30:57 +01:00
djmaze
cd52d9ae6c More improvements for https://github.com/the-djmaze/snappymail/issues/37 2020-11-10 09:59:56 +01:00
djmaze
f706e14a2f More changes for https://github.com/the-djmaze/snappymail/issues/37
Notifications were hardcoded disabled for mobile.
2020-11-10 09:28:33 +01:00
djmaze
542d9c91e9 Changes for https://github.com/the-djmaze/snappymail/issues/37
Testing van be done at https://snappymail.eu/demo/
2020-11-09 20:14:04 +01:00
djmaze
2c40475bfa Bugfix: failed to set message data from dom 2020-11-05 10:38:17 +01:00
djmaze
7db7d5545b Improved observables 2020-10-27 11:09:24 +01:00
djmaze
3eb6ab1ef7 Improved knockout observables management to prevent memory leaks 2020-10-26 12:54:03 +01:00
djmaze
22f606ea75 Bugfix: revamp MessageModel broke flags cache
And took the liberty to put all MessageFlagsCache functions into a class
2020-10-25 13:50:26 +01:00
djmaze
76c4f62186 Improved reviveFromJson() for *Model 2020-10-23 15:15:54 +02:00
djmaze
15e07a73e9 merge all Model JSON @Object parsers into a reviveFromJson() 2020-10-18 19:46:47 +02:00
djmaze
1d6a636433 Split Common/Utils.js
Because admin app doesn't need most of them
2020-10-14 19:16:37 +02:00
djmaze
0eba94f671 Drop AbstractAppStore and
put the properties/observables where they belong
2020-10-12 19:46:41 +02:00
djmaze
c3a2da65df Revamp array filtering
Replaced fakeMd5 with new Jua.randomId
Cleanup more code
2020-10-02 23:54:15 +02:00
djmaze
0a95e2c6dc Cleanup constants 2020-09-30 14:07:03 +02:00
djmaze
4257d9ca78 Resolve https://github.com/the-djmaze/snappymail/issues/10 2020-09-24 15:08:57 +02:00
djmaze
b66e68a3b1 Merge some parts of initByJson and initUpdateByMessageJson
Cleanup messageListChecked handling
2020-09-20 11:29:31 +02:00
djmaze
467f615713 Move Knoin routOff, routOn, routReload & setHash to rl.route.* 2020-09-16 20:35:29 +02:00
djmaze
086a2c1927 Fetch response 'Collection/MessageCollection' to new MessageCollectionModel 2020-09-16 15:44:36 +02:00
djmaze
8f07cf4ac6 foldersReload promises populator to the new FolderCollectionModel 2020-09-16 09:32:36 +02:00
djmaze
385cd9588c Bugfix: i've wrecked rendering of inline images 2020-09-15 20:40:55 +02:00
djmaze
062f8d078e Message from, to, cc, bcc, replyTo and deliveredTo to the new EmailCollectionModel 2020-09-15 09:43:53 +02:00
djmaze
b904eca98e Cleanup __APP__/getApp code 2020-09-15 09:29:25 +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
djmaze
f2d194947d Merge Objects prototype extensions 2020-09-04 17:07:35 +02:00
djmaze
097fb4896d Bugfix: invalid settingsGet in dev/Stores/Admin/App.js
Cleanup login/logout location reloading
2020-09-04 14:36:24 +02:00
djmaze
aeb5275648 Improved boot.js with existing global window.rl
Put dev/Storage/Settings.js in boots.js global rl.settings
2020-09-04 12:05:17 +02:00
djmaze
69fcc240e9 More jQuery to native (including bootstrap.js) 2020-08-30 10:30:50 +02:00
djmaze
bdb36ec128 Use less jQuery, more native 2020-08-27 15:45:47 +02:00
djmaze
24cb874c87 iMessageBodyCacheCount only used in Message.js
htmlEditorDefaultConfig & htmlEditorLangsMap only used in HtmlEditor.js
2020-08-25 09:34:29 +02:00
djmaze
e3e5929b21 Removed more non-community (aka Prem/Premium/License) code 2020-08-24 20:56:14 +02:00
djmaze
d5665463fe Remove rl-anim feature and use no-mobile 2020-08-24 18:53:47 +02:00
djmaze
7a21694396 Drop windowResize/windowResizeCallback in favor of ResizeObservable 2020-08-19 12:34:05 +02:00
djmaze
97a73c6639 Replace timeOutAction() with debounce
Replace delegateRun()
Revert my throttle/debounce setTimeout() to Function.prototype[throttle/debounce]
2020-08-18 20:24:17 +02:00
djmaze
f6a55898c7 Removed isNormal() because 'null == undefined' so 'null != value' is sufficient 2020-08-17 21:57:56 +02:00
djmaze
9f1ea1a0fd Bugfix boostrap alerts.less was accidentally removed
Bugfix Date.fromNow('past'/'future') reversed
Replace Events[pub/sub]('interval.*') with setInterval()
Events[pub/sub] to native
Cleanup knockout extensions
Replaced momentToNode with proper HTML5 <time>
Cleanup Momentor
2020-08-14 20:35:39 +02:00
djmaze
6541a1de7c Remove Common/Enums Magics.* 2020-08-13 22:58:41 +02:00
djmaze
e7180a86ce Made eslint using 'browser' environment and added globals, because RainLoop is used in browsers.
This also allowed to remove all webpack 'externals' overhead.
2020-08-12 00:25:36 +02:00
djmaze
b57b555bed Bugfix: replaced momentjs had timestamp issue 2020-08-07 17:37:14 +02:00
djmaze
ecbe543b15 cleanup webpack 2020-08-07 16:28:30 +02:00
djmaze
bbd9f49dcd $.proxy is deprecated
$.trim is deprecated
2020-08-06 18:24:46 +02:00
djmaze
ea48f5060b isArray to native Array.isArray
isUnd(*) to native undefined === *
isFunc to native typeof * === 'function'
isObject to native typeof * === 'object'
microtime() to native Date().getTime();
noop to native ()=>{}
noopFalse to native ()=>false
noopTrue to native ()=>true
boolToAjax to native *?'1':'0'
Underscore.js to native
2020-07-29 21:49:41 +02:00
djmaze
2ba34532c2 JavaScript string compare '' is always a ToBoolean
See https://www.ecma-international.org/ecma-262/5.1/#sec-9.2
2020-07-28 17:20:14 +02:00
djmaze
82bed1ed80 Cleanup array.length checks and for() to forEach() 2020-07-28 12:35:41 +02:00
djmaze
dca0ff02ed Use jQuery.slim
Underscore.js _.uniq(_.compact( to native Array.filter((value, index, self) => !!value && self.indexOf(value) == index)
Underscore.js _.compact to native Array.filter(value => !!value)
Underscore.js _.uniq to native Array.filter((value, index, self) => self.indexOf(value) == index)
Underscore.js _.values to native Object.values
Underscore.js _.flatten to native Array.flat
Underscore.js _.union to native Array.concat + unique filter
Underscore.js _.reduce to native Array.reduce
Underscore.js _.escape replaced with advanced htmlspecialchars()
Underscore.js _.memoize replaced
Now Underscore.js is a slim custom version (only _.debounce, _.defer & _.throttle)
2020-07-23 16:06:16 +02:00
djmaze
43c92a82e6 Underscore.js _.delay() to native setTimeout() 2020-07-22 20:28:25 +02:00
djmaze
a82575a830 Underscore.js _.map() to native Array.map() (optional with Object.entries/values) 2020-07-22 20:09:31 +02:00
djmaze
749f372042 https://github.com/RainLoop/rainloop-webmail/issues/1924 2020-07-22 14:54:21 +02:00
djmaze
a5d41edb24 Underscore.js _.each() to native Array.forEach() (optional with Object.entries/values) 2020-07-22 14:49:18 +02:00