Commit graph

365 commits

Author SHA1 Message Date
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 4a8d516123 Changed: StorageResultType to error result code 2021-03-16 09:46:23 +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 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 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 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 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 a5d41edb24 Underscore.js _.each() to native Array.forEach() (optional with Object.entries/values) 2020-07-22 14:49:18 +02:00
djmaze 9c0072d626 Underscore.js _.find() to native Array.find() 2020-07-22 10:43:19 +02:00
djmaze 961fa305c9 -1…*.indexOf() to native .includes() 2020-07-20 21:39:00 +02:00
djmaze eb15c6e45f Changes _.filter(array) to native array.filter() 2020-07-20 21:29:44 +02:00
djmaze af136f46c4 _.bind(function, object) to function.bind(object) 2020-07-20 15:47:33 +02:00
djmaze db2d95d684 JavaScript inArray()/indexOf() to .includes() 2020-07-20 14:33:33 +02:00
djmaze 0b0747b8dc Upgraded some old JavaScript to ECMAScript 1.6
Removed some jQuery references
Added JavaScript Globals.$htmlCL for frequently used window.document.documentElement.classList
2020-07-15 14:25:51 +02:00
RainLoop Team 08333610ce Update dependencies 2019-12-24 22:05:46 +03:00
RainLoop Team 40dc22a317 Remove knockout-transformations dependency 2019-07-04 22:58:15 +03:00
RainLoop Team 8a0be3212d prettier --write 2019-07-04 22:19:24 +03:00
Martin Stenröse 070e4ee0fb Allow sieve filter to "fileinto" INBOX 2017-08-14 14:51:10 +02:00
RainLoop Team 45fe0217f2 Add "Automatically save draft" option 2017-06-28 19:25:53 +03:00
RainLoop Team 8da988fef2 Synchronize localizations from Transifex
Update package.json dependencies
Fix eslint errors
webpack 2 -> webpack 3
2017-06-24 22:26:27 +03:00
RainLoop Team 7b3ac82e5a Update package.json dependencies 2017-04-03 00:40:13 +03:00
RainLoop Team 317318e1f3 Fix "Removing message that was not marked" (#1388) 2017-04-03 00:15:31 +03:00
RainLoop Team f0e9d1a6d5 Add new "Move to folder" button 2017-02-08 20:48:53 +03:00
RainLoop Team 0e9cffd657 Small fixes 2016-12-15 00:56:17 +03:00
RainLoop Team ca4897038a Fix strange quoting behaviour (#1225) 2016-10-26 01:10:36 +03:00
RainLoop Team e5af98b04b Update ckeditor
Move e2e tests
Code refactoring
2016-09-12 23:50:21 +03:00
RainLoop Team 962391e2a0 Add cmd interface
Code refactoring
2016-08-24 01:17:50 +03:00
RainLoop Team 17669b7be0 es5 -> es2015 (last stage)
Signature plugin fixes
Add view decorator
A large number of fixes
2016-08-20 20:30:16 +03:00
RainLoop Team e88c193334 *.jsx -> *.js 2016-08-11 02:34:09 +03:00
RainLoop Team c7e97b78d6 Fixes for scrutinizer-ci 2016-08-09 21:58:34 +03:00
RainLoop Team 51b9e400d2 Small fixes 2016-08-09 20:27:04 +03:00
RainLoop Team cec53b111f Code refactoring (5) (es5 -> es2015) 2016-07-17 18:05:15 +03:00
RainLoop Team 38a1041a73 Code refactoring (es5 -> es2015) 2016-07-07 00:03:30 +03:00
RainLoop Team fb2e492ce8 More scrict rules 2016-07-05 22:52:52 +03:00
RainLoop Team 52e2698cdf Add more strict rules (eslint) 2016-07-02 01:49:59 +03:00
RainLoop Team 8a6765faeb Fix eslint version 2016-07-01 01:50:11 +03:00
RainLoop Team 8e8a041032 eslint (additional rules) 2016-07-01 01:05:04 +03:00
RainLoop Team 77a1d3f3df jshint -> eslint 2016-06-27 23:55:37 +03:00
RainLoop Team eaf60c3c99 Add SPAM button on mobile view (#1073) 2016-06-17 23:11:52 +03:00
RainLoop Team 90d95d3ca4 Code refactoring 2016-06-16 02:36:44 +03:00
RainLoop Team 08ccf55577 js -> jsx 2016-06-07 00:58:44 +03:00
RainLoop Team d64b6388ae Disable "Auto Logout" when "Remember me" is on. (#988) 2016-05-24 20:58:07 +03:00
RainLoop Team 1323a9ce52 Code refactoring (Q -> Promise) 2016-05-23 20:33:01 +03:00
RainLoop Team aeec36de19 Small fixes 2016-05-22 20:35:33 +03:00
RainLoop Team a655b94aba Update openpgpjs (1.2.0 -> 2.3.0) (#1023) 2016-05-05 03:14:38 +03:00
RainLoop Team 1391648e1b Split application data 2016-04-30 02:42:18 +03:00
Carles Escrig Royo 9e133b3cc5 Merge branch 'master' into gpg-key-multiple-addresses 2016-04-20 20:06:52 +02:00
Carles Escrig Royo 412ba464c8
revert decrypt button enabling; allow to select sign key 2016-04-20 19:56:14 +02:00
RainLoop Team 72ca818500 Fix eslint warnings 2016-04-20 20:31:24 +03:00
Carles Escrig Royo 44dfa53cde
Must encrypt with the sender key 2016-04-07 14:07:19 +02:00
Carles Escrig Royo a34da5de0d
Encrypt/decrypt with multiple addresses in a single GPG key 2016-04-06 20:26:29 +02:00
RainLoop Team c926642bff PreRelease commit 2016-01-05 21:21:30 +03:00
RainLoop Team 53cf543795 babeljs: step 2 2015-11-18 23:10:01 +03:00
RainLoop Team 445cd155e5 ES2015 first look / babeljs 2015-11-15 03:24:02 +03:00
RainLoop Team 7b5d00ff01 Small improvements 2015-10-14 19:47:46 +03:00
RainLoop Team 87887373c1 Updated: ckeditor 4.5.3, jquery 1.11.3, openpgpjs 1.2.0
OpenPGP decrypt fix
+ Small fixes
2015-09-18 21:35:30 +03:00
RainLoop Team fc827326c4 Changed: photoswipe > lightGallery 2015-08-31 23:13:59 +03:00
RainLoop Team 9b6b68e72b Added: New keyboard shortcuts for compose popup (Esc, Sift+Esc, `)
Fixed: Folders list tree viewer
2015-08-30 22:31:04 +03:00
RainLoop Team 3498700f61 Add additional logging for OpenPGP
Remove enforcing lower case for email addresses
Small fixes
2015-08-26 21:05:29 +03:00
RainLoop Team 106ee26ad2 Pre release commit 2015-08-11 22:51:07 +04:00
RainLoop Team 5123841540 Pgp improvements 2015-07-29 21:23:10 +04:00
RainLoop Team 9ade5a585b Clickable notifications (#745) 2015-07-06 22:47:08 +04:00
RainLoop Team 34a9b8cbc5 OpenPGP improvements (first step)
openpgpjs: 0.7.2 -> 0.10.1
additional fixes
2015-06-23 01:34:52 +04:00
RainLoop Team 09334159c2 A lot small fixes 2015-06-23 01:34:51 +04:00
RainLoop Team 9a98bff931 Release fixes 2015-05-18 00:41:57 +04:00
RainLoop Team f91f74fe7c Release fixes 2015-05-12 20:33:02 +04:00
RainLoop Team 1fb553e77e Remote Synchronization (CardDAV) improvements:
now it supports address book url auto detection (and works with Google contacts, icloud and etc.)
2015-05-09 02:43:56 +04:00
RainLoop Team 19f06c11d2 Added new language strings 2015-04-26 02:01:56 +04:00
RainLoop Team 48b91fb957 Save attachments as ... 2015-04-25 02:58:56 +04:00
RainLoop Team 8a4bce3591 New thread list logic (step 3) 2015-04-22 01:01:29 +04:00
RainLoop Team 03d26bc4c6 New thread list logic (step 2) 2015-04-21 02:39:14 +04:00
RainLoop Team b656b6365b New thread list logic (step 1) 2015-04-20 23:49:51 +04:00
RainLoop Team a4904f4c00 Message thread optimization 2015-04-15 02:27:31 +04:00
RainLoop Team 0ea982671b PreRelease 1.8.3 2015-04-14 00:24:15 +04:00
RainLoop Team 1d943356f5 Simple mp3 player 2015-04-10 12:17:49 +04:00
RainLoop Team b7709c8117 Code refactoring 2015-04-07 20:40:27 +04:00
RainLoop Team 80c5e35a29 New styles for toltips (Opentip)
Selector new functionality
x-script tag support for templates
2015-04-02 01:59:03 +04:00
RainLoop Team 18931eaca0 Smooth reload animation 2015-03-31 04:12:05 +04:00
RainLoop Team c4aabb0cd4 Added q.min file 2015-03-26 02:16:53 +04:00
RainLoop Team d8c9f7ec14 Code refactoring 2015-03-19 01:59:55 +04:00
RainLoop Team bab64a7cea Code refactoring (promises for folders management) 2015-03-17 18:30:17 +04:00
RainLoop Team 147dce6e4a Momentor (moment optimization) 2015-03-07 04:41:38 +04:00
RainLoop Team 7750587be1 Beta 1.8.2 (for testing) 2015-03-06 21:11:41 +04:00
RainLoop Team b6ca9e357e New thread controller 2015-03-06 04:42:40 +04:00
RainLoop Team 13d4c769e2 Small fixes 2015-02-23 20:20:41 +04:00
RainLoop Team 4eaef23cc7 Code refactoring 2015-02-22 20:35:17 +04:00
RainLoop Team 31860420cb Code refactoring 2015-02-22 02:00:51 +04:00
RainLoop Team bb551e4ec8 Added auto logout option 2015-02-19 01:19:24 +04:00
RainLoop Team fdf3b614b4 Fixed PGP functionality in 1.8+ (Closes #464) 2015-02-17 17:33:04 +04:00
RainLoop Team 1a85330770 Small fixes and code refactoring 2015-02-16 01:58:24 +04:00
RainLoop Team 844afadd6f ckeditor fixes
demo-plugin
TemproryApcStorage
2015-02-12 21:56:49 +04:00
RainLoop Team 6116597f6f Many fixes
New ownCloud package with a built-in webmail
2015-02-12 01:41:07 +04:00
RainLoop Team 1119022916 Added individual signatures for every identity. 2015-02-08 05:12:34 +04:00
RainLoop Team 493191375f Identities refactoring and improvements (Reply-To and BCC) 2015-02-06 19:29:34 +04:00
RainLoop Team 44566aad4b Release fixes 2015-02-04 22:39:56 +04:00
RainLoop Team 286ab567af Code refactoring 2015-02-03 05:56:26 +04:00
RainLoop Team 79233ad83c Added counters of unread messages for additional accounts (#377) 2015-02-02 00:48:49 +04:00
RainLoop Team abddb3d828 Pre release fixes and improvements 2015-02-01 19:44:44 +04:00
RainLoop Team 0735071f1c mailto links fixes
Filters interface fixes
DKIM status a new message
2015-01-31 23:00:10 +04:00
RainLoop Team 0152f1583b Sieve filters (pre release) 2015-01-29 01:24:58 +04:00
RainLoop Team b563528be7 Sortable accounts list 2015-01-28 02:16:00 +04:00
RainLoop Team aa84077ac4 Sound notification
Additional code refactoring
2015-01-27 01:06:00 +04:00