Commit graph

170 commits

Author SHA1 Message Date
djmaze 8ac116d0a4 Added Admin TOTP to admin security page 2021-11-18 14:14:14 +01:00
djmaze ce413b7b7a Some account switch reload improvements 2021-11-12 09:36:08 +01:00
djmaze 1767ba7ec9 Bugfix and improved Remote.message() and Remote.messageList() by using JSON 2021-11-11 22:52:06 +01:00
djmaze 739aeaded5 Improved the Switch account system for better feedback to user 2021-11-11 21:01:39 +01:00
djmaze 597ea21b70 Prepared code to switch accounts without reload (not working yet) 2021-11-11 17:14:06 +01:00
djmaze 20eb01de08 Added AbstractFetchRemote.streamPerLine(fCallback, sGetAdd) for future use of streaming data to the client. 2021-11-01 14:57:58 +01:00
djmaze d534d2700a Show if optional PHP extensions are loaded on Admin -> About page 2021-10-21 15:28:56 +02:00
djmaze 0c237376e5 Get Kolab integration working 2021-10-15 11:58: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 be9cb6c727 Bugfix for #123 2021-08-25 12:34:19 +02:00
djmaze 5db8f032b8 Resolve issue #123 2021-08-25 12:00:50 +02:00
djmaze fd293b723b Resolve Issue #104 2021-08-09 11:13:10 +02:00
djmaze 0a69c6410d Added support for JavaScript FormData
As preparation for 2FA plugins and easier Fetch calls
2021-07-23 11:40:03 +02:00
djmaze bf75cf7946 Added 2FA TOTP on admin login
https://github.com/the-djmaze/snappymail/issues/84#issuecomment-818808101
2021-07-22 21:36:44 +02:00
djmaze 5590fd4860 isNonEmptyArray => arrayLength 2021-07-21 21:34:17 +02:00
djmaze 79945d45b4 Merge Admin Plugins and Packages into single management page 2021-07-16 13:57:04 +02:00
djmaze a36a8113bb Cleanup more rlspecauth/AuthAccountHash related code 2021-04-28 21:33:03 +02:00
djmaze 146b2c1001 Cleanup AuthAccountHash handling 2021-04-28 15:56:31 +02:00
djmaze ca9b8c8c7f Drop additionalCode for #84 2021-04-12 21:35:36 +02:00
djmaze 48fa1a1fdc Drop 2FA, read #84 2021-04-12 19:15:33 +02:00
djmaze 883bf6b026 Start https://github.com/the-djmaze/snappymail/issues/67#issuecomment-806948346 2021-03-26 15:07:14 +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 cca0fc15da Added HTML5 form.reportValidity() to login screens
This improves browser feedback on form errors
2021-03-23 11:28:36 +01:00
djmaze 612aff4b27 Essential part for issue #64
Real drag & drop needs to be created.
2021-03-22 15:44:48 +01:00
djmaze f69b1195e6 Based on RainLoop discussion #2079,
i've added a security option to set Sender per Domain.
NOTE: Not tested yet
2021-03-22 14:17:18 +01:00
djmaze 97d5f8762d Improve SettingsUserStore handling 2021-03-18 16:12:24 +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 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 be3ef15f8e Removed unused adminPing 2021-03-14 22:36:39 +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 3426921c9d Improved Fetch error handling 2021-02-25 10:12:48 +01:00
djmaze 1a82dde49b https://github.com/the-djmaze/snappymail/issues/51 2021-02-24 22:03:14 +01:00
djmaze 32c3f1f059 Cleanup links 2021-02-04 11:25:00 +01:00
djmaze aa05f10629 v2.2.1 2021-01-27 12:02:37 +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 14ba459d46 Always allow raw editing of Sieve scripts 2021-01-21 10:00:12 +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 e3125ebfff Get a working Sieve scripts manager 2021-01-19 16:01:30 +01:00
djmaze fa7ea413dc Cleanup AbstractFetch
and added fetchJSON mockup code for error handling regarding issue #49
2021-01-05 13:58:50 +01:00
djmaze 950579c7f5 Rename 'ajax' to 'json' because we don't use XML
We use json as response
2020-12-30 15:50:47 +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 3a315bc543 Bugfix: Contacts management failed
It had a strange array type structure and buggy
2020-10-20 15:37:06 +02:00
djmaze cfdbe3251e Removed the DATA_IMAGE_USER_DOT_PIC
Because viewUserPic is always false due to the removed Gravatar feature
2020-09-30 16:10:01 +02:00
djmaze 0a95e2c6dc Cleanup constants 2020-09-30 14:07:03 +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 344edaec2a cleanup Fetch API code 2020-09-15 11:51:07 +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 ab3ce67376 Centralize window.fetch to rl.fetchJSON() 2020-09-14 12:39:15 +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 bdb36ec128 Use less jQuery, more native 2020-08-27 15:45:47 +02:00
djmaze e3e5929b21 Removed more non-community (aka Prem/Premium/License) code 2020-08-24 20:56:14 +02:00
djmaze d88855ebd9 Remove addHook/runHook system as it is never used 2020-08-22 01:04:15 +02:00
djmaze 226f77e392 urlsafeArray the join(0x00) should be join('\x00') 2020-08-20 07:28:08 +02:00
djmaze 5d402f6405 Common/Base64.js not needed, see simple Remote/User/Ajax.js urlsafeArray()
Although unescape() is "deprecated" it is still ECMAScript defined, and TextEncoder not supported by Edge.
2020-08-19 22:23:28 +02:00
djmaze 1d4224d733 Drop License code (not used by comunity) 2020-08-18 20:45:43 +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 1b811428e7 new Date().getTime() to Date.now() 2020-08-17 21:35:03 +02:00
djmaze 7670d2073d Prevent parameter errors in sendMessage()/saveMessage() due to too many parameters.
Instead provide an object.
sendMessage param 'SentFolder' and saveMessage param 'DraftFolder' now both 'SaveFolder'
2020-08-17 21:32:57 +02:00
djmaze 6f49e9b80f Bugfix: new AbstractAjaxRemote failed with recursive values like the Attachments 2020-08-15 22:12:57 +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 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 07fd143853 Remove unused code 2020-07-29 00:06:59 +02:00
djmaze 3669fdc752 Bugfix: when iTimeOut = 0 it aborted the AbstractAjaxRemote request 2020-07-29 00:03:40 +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 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 e01e484259 Ajax use window.fetch() instead of $.ajax (not perfect yet).
This allows us to use jquery.slim (and cash-dom in the future)
2020-07-21 22:22:58 +02:00
djmaze 961fa305c9 -1…*.indexOf() to native .includes() 2020-07-20 21:39:00 +02:00
djmaze db2d95d684 JavaScript inArray()/indexOf() to .includes() 2020-07-20 14:33:33 +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 1b2306c7b0 Delete JsError action 2019-08-01 03:13:44 +03:00
RainLoop Team 8a0be3212d prettier --write 2019-07-04 22:19:24 +03:00
RainLoop Team a1562e7145 Update dependencies and configurations 2019-06-29 03:17:29 +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 0e9cffd657 Small fixes 2016-12-15 00:56:17 +03:00
RainLoop Team e5af98b04b Update ckeditor
Move e2e tests
Code refactoring
2016-09-12 23:50:21 +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 59b32241bf More fixes for scrutinizer-ci 2016-08-09 22:52:30 +03:00
RainLoop Team cec53b111f Code refactoring (5) (es5 -> es2015) 2016-07-17 18:05:15 +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