Commit graph

268 commits

Author SHA1 Message Date
djmaze
b7cb990b00 v2.6.0 2021-07-28 16:11:59 +02:00
djmaze
4d655953de Drop support for Edge Legacy (is EOL), Firefox < 69, Chrome < 69, Safari < 12 2021-07-26 11:48:53 +02:00
djmaze
ee540097b4 v2.5.3 2021-07-20 20:53:11 +02:00
djmaze
5213b804d9 Some tiny changes 2021-07-16 16:24:07 +02:00
djmaze
f44515fa5b v2.5.2 2021-06-10 20:36:57 +02:00
djmaze
bea8a95c6b v1.5.1 2021-05-19 15:58:37 +02:00
djmaze
b2b576a69c Remove OpenPGP unused functions and vars 2021-05-04 15:01:40 +02:00
djmaze
be76df33b6 Remove OpenPGP support for IE and Node, and es6-promise polyfill 2021-05-03 17:05:50 +02:00
djmaze
8c454ccd9d Cleanup OpenPGP.js a bit.
openpgp.worker doesn't need webpack
2021-05-01 16:33:30 +02:00
djmaze
fbf816f905 v2.5.0 2021-04-19 20:44:12 +02:00
djmaze
31bc2850de v2.5.0-rc.4 2021-04-15 16:42:16 +02:00
Edward Betts
7f0b8f44ba
Correct spelling mistake 2021-04-14 09:27:45 +01:00
djmaze
09924ff7c8 v2.5.0-rc.3 2021-04-12 21:54:03 +02:00
djmaze
275e5c5947 v2.5.0-rc.2 2021-04-09 13:27:24 +02:00
djmaze
7fc279293c v2.5.0-rc.1 2021-04-08 16:02:41 +02:00
djmaze
ba982edce7 v2.4.3 2021-03-29 22:31:51 +02:00
djmaze
864cca6ffd Dropped PHP73 branch 2021-03-26 15:07:46 +01:00
djmaze
af3c79ce80 Moved CKEditor to be plugin 2021-03-25 13:35:15 +01:00
djmaze
407a69e100 v2.4.0 2021-03-18 16:28:06 +01:00
djmaze
56df186e8d v2.3.5 2021-03-09 16:13:19 +01:00
djmaze
ab3313faf6 Updated readme regarding Phar 2021-03-04 12:16:50 +01:00
djmaze
514fe02619 v2.3.4 2021-03-03 11:53:11 +01:00
djmaze
65b508364a v2.3.3 2021-02-24 11:01:10 +01:00
djmaze
540b12ed26 Replace babel command decorators with proper knockout command decorators 2021-02-19 12:09:20 +01:00
djmaze
b6d8fa5b3f Split admin css from app.css
Cleanup normalize and bootstrap css
Removed almost all css float
Removed CKEditor from app.css
2021-02-18 21:06:19 +01:00
djmaze
6dacfb3cf4 v2.3.2 2021-02-17 16:31:29 +01:00
djmaze
65e9deda2a v2.3.1 2021-02-12 12:42:06 +01:00
djmaze
756bf86640 v2.3.0 2021-02-08 22:56:18 +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
6c9b7dbe58 v2.2.2
You wanna call me up? Take my number down. It's 222-2222
https://www.youtube.com/watch?v=6-JOVXZePQk&t=1m15s
2021-02-02 14:28:23 +01:00
djmaze
b015454b02 Cleanup unused CSS 2021-02-01 22:54:19 +01:00
djmaze
ebe2c0536f Bugfix: compose mail select contacts for cc/bcc failed
Cleanup: Inputosaurus and Knockout
Change: Knockout domData now uses WeakMap
Replaced: Knockout domManipulation with a documentFragment
2021-02-01 14:34:24 +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
8884adcb72 Update README about webpack replaced with rollup 2021-01-25 23:50:39 +01:00
djmaze
c8a85bf67e Bugfix for webpack cleanup 2021-01-22 17:29:01 +01:00
djmaze
b6f0b634fb Cleanup calls to Knockout observableArray
Improved Knockout observableArray
2021-01-22 12:23:20 +01:00
djmaze
d4f8712c1e Updated readme 2021-01-21 17:37:41 +01:00
djmaze
9f9685b4eb v2.1.1 2020-12-10 16:11:25 +01:00
djmaze
b7f79db21c v2.1.0 2020-12-02 15:19:44 +01:00
djmaze
2a1ccc5d24 Resolve https://github.com/the-djmaze/snappymail/issues/37 2020-11-23 17:13:38 +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
ff2a557f1e v2.0.0 2020-11-05 00:00:13 +01:00
djmaze
20b1e08c9b v2.0.0-rc3 2020-10-28 17:12:33 +01:00
djmaze
1c00a455f1 Bugfix: Terser keep_classnames
due to AbstractModel and AbstractCollectionModel
2020-10-20 19:54:10 +02:00
djmaze
188a40b196 Basic JSON object properties revival now handled by AbstractModel
This will be better for future use of JSON.stringify() and JSON.parse()
For now the difference between the PHP JSON being PascalCase and the JS object properties being camelCase is handled by AbstractModel
2020-10-20 17:39:00 +02:00
djmaze
d747de7649 Revert my Squire node.remove() back to detach(node) and
Cleanup some code
2020-10-17 14:08:27 +02:00
djmaze
3bfe2c67d1 Droppped momentjs in favor of Intl
Uses a fallback for Intl.RelativeTimeFormat in Date.prototype.fromNow
2020-10-15 10:45:18 +02:00
djmaze
993d4c31cc Update knockout-latest.debug.js 2020-10-09 12:45:55 +02:00
djmaze
ba7ed497b2 Cleanup JS and better terser compression 2020-10-09 11:58:15 +02:00
djmaze
72ed2b08b2 KnockoutJS to ES2015/ES6
TODO: use the new Proxy for ko.observable
2020-10-04 21:58:13 +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
9992b20163 Merge file and mime code into simple Common/File.js 2020-10-02 14:44:29 +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
344c478a45 Release v2.0.0-rc1 2020-09-26 12:25:57 +02:00
djmaze
c7054ff56c Resolve https://github.com/the-djmaze/snappymail/issues/14
There this works
2020-09-26 10:20:24 +02:00
djmaze
72780a885e Changed logo (the dots say 'snappy' in braille) 2020-09-24 11:52:24 +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
749fe314aa v1.14.0-djmaze8 2020-09-23 14:49:43 +02:00
djmaze
460e2c2ea3 v1.14.0-djmaze7 2020-09-22 15:24:45 +02:00
djmaze
88704b5e12 Removed jQuery 2020-09-21 18:54:41 +02:00
djmaze
06abbf0713 inputosaurus jQuery to native so we can drop jquery-ui 2020-09-21 16:05:04 +02:00
djmaze
4e449b9c66 replace knockout-sortable with html5 native 2020-09-20 23:15:06 +02:00
djmaze
9fc5a3ff6a Cleanup some code 2020-09-19 13:53:14 +02:00
djmaze
7ac8143f34 Cleanup knockout commands and replaced EventKeyCode with native KeyboardEvent.key 2020-09-17 17:47:35 +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
344edaec2a cleanup Fetch API code 2020-09-15 11:51:07 +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
8b53b189f8 Cleanup CSS and fix SquireUI css 2020-09-13 14:13:16 +02:00
djmaze
bd34f9a9bc Reimplement the BadBrowser page based on feature detection 2020-09-11 16:58:05 +02:00
djmaze
a022139403 Added: browse/upload image button to SquireUI 2020-09-11 14:40:13 +02:00
djmaze
a7cc115bfb Move SquireUI into libs.js 2020-09-11 12:39:56 +02:00
djmaze
ecb9bd8ac1 Added the insertSignature code in SquireUI
Added hints/title (in english) to SquireUI toolbar buttons
2020-09-10 21:44:01 +02:00
djmaze
bdc961dfab Improved Squire with the missing 'plain' mode. 2020-09-10 18:47:28 +02:00
djmaze
04220bfd4a Updated README with new size info due to Squire. 2020-09-10 13:48:25 +02:00
djmaze
5f695cfeb5 Updated readme with info about Squire vs CKEditor 2020-09-09 17:29:14 +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
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
f90dbcc84b transitionend not working in Edge 18 2020-09-03 17:14:44 +02:00
djmaze
e858685769 Remove the boot.js webpack require() parts 2020-09-03 16:57:15 +02:00
djmaze
fcaa2fd6de Don't use webpack on boot.js 2020-09-03 16:34:23 +02:00
djmaze
b837013cfb Replaced dev/Common/ClientStorageDriver/* with webstorage polyfill
Cleanup some other code
2020-09-03 12:51:15 +02:00
djmaze
0e8bf13d5d Bugfix: the new endShowHide failed in Edge and mobile browsers
Cleanup bootstrap less files
2020-09-02 21:30:23 +02:00
djmaze
7135cc38fe Remove bootstrap Modal feature for improved transition effects (in future might use <dialog>) 2020-09-02 17:06:35 +02:00
djmaze
eb5fb5342e Cleanup bootstrap 2020-09-01 21:50:17 +02:00
djmaze
1802dda136 Removed jQuery dependencies from Jua.js 2020-09-01 16:57:14 +02:00
djmaze
088945b636 v1.14.0-djmaze5 2020-08-31 16:33:40 +02:00
djmaze
645831368d Again replaced some jQuery to native and cleaned up normalize.css without IE 2020-08-31 12:45:43 +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
e3e5929b21 Removed more non-community (aka Prem/Premium/License) code 2020-08-24 20:56:14 +02:00
djmaze
1e0586f124 upgraded yarn 2020-08-24 11:26:19 +02:00
djmaze
8846c453b1 Added brotli compression 2020-08-24 00:09:54 +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
578925c904 changeTheme() to ES2015
removed ancient String.substr
2020-08-19 16:47:33 +02:00
djmaze
7a21694396 Drop windowResize/windowResizeCallback in favor of ResizeObservable 2020-08-19 12:34:05 +02:00
djmaze
e192b60d69 Update current js/css size status 2020-08-19 11:49:34 +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
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
382aef7ebb Replaced ifvisible.js with simple drop-in to handle prefetch messages 2020-08-13 21:25:42 +02:00
djmaze
2f48128ff3 Replaced Autolinker with simple https/email detection 2020-08-13 15:22:24 +02:00
djmaze
f5a444aa14 Removed opentip
Cleanup lightgallery
2020-08-13 13:16:08 +02:00
djmaze
a8ef5ec75b Bugfix: Email addressparser
Cleanup vendor scripts
2020-08-12 11:49:40 +02:00
djmaze
aaf4933b0a Embed cleaner node modules 2020-08-12 01:47:24 +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
b9b9cd736f Replaced ProgressJS with simple native dropin 2020-08-10 10:40:25 +02:00
djmaze
70f31ee4a7 Changed link to install instruction page that @h3artbl33d created. 2020-08-08 22:52:51 +02:00
djmaze
ba8a566c69 Hardcoded Styles/@Boot.css dropped some webpack KB overhead. We are going more mobile!
Also replaced some charAt() with []
2020-08-08 17:20:35 +02:00
djmaze
4383281de6 Removed unused bootstrap code 2020-08-08 14:39:51 +02:00
djmaze
b57b555bed Bugfix: replaced momentjs had timestamp issue 2020-08-07 17:37:14 +02:00
djmaze
6d29acb7eb Bugfix: momentjs shortMonths can be array or function 2020-08-07 15:08:41 +02:00
djmaze
b1678a1566 Replaced moment.js with simple extended Date.prototype 2020-08-07 14:44:33 +02:00
djmaze
656fd72319 $.isArray() is deprecated
$.bind() is deprecated
$.parseJSON is deprecated
$.unique is deprecated
jQuery .bind() is deprecated
jQuery .unbind() is deprecated
jQuery .load() is deprecated
removed $.support.transition
2020-08-07 09:40:36 +02:00
djmaze
ae1b7610fd Remove use of $.error in jquery-ui 2020-08-06 16:24:19 +02:00
djmaze
327e6f65cd searchSubtractFormatDateHelper to native as moment.js not needed 2020-07-31 16:45:43 +02:00
djmaze
45fa12be42 Bugfix: Trying to access array offset on value of type null in /app/libraries/MailSo/Sieve/ManageSieveClient.php on line 223
Bugfix: Return value of RainLoop\UserAgent::getHeader() must be of the type string, null returned in /app/libraries/RainLoop/UserAgent.php on line 156
Bugfix: file_exists() also checks for directory, should use is_file
Bugfix: accidentally removed <div id="rl-check"></div>
2020-07-31 16:13:38 +02:00
djmaze
857b5a27df Bump supported browserlist to cleanup CSS 2020-07-30 12:23:11 +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
bc79a4f5b1 Added Fail2ban instructions 2020-07-29 11:29:59 +02:00
djmaze
07fd143853 Remove unused code 2020-07-29 00:06:59 +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
db5751cd00 Cleaner boot.js 2020-07-28 11:23:06 +02:00
djmaze
d28e193556 cleanup Progress.js 2020-07-27 17:40:00 +02:00
djmaze
c9d444250f Strip webpack and iframe support from Jua.js (only use xmlhttprequest) 2020-07-27 16:58:04 +02:00
djmaze
1b331aca32 Removed unused code from JavaScript files 2020-07-27 14:52:18 +02:00
djmaze
281a5df732 Cleanup custom Underscore.js 2020-07-23 20:50:20 +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
90cec2171a Strip .no-css, .csstransitions and .cssanimations 2020-07-22 08:17:02 +02:00
djmaze
2af8626514 Removed Sentry completely 2020-07-15 14:45:11 +02:00
djmaze
eb731a4183 Updated inputosaurus.js to work with jQuery3 2020-07-09 16:01:41 +02:00
djmaze
be6922bd20 Bugfix: RunAdditionalPart() incorrect return type 2020-07-08 16:48:35 +02:00
djmaze
3d246ae842 Updated readme 2020-03-13 15:36:48 +01:00
djmaze
2cada68f41 Privacy/GDPR friendly version (removed: Social, Gravatar, Facebook, Google, Twitter, DropBox, OwnCloud)
Also removed: POP3, OAuth2 and update feature
Added: admin password_hash/password_verify
Requires: PHP 7.3+
Replaced: CRLF with LF
Replaced: pclZip with ZipArchive
2020-03-09 17:04:17 +01:00
RainLoop Team
a1562e7145 Update dependencies and configurations 2019-06-29 03:17:29 +03:00
RainLoop Team
35ef89c2a6 Optimize building process 2018-03-30 00:43:46 +03:00
RainLoop Team
aa2215bf3d Synchronize localizations from Transifex
Update README.md
2017-05-22 22:16:20 +03:00
RainLoop Team
6a6f420c76 2016 -> 2017
+ Small fixes
2017-02-25 22:21:41 +03:00
RainLoop Team
20eff3a49a npm -> yarn 2016-12-15 02:13:20 +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
e451b2aaf9 Small fixes 2016-05-20 23:28:57 +03:00
RainLoop Team
4457cdbc23 Improvements of message displaying (internal styles) 2015-06-23 01:34:50 +04:00
RainLoop Team
2f482a6288 Added Allow/Disallow multiple identities 2015-05-18 00:41:59 +04:00
RainLoop Team
3246b2c81f Change license to AGPL 2015-05-05 00:05:06 +04:00