Commit graph

245 commits

Author SHA1 Message Date
djmaze 3a61bb3e5a Revamp the FullNameHash system for better readable urls
And reduce the folders caching footprint.
And it reduces server load.
2021-12-07 14:03:30 +01:00
djmaze 3b40f86c33 Better Remote.saveAdminConfig() and better idleTrigger for them 2021-12-03 12:32:21 +01:00
djmaze 299ec7faf8 Support RFC 6855 / RFC 5738 (UTF8) 2021-11-22 21:01:30 +01:00
djmaze 880d4a05e9 Drop the ko.bindingHandlers.modal as click.koModal is never used
And replace hideScreenPopup() with this.closeCommand();
2021-11-06 22:08:45 +01:00
djmaze 789dc264f7 Replace my old ResizeObserver workaround for RainLoop bugs with proper CSS flex.
And removed wysiwyg resize() in favor of flexbox.
2021-11-05 14:47:19 +01:00
djmaze 3f295349b6 Remove Knockout binding "dropdownCloser" because BSN.Dropdown already handles it 2021-09-14 15:04:00 +02:00
djmaze 2cb73643ca Improved dropdown menu's handling 2021-09-14 10:06:38 +02:00
djmaze 1c95eab6d6 Bugfix and improve Squire HTML/Plain modes 2021-08-16 18:09:54 +02:00
djmaze 2a6a1ff799 Improved keyboard shortcuts handling 2021-08-13 10:03:13 +02:00
djmaze 308e65f94f cleanup some css and js 2021-08-10 17:07:26 +02:00
djmaze 3a32a09f2a KnockoutJS:
* remove deprecated allBindings as Accessor https://github.com/knockout/knockout/pull/2133
* remove unused event '*Bubble' https://knockoutjs.com/documentation/event-binding.html#note-4-preventing-the-event-from-bubbling
* remove unused 'completeOn' https://knockoutjs.com/documentation/binding-lifecycle-events.html#indicating-that-a-control-flow-binding-completes-asynchronously
2021-08-10 15:00:49 +02:00
djmaze 5590fd4860 isNonEmptyArray => arrayLength 2021-07-21 21:34:17 +02:00
djmaze d5f0b1d06c Resolve Issue #98 2021-07-14 12:03:09 +02:00
djmaze af3c79ce80 Moved CKEditor to be plugin 2021-03-25 13:35:15 +01:00
djmaze 673bd49095 Improvements for #62 2021-03-25 10:08:29 +01:00
djmaze fe4dbc729c Added isFunction() 2021-03-24 14:22:25 +01:00
djmaze 0b64083543 Array.isArray to isArray
Array.isNotEmpty to isNonEmptyArray
2021-03-16 16:49:14 +01:00
djmaze 4b6f6b1bfc Move addObservablesTo, addComputablesTo & addSubscribablesTo to Common/Utils 2021-03-16 10:59:47 +01:00
djmaze 0696e20878 Bugfix: improved firefox mobile draggable solution 2021-02-24 10:41:24 +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 e52b9abc61 Cleanup more CSS and JS
and merge/cleanup/redesign composer attachments
2021-02-22 15:16:33 +01:00
djmaze fe45179847 Cleanup some mobile modal screen sizes
And simplify the ko command bindinghandler to use CSS :enabled
2021-02-19 23:31:50 +01:00
djmaze bc64fe6d0d Use custom dropdown icon on <select> 2021-02-19 14:40:13 +01:00
djmaze 158991ed55 Improve Squire UI design 2021-02-19 12:11:20 +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 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 10f9ce39d9 Revamp mobile including CSS flexbox for messageListItem 2021-02-15 15:20:22 +01:00
djmaze a2727c65fe Bugfix: messages list ArrowUp/ArrowDown broken 2021-02-12 12:00:06 +01:00
djmaze ce4ee3ba3f Revamp saveTrigger 2021-02-11 10:08:27 +01:00
djmaze 111455054e Speedup message bodies cache cleanup
Remove ko.bindingHandlers.link
2021-02-10 16:50:58 +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 004378ed8c Merge and cleanup more CSS rules 2021-02-08 17:37:21 +01:00
djmaze 92bbaadbf3 bugfix: changed css broke spinner querySelector 2021-02-04 22:47:38 +01:00
djmaze f08dfac99d Cleanup fontastic 2021-02-04 17:52:46 +01:00
djmaze 6a92912a3d Bugfix: Inputosaurus modifications got broken.
Replaced completely with EmailAddressesComponent
2021-02-03 23:36:36 +01:00
djmaze b0e3020aab Bugfix: inputosaurus failed due to changes 2021-02-03 12:55:49 +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 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 0474f29272 Bugfix: wrote a buggy fix for safari 2020-11-23 17:05:13 +01:00
djmaze 4986de6b93 Bugfix: Safari doesn’t fire the visibilitychange event as expected when visibilityState transitions to hidden 2020-11-23 16:44:34 +01:00
djmaze 7db7d5545b Improved observables 2020-10-27 11:09:24 +01:00
djmaze f25d210f3e Solve menu arrow navigation
https://github.com/the-djmaze/snappymail/issues/22
2020-10-26 14:34:59 +01:00
djmaze 3eb6ab1ef7 Improved knockout observables management to prevent memory leaks 2020-10-26 12:54:03 +01: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 e02deee4f1 Make touchstart/touchmove events passive 2020-10-13 15:16:57 +02:00
djmaze cc046907ed ko.utils.unwrapObservable => ko.unwrap 2020-10-13 14:56:45 +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 ba7ed497b2 Cleanup JS and better terser compression 2020-10-09 11:58:15 +02:00
djmaze 6c75dd12f8 Cleanup CSS and JS code 2020-10-01 11:10:40 +02:00
djmaze 0eea2cb5ad Modifications for https://github.com/the-djmaze/snappymail/issues/12 2020-09-30 17:11:06 +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 17575f19f0 Activated a working HTML5 Drag & Drop polyfill for the Firefox Mobile browser 2020-09-28 20:04:09 +02:00
djmaze d735893cd6 Added HTML5 Drag & Drop for Gecko/Firefox Mobile
Chrome does support dragstart and was fixed previously.
This is not active yet as i'm testing for touch issues.
2020-09-28 17:23:22 +02:00
djmaze 9b94265844 Resolve https://github.com/the-djmaze/snappymail/issues/17 2020-09-28 11:26:20 +02:00
djmaze 2d429297ad Resolve https://github.com/the-djmaze/snappymail/issues/18 2020-09-28 10:29:58 +02:00
djmaze 35b531caac Resolve https://github.com/the-djmaze/snappymail/issues/20 2020-09-28 09:50:31 +02:00
djmaze 5b986b7bb0 Bugfix: Chrome 84 on Android only accepts text/plain in Drag & Drop 2020-09-27 12:04:47 +02:00
djmaze 344c478a45 Release v2.0.0-rc1 2020-09-26 12:25:57 +02:00
djmaze 31828b125f cleanup some orphan css 2020-09-25 17:42:40 +02:00
djmaze 673f1bff79 Bugfix: inputosaurus revamp failed due to missing onChange handling 2020-09-23 13:07:44 +02:00
djmaze 1bb154d6f4 Bugfix: The ability to list more than one selector in :not() is experimental and not yet widely supported. 2020-09-23 11:48:08 +02:00
djmaze 65032e3b89 Bugfix: CKEditor failed to load 2020-09-23 11:20:00 +02:00
djmaze 302f2847b8 Resolve https://github.com/the-djmaze/rainloop-webmail/issues/8 2020-09-23 10:08:34 +02:00
djmaze 996c747e45 Bugfix: Squire setHTML failed with hidden exception 2020-09-22 15:03:14 +02:00
djmaze 067c502592 Fix SquireUI on mobile 2020-09-22 11:19:52 +02:00
djmaze df1d0fc8d6 Array.from() to spread syntax 2020-09-22 10:13:32 +02:00
djmaze 06abbf0713 inputosaurus jQuery to native so we can drop jquery-ui 2020-09-21 16:05:04 +02:00
djmaze ea2e0c09d8 improved html5 d&d 2020-09-21 09:29:00 +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 c282e2c9b5 Replace messages jQuery drag/drop with native HTML5 2020-09-18 14:01:27 +02:00
djmaze 7713f459ac Replace $().trigger() and document.createEvent() with element.dispatchEvent(new Event()) 2020-09-17 21:18:39 +02:00
djmaze 7ac8143f34 Cleanup knockout commands and replaced EventKeyCode with native KeyboardEvent.key 2020-09-17 17:47:35 +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 b904eca98e Cleanup __APP__/getApp code 2020-09-15 09:29:25 +02:00
djmaze 8b53b189f8 Cleanup CSS and fix SquireUI css 2020-09-13 14:13:16 +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 72cbdfa7f2 Split SquireUI from HtmlEditor.js and improved SquireUI with styling 2020-09-10 12:56:45 +02:00
djmaze f2d194947d Merge Objects prototype extensions 2020-09-04 17:07:35 +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 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 d5665463fe Remove rl-anim feature and use no-mobile 2020-08-24 18:53:47 +02:00
djmaze 1e0586f124 upgraded yarn 2020-08-24 11:26:19 +02:00
djmaze 31bb7267ec Revamp aBootstrapDropdowns 2020-08-24 11:14:35 +02:00
djmaze 0ccfa6a9b1 Bugfix: droppable area (folders) failed to scroll 2020-08-23 21:58:30 +02:00
djmaze 53451a1236 cleanup ko.js unused functions 2020-08-19 16:23:15 +02:00