Commit graph

334 commits

Author SHA1 Message Date
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
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
djmaze 6e0d0b3b6e CRLF to LF 2020-03-11 14:17:52 +01:00
djmaze 4468d5bd22 Removed: twitter, google, dropbox, facebook, owncloud, modernizr from JavaScript 2020-03-11 12:55:03 +01:00
RainLoop Team 32ceafa37f Add Gmail XAUTH support 2019-12-31 20:44:41 +03: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
RainLoop 90a3d2b62a Fix incorrect mailto format #1521 2017-10-06 21:52:00 +03:00
RainLoop 71718db8f0 Small fixes 2017-10-01 20:54:50 +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 d7ab67a460 Code refactoring (4) (es5 -> es2015) 2016-07-15 22:54:37 +03:00