djmaze
e8deb4ff16
Remove capa.Folders and always allow mailbox folders
2021-03-06 10:07:54 +01:00
djmaze
1ac96c93d6
Improved responsive view
...
Removed unused CSS
2021-03-05 16:46:40 +01:00
djmaze
e770f28949
Added: support for real Fullscreen
2021-03-03 11:16:02 +01:00
djmaze
1a5bc09bb3
Reduce amount of folder timers and improve autoLogout
2021-03-02 17:39:02 +01:00
djmaze
0fa0b975ef
Bugfix: plugin config failed
2021-03-02 09:51:52 +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
fac36e828b
Cleanup Squire and Knockout with help of Chromium Code Coverage
...
Bugfix: Squire inlineNodeNames the 'I' tag was missing
Improved: Squire style editing
2021-02-23 22:50:48 +01:00
djmaze
0158a5fe1e
Improve Squire toolbar
...
Cleanup some JS code
2021-02-22 17:28:54 +01:00
djmaze
e52b9abc61
Cleanup more CSS and JS
...
and merge/cleanup/redesign composer attachments
2021-02-22 15:16:33 +01:00
djmaze
540b12ed26
Replace babel command decorators with proper knockout command decorators
2021-02-19 12:09:20 +01:00
djmaze
db0d03db83
Bugfix: conflicting File object with native JS
...
Cleanup: Stores and tooltips
2021-02-17 14:40:21 +01:00
djmaze
1df2e00862
Admin panel works in mobile view
2021-02-17 09:33:41 +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
0d6335ed2c
messagelist search without float
...
and remove some usePreviewPane
2021-02-15 20:05:51 +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
997e0561ad
Rename inbox() to mailbox() because we select any mailbox folder
2021-02-12 14:56:16 +01:00
djmaze
a2727c65fe
Bugfix: messages list ArrowUp/ArrowDown broken
2021-02-12 12:00:06 +01:00
djmaze
4a8c9f8e18
Improved icon font view
2021-02-11 17:46:29 +01:00
djmaze
325f3c8eea
Cleanup unused login error animations
2021-02-10 17:16:46 +01:00
djmaze
15631427b0
Use PharData to create Zip when ZipArchive is not available
2021-02-10 15:47:22 +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
57158bd55a
Less float & less html is mobile view profit
2021-02-08 21:19:58 +01:00
djmaze
32c3f1f059
Cleanup links
2021-02-04 11:25:00 +01:00
djmaze
90ee39b114
Improve switching of wysiwyg/plain composer
2021-02-02 12:23:32 +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
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
864da66b5f
Replace viewDecorator and popupDecorator with proper AbstractView classes
2021-01-24 10:25:23 +01:00
djmaze
c8a85bf67e
Bugfix for webpack cleanup
2021-01-22 17:29:01 +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
ea56397c3b
Improved handling of sieve script changes
2021-01-21 10:39:19 +01:00
djmaze
14ba459d46
Always allow raw editing of Sieve scripts
2021-01-21 10:00:12 +01:00
djmaze
3ed7b53f68
Bugfix: don't push existing SieveScript on scripts stack
2021-01-20 15:34:33 +01:00
djmaze
d9118fbf90
Bugfix: saveError undefined, should be serverError
...
Bugfix: dot should be comma
2021-01-20 12:04:27 +01:00
djmaze
d4d6d73306
Bugfix: filters toggle failed because it was no observable
2021-01-20 11:00:13 +01:00
djmaze
c7d6426c88
Added: rainloop.user filters to sieve script
2021-01-20 10:10:59 +01:00
djmaze
76bc8aa107
Disable removal of rainloop.user script
2021-01-19 17:42:38 +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
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
0ba7374468
Implemented https://github.com/RainLoop/rainloop-webmail/issues/2041
...
Based on https://tools.ietf.org/html/rfc5173
2020-11-26 12:34:54 +01:00
djmaze
4adc672ccd
Cleanup Login and removed the ancient obsolete <center> with small redesign
...
Also placed the loading description above the login form
2020-11-26 10:41:53 +01:00
djmaze
4f8b07fe85
Remove more RainLoop standard/premium licensed code
2020-11-25 14:31:20 +01:00
djmaze
4946feada3
Resolve https://github.com/the-djmaze/snappymail/issues/31
2020-10-30 16:46:18 +01:00
djmaze
d0bcb5483a
Changes for https://github.com/the-djmaze/snappymail/issues/30
...
And remove some memory cleanup due to issues with the Contacts view
2020-10-30 11:49:05 +01:00
djmaze
7db7d5545b
Improved observables
2020-10-27 11:09:24 +01:00
djmaze
8d7e25fc7c
Bugfix: subscribables should be created after computables
2020-10-26 14:44:34 +01:00
djmaze
250caab957
Bugfix: create computable should be after property defines
2020-10-26 13:43:56 +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
d7a4639d6b
Prevent memory leaks in *Model
2020-10-25 11:46:58 +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
2470f1add6
ContactProperty and FilterCondition use reviveFromJson
2020-10-20 10:27:00 +02:00
djmaze
9844c1882c
Split RainLoop/Actions.php and use JsonSerializable
2020-10-19 22:09:25 +02:00
djmaze
15e07a73e9
merge all Model JSON @Object parsers into a reviveFromJson()
2020-10-18 19:46:47 +02:00
djmaze
b908d7b46f
Resolve https://github.com/the-djmaze/snappymail/issues/26
2020-10-17 13:53: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
cb9e393fbc
Pagenator should be Paginator
2020-10-12 15:11:25 +02:00
djmaze
c2a5d0fda5
ko hidden: use html5 hidden attribute
...
ko visible: rollback to use style.display
2020-10-11 11:59:36 +02:00
djmaze
267426b07d
Resolve https://github.com/the-djmaze/snappymail/issues/23
2020-10-09 17:12:56 +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
058217de02
Resolve https://github.com/the-djmaze/snappymail/issues/21
2020-10-09 11:04:35 +02:00
djmaze
ee23a5553e
Resolve https://github.com/the-djmaze/snappymail/issues/22
2020-10-09 10:31:44 +02:00
djmaze
a0f8ac0dad
Cleanup Date.fromNow() and friendlySize()
2020-10-03 14:02:33 +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
cb2048f163
cleanup some code
2020-10-02 12:40:33 +02:00
djmaze
e566494a87
Bugfix: move messages button [Ctrl] copy method
2020-10-01 11:11:14 +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
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
2d429297ad
Resolve https://github.com/the-djmaze/snappymail/issues/18
2020-09-28 10:29:58 +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
39f39db447
Resolve https://github.com/the-djmaze/rainloop-webmail/issues/7
2020-09-23 12:18:36 +02:00
djmaze
5457427fc1
prepearMessageAttachments => prepareMessageAttachments
2020-09-23 11:20:18 +02:00
djmaze
302f2847b8
Resolve https://github.com/the-djmaze/rainloop-webmail/issues/8
2020-09-23 10:08:34 +02:00
djmaze
f559b3c87e
Remove images on reply
2020-09-22 11:38:13 +02:00
djmaze
662e6b3466
cleanup some code
2020-09-22 10:54:00 +02:00
djmaze
df1d0fc8d6
Array.from() to spread syntax
2020-09-22 10:13:32 +02:00
djmaze
079d119f8a
Removed lightgallery to drop whole jQuery
2020-09-21 17:33:58 +02:00
djmaze
ea2e0c09d8
improved html5 d&d
2020-09-21 09:29:00 +02:00
djmaze
b66e68a3b1
Merge some parts of initByJson and initUpdateByMessageJson
...
Cleanup messageListChecked handling
2020-09-20 11:29:31 +02:00
djmaze
6d5317d969
Don't add inline attachments on reply
2020-09-20 11:13:40 +02:00
djmaze
9fc5a3ff6a
Cleanup some code
2020-09-19 13:53:14 +02:00
djmaze
c282e2c9b5
Replace messages jQuery drag/drop with native HTML5
2020-09-18 14:01:27 +02:00
djmaze
d88c183112
Bugfix: broken message.attachments in compose window
2020-09-18 00:33:43 +02:00
djmaze
5d281486d0
Try to fix HtmlEditor isHtml() issue with SquireUI
...
Real fix should be made with the wrong use of modeToggle()
2020-09-17 16:10:27 +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
467f615713
Move Knoin routOff, routOn, routReload & setHash to rl.route.*
2020-09-16 20:35:29 +02:00
djmaze
e99a69a9aa
Attachments array to new AttachmentCollectionModel
2020-09-15 15:08:08 +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
540c70ecbf
Added Squire HTML editor as lightweight fast alternative solution for the heavy CKEditor
...
Some features are still missing (as i need to create own UI)
Enable in:
[labs]
use_squire_html_editor = On
2020-09-09 17:03:44 +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
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
0309879d6b
Bugfix: e-mail compose modal resizeObserver wrong height
2020-09-02 09:32:28 +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
dcdaf70601
Bugfix: compose window resizeObserver
2020-08-31 16:32:27 +02:00
djmaze
2bf96ab33e
Bugfix: typo in querySelectorAll
2020-08-30 17:40:54 +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
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
b0942a7ff7
Move popupVisibility to knoin
2020-08-23 21:51:26 +02:00
djmaze
dc3b76f53a
Replaced more knockoutjs hasfocus for autofocus=""
2020-08-22 09:35:03 +02:00
djmaze
b8043cdc98
Remove unused bMobileDevice import
2020-08-22 01:09:50 +02:00
djmaze
b185402ae7
Bugfix: Contacts.js trim() missing
...
Bugfix: ClearCookie failed
2020-08-22 01:05:43 +02:00
djmaze
d88855ebd9
Remove addHook/runHook system as it is never used
2020-08-22 01:04:15 +02:00
djmaze
996723a486
Removed: KnockoutJS 'hasFocus:' because HTML5 has autofocus=""
...
Knoin.js now searches for [autofocus] and handles it
2020-08-22 01:03:03 +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
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
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
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
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
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
ecbe543b15
cleanup webpack
2020-08-07 16:28:30 +02:00
djmaze
b1678a1566
Replaced moment.js with simple extended Date.prototype
2020-08-07 14:44:33 +02:00
djmaze
bbd9f49dcd
$.proxy is deprecated
...
$.trim is deprecated
2020-08-06 18:24:46 +02:00
djmaze
ae1b7610fd
Remove use of $.error in jquery-ui
2020-08-06 16:24:19 +02:00
djmaze
e1b274fcb4
Bugfix: scrollTop/scrollLeft never worked because .b-content has overflow:auto not the sub-div .content
2020-08-06 16:14:50 +02:00
djmaze
327e6f65cd
searchSubtractFormatDateHelper to native as moment.js not needed
2020-07-31 16:45: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
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
996a71ad8a
missed one _.delay() to setTimeout()
2020-07-22 20:29:48 +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