Commit graph

101 commits

Author SHA1 Message Date
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
djmaze 96e2e6576c IMAP UID is integer 2021-09-10 16:28:29 +02:00
djmaze cca8ce065c Resolve issue #139 2021-09-02 12:09:16 +02:00
djmaze fa25be0631 Make unsubsribeLinks observable 2021-09-01 16:10:44 +02:00
djmaze 5895804e9a More excessive DOM reductions 2021-08-12 14:44:38 +02:00
djmaze 5590fd4860 isNonEmptyArray => arrayLength 2021-07-21 21:34:17 +02:00
djmaze bb15cd1ec3 Resolve Issue #100 2021-07-19 11:57:47 +02:00
djmaze 3d10bbface Added SpamResult 2021-04-09 09:01:48 +02:00
djmaze 168ee911b3 Added: Show spam score in % in message detailed info
Currently only for SpamAssassin and Rspamd
2021-04-08 15:56:46 +02:00
djmaze 89cbcf6f63 Remove unused properties and improved message view header 2021-04-07 16:35:46 +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 0b64083543 Array.isArray to isArray
Array.isNotEmpty to isNonEmptyArray
2021-03-16 16:49:14 +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 e2d6528bf5 Bugfix: message threaded mode was broken (knockout computable requires call to observable) 2021-03-08 15:21:54 +01:00
djmaze db0d03db83 Bugfix: conflicting File object with native JS
Cleanup: Stores and tooltips
2021-02-17 14:40:21 +01:00
djmaze 10f9ce39d9 Revamp mobile including CSS flexbox for messageListItem 2021-02-15 15:20:22 +01:00
djmaze 32c3f1f059 Cleanup links 2021-02-04 11:25:00 +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 1535dd00f1 cleanup webpack export references 2021-01-22 16:32:08 +01:00
djmaze b6f0b634fb Cleanup calls to Knockout observableArray
Improved Knockout observableArray
2021-01-22 12:23:20 +01:00
djmaze a28b5c2b6c Cleanup and deduplicate languages 2021-01-21 17:21:19 +01:00
djmaze 2c40475bfa Bugfix: failed to set message data from dom 2020-11-05 10:38:17 +01:00
djmaze b165a1de4f Added addComputables() to *Model 2020-10-25 14:14:14 +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 d7a4639d6b Prevent memory leaks in *Model 2020-10-25 11:46:58 +01:00
djmaze 76c4f62186 Improved reviveFromJson() for *Model 2020-10-23 15:15:54 +02:00
djmaze 188a40b196 Basic JSON object properties revival now handled by AbstractModel
This will be better for future use of JSON.stringify() and JSON.parse()
For now the difference between the PHP JSON being PascalCase and the JS object properties being camelCase is handled by AbstractModel
2020-10-20 17:39:00 +02:00
djmaze 53bf7c1d60 setFromJson was not called at reviveFromJson 2020-10-20 17:29:24 +02:00
djmaze 15e07a73e9 merge all Model JSON @Object parsers into a reviveFromJson() 2020-10-18 19:46:47 +02:00
djmaze ddc866735c Drop unused sModelName 2020-10-18 19:19:45 +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 a0f8ac0dad Cleanup Date.fromNow() and friendlySize() 2020-10-03 14:02:33 +02:00
djmaze 2bd9528098 Clean message preview/print 2020-10-03 13:04:23 +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 9992b20163 Merge file and mime code into simple Common/File.js 2020-10-02 14:44:29 +02:00
djmaze b66e68a3b1 Merge some parts of initByJson and initUpdateByMessageJson
Cleanup messageListChecked handling
2020-09-20 11:29:31 +02:00
djmaze 9241726ffe Bugfix: Message attachments should be observable or else KnockoutJS is not updating 2020-09-17 22:14:51 +02:00
djmaze 385cd9588c Bugfix: i've wrecked rendering of inline images 2020-09-15 20:40:55 +02:00
djmaze e99a69a9aa Attachments array to new AttachmentCollectionModel 2020-09-15 15:08:08 +02:00
djmaze 344edaec2a cleanup Fetch API code 2020-09-15 11:51:07 +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 f2d194947d Merge Objects prototype extensions 2020-09-04 17:07:35 +02:00
djmaze bdb36ec128 Use less jQuery, more native 2020-08-27 15:45:47 +02:00
djmaze b185402ae7 Bugfix: Contacts.js trim() missing
Bugfix: ClearCookie failed
2020-08-22 01:05:43 +02:00
djmaze 7a21694396 Drop windowResize/windowResizeCallback in favor of ResizeObservable 2020-08-19 12:34:05 +02:00
djmaze aaf4933b0a Embed cleaner node modules 2020-08-12 01:47:24 +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