Commit graph

274 commits

Author SHA1 Message Date
djmaze 4d6d0622e5 Speedup generating folderlist 2021-10-26 15:43:27 +02:00
djmaze c8a5ae5c3a Improved kolab folder-type detection as they can also be appended with '.default' 2021-10-19 12:44:09 +02:00
djmaze c039e813a6 Forward if METADATA is supported to JavaScript 2021-10-15 12:34:45 +02:00
djmaze 0c237376e5 Get Kolab integration working 2021-10-15 11:58:06 +02:00
djmaze 8be4c384bb Improved AbstractScreen properties
Improved settings screens
Views:
* sDefaultScope & sCurrentScope to sub-class keyScope
* drop viewModelVisible
* rename viewModelTemplateID to templateID
* rename viewModelPosition to viewType
2021-09-22 20:17:44 +02:00
djmaze 134deb8d73 Drop unused user mail templates system 2021-09-17 10:32:58 +02:00
djmaze e93dc9201d Bugfix: Setting change "background color" checkbox error "MessageUserStore.messagesBodiesDom() is null" 2021-09-14 16:14:05 +02:00
djmaze 9e28eb5fc7 Improved Jua uploader 2021-09-14 12:50:56 +02:00
djmaze 985a4f5077 More CSS, HTML & JS cleanups 2021-09-10 09:30:06 +02:00
djmaze 371b23a2f3 Cleanup more HTML and CSS 2021-09-09 17:00:31 +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 fe4344794b Workarounds for #124 (does not solve it) 2021-08-25 16:30:47 +02:00
djmaze 8a22ddff5e Improved #121 2021-08-25 16:27:17 +02:00
David Härdeman 72ff960114 [snappymail] Allow deletion of parent folder with subfolders
This change brings snappymails behaviour in line with RFC3501, section 6.3.4,
by allowing "real" (i.e. non-\Noselect) parent folders to be deleted and
by not performing a recursive deletion of subfolders.
2021-08-24 18:33:54 +02:00
djmaze ef4d604f6d Bugfixes and improvements for Folderlist 2021-08-24 18:23:17 +02:00
djmaze ba477e25ff Resolve issue #112 2021-08-19 15:14:47 +02:00
djmaze d536b5eeee Change ()=>{} into ()=>0 2021-08-13 09:58:43 +02:00
djmaze 8b116fa8ba Cleanup some code 2021-08-12 20:17:37 +02:00
djmaze 5590fd4860 isNonEmptyArray => arrayLength 2021-07-21 21:34:17 +02:00
djmaze 7ab832e854 Custom new mail notification sounds 2021-07-21 11:19:52 +02:00
djmaze 18cedbabad Simplify UserBackground code 2021-07-20 16:49:03 +02:00
djmaze 63f10f9e9b remove unused showScreenPopup 2021-04-12 19:45:33 +02:00
djmaze 48fa1a1fdc Drop 2FA, read #84 2021-04-12 19:15:33 +02:00
djmaze 5eb7c7515a Added feature request #69 2021-03-29 12:08:52 +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 d74f58393c Resolve Issue #52 2021-03-18 16:12:40 +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 11fd6736bb Set response ErrorCode as iError for easier fetch error handling 2021-03-18 12:33:13 +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 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 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 1a5bc09bb3 Reduce amount of folder timers and improve autoLogout 2021-03-02 17:39:02 +01:00
djmaze fb03687528 Revamp Issue #51 to make the whole "change password" thing a plugin 2021-03-01 00:52:46 +01:00
djmaze 1a82dde49b https://github.com/the-djmaze/snappymail/issues/51 2021-02-24 22:03:14 +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 0d6335ed2c messagelist search without float
and remove some usePreviewPane
2021-02-15 20:05:51 +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 e3e0474be2 Bugfix and cleanup CSS even more 2021-02-08 14:03:54 +01:00
djmaze 32c3f1f059 Cleanup links 2021-02-04 11:25:00 +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 b31bf3d7f5 Improved js minification 2021-01-26 11:46:30 +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 dd9f277ccf Split collectionToFileString() from SieveStorage to Sieve
Converted SieveStorage fileStringToCollection() to JavaScript sieveScriptToFilters()
Drop the old filtersSave()
2021-01-20 14:52:20 +01:00
djmaze d9118fbf90 Bugfix: saveError undefined, should be serverError
Bugfix: dot should be comma
2021-01-20 12:04:27 +01:00
djmaze ee37ad67bb Enable add/delete of Sieve scripts 2021-01-19 16:59:43 +01:00
djmaze e3125ebfff Get a working Sieve scripts manager 2021-01-19 16:01:30 +01:00
djmaze a31834458b More improvements to view Sieve Scripts. 2021-01-18 23:52:15 +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 cd52d9ae6c More improvements for https://github.com/the-djmaze/snappymail/issues/37 2020-11-10 09:59:56 +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 4f21cda9cd Resolve https://github.com/the-djmaze/snappymail/issues/33 2020-10-30 16:42:01 +01:00
djmaze b79d9de1a0 Bugfix: i broke the user -> settings -> folders screen 2020-10-29 10:59:26 +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 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 4257d9ca78 Resolve https://github.com/the-djmaze/snappymail/issues/10 2020-09-24 15:08:57 +02:00
djmaze 4e449b9c66 replace knockout-sortable with html5 native 2020-09-20 23:15:06 +02:00
djmaze 467f615713 Move Knoin routOff, routOn, routReload & setHash to rl.route.* 2020-09-16 20:35:29 +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 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 1802dda136 Removed jQuery dependencies from Jua.js 2020-09-01 16:57:14 +02:00
djmaze 69fcc240e9 More jQuery to native (including bootstrap.js) 2020-08-30 10:30:50 +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 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 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 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 90cec2171a Strip .no-css, .csstransitions and .cssanimations 2020-07-22 08:17:02 +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 412d69ce75 Removed jquery-backstretch that handled the UserBackground
The UserBackground is now handled with CSS3 on body.thm-body
This allowed me to remove the #rl-bg so that the "video-on-login-screen" plugin will not work indefinitely.
2020-07-13 15:47:19 +02:00
djmaze aae7883b99 Bugfix: bootstrap jQuery('#') syntax error
Changed: use ES2015
Changed: gulp uglify to terser
Removed: ChangePassword
Removed: nanoscroll
Removed: JS polyfills
2020-03-13 15:30:39 +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 8a0be3212d prettier --write 2019-07-04 22:19:24 +03:00
RainLoop Team 45fe0217f2 Add "Automatically save draft" option 2017-06-28 19:25:53 +03:00
RainLoop Team e6e0b02849 Code refactoring
Flow first look
2016-09-10 02:27:53 +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 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
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 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 c71ecbc12d Fix Javascript error on create/delete folder (#1079) 2016-06-20 20:22:51 +03:00
RainLoop Team 80ab02363e Code refactoring (v2) 2016-06-17 02:32:16 +03:00
RainLoop Team d2c16381e2 Add more options for session timeout (#807) 2016-05-22 03:15:51 +03:00
RainLoop Team 1391648e1b Split application data 2016-04-30 02:42:18 +03:00
RainLoop Team 568a1a1cda Fixed: Folder expand/collapse not remembered (#934) 2016-01-22 19:51:22 +03:00
RainLoop Team cfad4bb005 Added: Password change plugin API improvements (#910) 2015-12-15 07:02:46 +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 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 42bac6aa2f PreRelease fixes 2015-07-06 00:33:55 +04:00
RainLoop Team 4457cdbc23 Improvements of message displaying (internal styles) 2015-06-23 01:34:50 +04:00
RainLoop Team 0035505659 Small fixes 2015-05-18 16:28:14 +04:00
RainLoop Team 2f482a6288 Added Allow/Disallow multiple identities 2015-05-18 00:41:59 +04:00
RainLoop Team 9a98bff931 Release fixes 2015-05-18 00:41:57 +04:00
RainLoop Team 66c3307291 Small fixes 2015-05-06 02:03:58 +04:00
RainLoop Team 2ac2168477 Small fixes 2015-04-30 00:09:03 +04:00
RainLoop Team 19f06c11d2 Added new language strings 2015-04-26 02:01:56 +04:00
RainLoop Team acb013fbb5 Added "Enforce 2-Step verification" setting 2015-04-07 20:40:28 +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 3dac6809d1 Admin Panel localization (#467) 2015-03-28 02:09:36 +04:00
RainLoop Team bab64a7cea Code refactoring (promises for folders management) 2015-03-17 18:30:17 +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 276e8c48e8 Small fixes 2015-02-20 02:13:27 +04:00
RainLoop Team bb551e4ec8 Added auto logout option 2015-02-19 01:19:24 +04:00
RainLoop Team e3064b10aa Fixed strange characters in plain text mode (Firefox) (Closes #462) 2015-02-17 17:32:11 +04:00
RainLoop Team 7807138b7b Fixed missing identity section (Closes #456) 2015-02-16 17:47:02 +04:00
RainLoop Team 4c6fd9cdd1 Signature builder small changes 2015-02-16 05:21:18 +04:00
RainLoop Team 1a85330770 Small fixes and code refactoring 2015-02-16 01:58:24 +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 47cc73c992 User background image optimization 2015-02-06 19:29:08 +04:00
RainLoop Team 44566aad4b Release fixes 2015-02-04 22:39:56 +04:00
RainLoop Team 2937f341ee Small fixes 2015-02-03 21:18:08 +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