Commit graph

357 commits

Author SHA1 Message Date
djmaze 134deb8d73 Drop unused user mail templates system 2021-09-17 10:32:58 +02:00
djmaze 4ca29a2e8f Cleanup knockout Components 2021-09-14 16:11:50 +02:00
djmaze bafc74fd09 Also prevent browser unload in Chrome 2021-08-31 16:21:40 +02:00
djmaze f2d172de7d Prevent unloading of browser window when popups (like composer window) are open. 2021-08-31 16:17:20 +02:00
djmaze 5db8f032b8 Resolve issue #123 2021-08-25 12:00:50 +02:00
djmaze 26015aaf18 Improve folderInformation and folderInformationMultiply 2021-08-17 12:08:09 +02:00
djmaze 8498290d93 FolderInformation Result.Flags use Object.entries() 2021-08-16 18:10:45 +02:00
djmaze d536b5eeee Change ()=>{} into ()=>0 2021-08-13 09:58:43 +02:00
djmaze 4645209053 Cleanup some code 2021-07-22 16:24:24 +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 1f2208d304 Cleanup time handling 2021-07-19 14:26:32 +02:00
djmaze 89b52b512f Remove progressJs bar because we are fast... 2021-04-28 22:59:42 +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 999389c6c5 Bugfix: wrong Notification.RequestAborted 2021-04-22 23:53:39 +02:00
djmaze e1a08a9755 Bugfix: this.logoutReload is not a function 2021-04-20 13:01:15 +02:00
djmaze 48fa1a1fdc Drop 2FA, read #84 2021-04-12 19:15:33 +02:00
djmaze eb69494f0c Resolve #71 2021-03-30 09:10:43 +02:00
djmaze 883bf6b026 Start https://github.com/the-djmaze/snappymail/issues/67#issuecomment-806948346 2021-03-26 15:07:14 +01:00
djmaze 240b0381f9 Cleanup *App classes 2021-03-25 10:54:40 +01:00
djmaze 23e15fd161 Use own createElement() instead of doc.createElement 2021-03-25 09:38:45 +01:00
djmaze 658ac816c8 Cleanup logoutReload() 2021-03-24 14:14:21 +01:00
djmaze 28d09c1a5d Bugfix: can't access property "setTrigger" 2021-03-22 15:20:59 +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 676de1ed23 Simplify AppUserStore.contactsIsAllowed 2021-03-17 10:05:22 +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 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 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 e7b1ce7509 Globalize message composer popup window 2021-03-10 11:43:23 +01:00
djmaze 1ac96c93d6 Improved responsive view
Removed unused CSS
2021-03-05 16:46:40 +01:00
djmaze 1a5bc09bb3 Reduce amount of folder timers and improve autoLogout 2021-03-02 17:39:02 +01:00
djmaze 1a82dde49b https://github.com/the-djmaze/snappymail/issues/51 2021-02-24 22:03:14 +01:00
djmaze e52b9abc61 Cleanup more CSS and JS
and merge/cleanup/redesign composer attachments
2021-02-22 15:16:33 +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 ce4ee3ba3f Revamp saveTrigger 2021-02-11 10:08:27 +01:00
djmaze 756bf86640 v2.3.0 2021-02-08 22:56:18 +01:00
djmaze badf422178 Cleanup more CSS 2021-02-07 21:10:05 +01:00
djmaze 48424e213b Allow themes in mobile mode
Cleanup themes and drop the template.less
2021-02-06 23:37:53 +01:00
djmaze aa05f10629 v2.2.1 2021-01-27 12:02:37 +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 a28b5c2b6c Cleanup and deduplicate languages 2021-01-21 17:21:19 +01:00
djmaze 0d13484cdc Cleanup and simplify i18n code
There's no need for I18N_NOTIFICATION_DATA and I18N_NOTIFICATION_MAP
Also bugfix: NEW_PASSWORD_FORBIDDENT => NEW_PASSWORD_FORBIDDEN
2021-01-04 12:08:41 +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 7db7d5545b Improved observables 2020-10-27 11:09:24 +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 500575dc32 Sync is already there
https://github.com/the-djmaze/snappymail/issues/24
2020-10-21 21:53:55 +02:00
djmaze 15e07a73e9 merge all Model JSON @Object parsers into a reviveFromJson() 2020-10-18 19:46:47 +02:00
djmaze 4806dc968d onkeypress is obsolete 2020-10-15 14:43:04 +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 4177467f81 Bugfix: '`' backtick shortcut being dead key
* remove 'Insert' key from class Selector and bugfix Selector ' ' space.
* replace 'M' (move) shortcut with 'Insert' (like: insert into)
* '`' backtick being dead key shortcut with 'M' and 'ContextMenu' keys.
2020-10-09 15:00:26 +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 efcefbaf78 Cleanup CSS and drop bMobileDevice detection.
Touch devices can be any size and can use (bluetooth/usb-c mouse/keyboard) these days.
It's all about pixels and currently if the mode is mobile/no-mobile (this can be improved later).
2020-09-30 12:31:34 +02:00
djmaze c7054ff56c Resolve https://github.com/the-djmaze/snappymail/issues/14
There this works
2020-09-26 10:20:24 +02:00
m hagoort 5e7f531c7f Revamp shortcuts handler (not tested yet) 2020-09-26 00:02:29 +02:00
djmaze 0181d9645a Rebranding to SnappyMail because this fork of RainLoop has way too many changes to be compatible. 2020-09-23 17:23:04 +02:00
djmaze e1d3a143f4 Removed simplestatemanager, use @media queries 2020-09-20 12:33:33 +02:00
djmaze 9c18126843 Move some knockoutjs bindings, extenders and functions to Admin and User specific areas 2020-09-17 00:02:35 +02:00
djmaze 28fb9a4cbd Move hideLoading into AbstractApp 2020-09-16 23:19:34 +02:00
djmaze 467f615713 Move Knoin routOff, routOn, routReload & setHash to rl.route.* 2020-09-16 20:35:29 +02:00
djmaze 03a40f3249 Remove unused AbstractBoot 2020-09-16 20:01:47 +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 e1f1a3aa12 Embed boot.min.js and boot.min.css into index.html for fast response 2020-09-06 11:13:43 +02:00
djmaze f2d194947d Merge Objects prototype extensions 2020-09-04 17:07:35 +02:00
djmaze 0647b5201f Bugfix: i've broken the download() function 2020-09-04 16:11:57 +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 fcaa2fd6de Don't use webpack on boot.js 2020-09-03 16:34:23 +02:00
djmaze bdb36ec128 Use less jQuery, more native 2020-08-27 15:45:47 +02:00
djmaze 496c8f59ae Removed User About Screen, it is unused 2020-08-24 21:05:32 +02:00
djmaze e3e5929b21 Removed more non-community (aka Prem/Premium/License) code 2020-08-24 20:56:14 +02:00
djmaze 89395d5ae4 Drop custom_login_link and custom_logout_link 2020-08-24 11:17:42 +02:00
djmaze 31bb7267ec Revamp aBootstrapDropdowns 2020-08-24 11:14:35 +02:00
djmaze d88855ebd9 Remove addHook/runHook system as it is never used 2020-08-22 01:04:15 +02:00
djmaze 7a21694396 Drop windowResize/windowResizeCallback in favor of ResizeObservable 2020-08-19 12:34:05 +02:00
djmaze b634a50e0f Remove triggers rl.tooltips.diactivate and rl.tooltips.activate 2020-08-19 11:31:18 +02:00
djmaze d1c06a8ece Extend the use of ResizeObserver by dropping all knockoutjs observable this.resizerTrigger in mail composer
As benefit this also drops the CustomEvent('resize.real')
2020-08-19 11:30:31 +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 f6a55898c7 Removed isNormal() because 'null == undefined' so 'null != value' is sufficient 2020-08-17 21:57:56 +02:00
djmaze 29367a0ea7 Use proper HTMLTemplateElement for all knockoutjs templates 2020-08-14 23:09:36 +02:00
djmaze efc2dd89e1 Momentor.reload to CustomEvent 2020-08-14 21:19:06 +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 55f74c5d10 Compress boot.js even more 2020-08-10 11:32:05 +02:00
djmaze ecbe543b15 cleanup webpack 2020-08-07 16:28:30 +02:00
djmaze e42c94d471 Bugfix: reloadDomainList() failed due to wrong recode of underscore.js map() to Object.entries() 2020-07-30 12:02:43 +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 dc233bfc90 Bugfix: this.moveCache is an Object not an Array 2020-07-27 12:14:47 +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 756fe81091 Replaced _.has() with native Object.prototype.hasOwnProperty.call() 2020-07-20 22:06:21 +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 f16f604f48 Get the stored resized layout working again 2020-07-17 15:04:50 +02:00
djmaze 3c4b3e3b50 Simplify ResizeObservers 2020-07-17 14:24:55 +02:00
djmaze 1e71698b79 Improved initHorizontalLayoutResizer and initVerticalLayoutResizer with custom resizer 2020-07-17 13:46:49 +02:00
djmaze e3aaea8035 Get rid of jQuery.wakup
Get rid of jQuery UI resizable (use HTML5 with ResizeObserver/MutationObserver, work-in-progress not as beautiful yet)
Get rid of hidden download() iframe
2020-07-16 19:49:56 +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 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 ba8bf15b4c Update dependencies 2019-10-17 01:43:04 +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 23451c032a Remove cmd imterface 2019-03-30 01:54:06 +03:00
RainLoop d76fde37df Fix crippled contact names (#1447) 2017-09-27 20:58:15 +03:00
RainLoop 8ce5e86b04 Show 'To Top' and 'Fullscreen' buttons only on mouse-hover (close #1501) 2017-09-20 21:36:56 +03:00
RainLoop Team ab374bbb71 Many small fixes. 2017-07-06 01:31:41 +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 f8b4aa8683 Update package.json dependencies (+ fixes and improvements) 2017-03-12 20:44:42 +03:00
RainLoop Team 77fb74bc4a Update package.json dependencies 2017-02-28 21:44:13 +03:00
RainLoop Team 0e9cffd657 Small fixes 2016-12-15 00:56:17 +03:00
RainLoop Team 0bbb2f14a4 1.10.4.183
---
Fixes:
New login form style display problem since version 1.10.4 (#1196)
Collapse the TO: field in message view (#1199)
Paste with HTML tags fails (#1193)
2016-09-29 00:40:17 +03:00
RainLoop Team 155f4b6df2 Release glass style 2016-09-15 23:34:30 +03:00
RainLoop Team e5af98b04b Update ckeditor
Move e2e tests
Code refactoring
2016-09-12 23:50:21 +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 e6e1a19477 Add cmd interface 2016-08-23 23:15:14 +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 c3985da102 Move almost all libs to node_modules
Update libs
2016-07-30 18:35:08 +03:00