Commit graph

486 commits

Author SHA1 Message Date
djmaze 0b657359fa Bugfix: dialog/select layout broken in Safari 2021-11-25 14:20:52 +01:00
djmaze a92d5a0f4f Better (material) components design 2021-11-18 12:40:38 +01:00
djmaze 89d334b2bd Cleanup CSS 2021-11-17 13:50:20 +01:00
djmaze 6ba4e70d5e Cleanup Jua multi file uploader 2021-11-17 13:30:39 +01:00
djmaze 7027b1b74c Squire v1.11.3
https://github.com/neilj/Squire/pull/417
2021-11-17 12:29:24 +01:00
djmaze 071dab01a7 Make .form-horizontal simple with less CSS classes 2021-11-16 16:22:05 +01:00
djmaze 3bad2d5dbd Revamp login screens by moving login icons to the left,
due to issues with browser plugins like LastPass which place buttons on the right.
And added a TOTP icon
2021-11-16 12:35:11 +01:00
djmaze 203b884309 Some more CSS cleanups 2021-11-15 15:37:05 +01:00
djmaze db2a7a51c9 Cleanup some HTML and CSS 2021-11-15 15:26:28 +01:00
djmaze 5f4c7c5c5b Bugfix: compose/send mail AdditionalAccount failed 2021-11-15 14:55:49 +01:00
djmaze 8a351e5763 Resolve #159 and more design issues 2021-11-15 12:16:02 +01:00
djmaze 99c72ad9e6 Drop bootstrap .well and .pull-left
Reduce bootstrap .pull-right usage
2021-11-09 00:53:42 +01:00
djmaze d64cfb96ad Drop the .clearfix (old "fix" float stuff) 2021-11-08 22:03:31 +01:00
djmaze 6170de5aee Drop bootstrap modal.less by using <dialog> <header> and <footer>
https://snappymail.eu/demo/ updated for testing
2021-11-07 17:06:08 +01:00
djmaze d305e090c5 Cleanup CSS for paginator and filters 2021-11-05 11:17:46 +01:00
djmaze e52addf346 When login don't reload the whole browser. Just rebuilt screens 2021-11-01 11:24:11 +01:00
djmaze 9f5f066dbf Improved Crossroads 2021-10-19 11:31:44 +02:00
djmaze 11823c280d Improved dark mode 2021-10-14 14:30:47 +02:00
djmaze dfa448c7cc v2.7.3 2021-10-11 14:39:36 +02:00
djmaze 4fff41580e KnockoutJS disposeWhenNodeIsRemoved not used external 2021-10-04 13:47:47 +02:00
djmaze 4a403df168 Cleanup KnockoutJS and use ECMASCRIPT_2018 for its closure compiler 2021-10-01 17:36:21 +02:00
djmaze bcc3dc51ef Speedup KnockoutJS by simplifying components loader system.
Custom loaders are not used, so it is removed
2021-09-29 12:51:51 +02:00
djmaze 4142526ba6 Cleanup KnockoutJS 2021-09-28 14:40:24 +02:00
djmaze 4c7ce61bc0 Added missing pre/post knockout build files 2021-09-28 14:24:28 +02:00
djmaze bf756c9279 Remove unused data from KnockoutJS 2021-09-28 14:03:07 +02:00
djmaze 5cb4d338a1 ko.utils.setTimeout to native setTimeout 2021-09-28 13:45:19 +02:00
djmaze 9014f08f35 ko.utils.registerEventHandler to native addEventListener 2021-09-28 13:38:02 +02:00
djmaze 8babd10f69 We don't use ko.onError so remove it 2021-09-28 13:26:23 +02:00
djmaze 07443407e9 Bugfix: nodes.forEach should be nodesArray.forEach 2021-09-28 13:21:41 +02:00
djmaze 7d97ae3145 Replace ko.utils.stringStartsWith with native String.startsWith 2021-09-28 13:20:54 +02:00
djmaze 244d4c49c5 Remove unused KnockoutJS afterMove 2021-09-27 12:49:40 +02:00
djmaze cec6c41953 Cleanup some CSS 2021-09-17 12:08:16 +02:00
djmaze 9e28eb5fc7 Improved Jua uploader 2021-09-14 12:50:56 +02:00
djmaze 2cb73643ca Improved dropdown menu's handling 2021-09-14 10:06:38 +02:00
djmaze 5839bcf62d Remove some unused KnockoutJS features 2021-09-13 16:20:29 +02:00
djmaze f09820d0b9 Resolve Knockout/#2560 with
45e86bf034
2021-09-13 15:52:40 +02:00
djmaze 45662b39b0 Improved and cleanup CSS and language selectors 2021-08-27 16:30:42 +02:00
djmaze 637ed9a478 Improve new .tabs CSS from 2021-08-26 20:10:14 +02:00
djmaze d7a30cba79 Revamp tabs system using CSS display:grid instead of JavaScript 2021-08-26 08:10:56 +02:00
djmaze 7e43bfc6b0 Cleanup CSS and JS
Improve app loading error
2021-08-18 15:36:33 +02:00
djmaze 5efbcf5ad3 Squire
* drop isWin and isEdge (legacy)
* simplify isWebKit
* some code to ES 2015
2021-08-16 15:31:25 +02:00
djmaze d4f55a02a4 Improve Squire edit history stack 2021-08-16 13:13:33 +02:00
djmaze 5f21fcc100 hasher.changed.* to hasher.* 2021-08-13 10:01:01 +02:00
djmaze 64a7b82408 Bugfix: Help screen broken tabbing shortcuts 2021-08-12 20:33:13 +02:00
djmaze 74f74163c6 Bugfix: <!-- ko text: valueAccessor --> failed
https://knockoutjs.com/documentation/text-binding.html#note-3-using-text-without-a-container-element
2021-08-12 12:54:42 +02:00
djmaze 89075b18bf Remove unused KnockoutJS code 2021-08-10 15:16:21 +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 0659b126e7 Better folder unread-count view 2021-07-30 12:26:27 +02:00
djmaze cbecdd93a0 More Knockout code to ES6 2021-07-29 11:43:47 +02:00
djmaze 66560be455 Drop obsolete File.fileName and File.fileSize 2021-07-26 19:04:11 +02:00
djmaze 1e49c1a6ac Don't wrap tabs to next line in Help screen 2021-07-21 14:15:55 +02:00
djmaze f57955443b Cleanup bootstrap css 2021-07-20 20:29:47 +02:00
djmaze e13337e247 Cleanup styling and gulp merge @media queries 2021-07-20 16:45:55 +02:00
djmaze 5213b804d9 Some tiny changes 2021-07-16 16:24:07 +02:00
djmaze 37e1474650 Cleanup OpenPGP.js 2021-05-19 15:26:45 +02:00
djmaze c571a4fbe7 Cleanup OpenPGP.js and prepare for using Rollup 2021-05-18 10:59:13 +02:00
djmaze 066a0c08d2 Fix OpenPGP error 2021-05-13 00:32:28 +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 5e63adc904 Move old OpenPGP.js to /vendors instead of npm 2021-05-01 15:10:04 +02:00
djmaze c3c1fc2c0e Tiny knockoutjs speedup 2021-04-23 18:16:36 +02:00
djmaze ffb2f64170 <!-- ko foreach --> to: data-bind="" 2021-04-22 23:41:26 +02:00
djmaze 1b4277c9db Remove some CSS outline and !important 2021-04-22 13:37:43 +02:00
djmaze 3d2f7fb3ef Cleanup .add-on CSS 2021-04-20 11:27:19 +02:00
djmaze d528a523ad Drop unused qr.js 2021-04-19 13:34:33 +02:00
djmaze 89107387d5 Improved #81 2021-04-13 14:11:17 +02:00
djmaze 478ba00321 Bugfix: can't access property "classNames", config is undefined 2021-04-09 11:02:28 +02:00
djmaze 64cf19746d Finish the sort feature 2021-03-27 16:02:48 +01:00
djmaze af3c79ce80 Moved CKEditor to be plugin 2021-03-25 13:35:15 +01:00
djmaze ab9e56f8b6 Reduce CSS footprint 2021-03-08 17:23:21 +01:00
djmaze 1ac96c93d6 Improved responsive view
Removed unused CSS
2021-03-05 16:46:40 +01:00
djmaze d351ee6367 Updated Squire to v1.11.1 2021-03-05 13:40:52 +01:00
djmaze a1f4daff3a Remove colors from <pre> and <code> to prevent proper working of "dark mode" 2021-02-24 00:51:05 +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 bc64fe6d0d Use custom dropdown icon on <select> 2021-02-19 14:40:13 +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 2c23955269 Improve font middle arrows
Simplify login spinner
2021-02-17 16:00:51 +01:00
djmaze 65e9deda2a v2.3.1 2021-02-12 12:42:06 +01:00
djmaze c47ed18db9 Improved and cleanup CSS 2021-02-12 11:39:02 +01:00
djmaze 60e29fdd66 Improved folder glyph 2021-02-12 01:05:02 +01:00
djmaze f1a3f54547 Fix menu dropdown icon (rainloop resized the font, not the glyph) 2021-02-11 21:07:40 +01:00
djmaze e141ee8ea3 remove unused glyph from snappymail font 2021-02-11 20:15:07 +01:00
djmaze 4a8c9f8e18 Improved icon font view 2021-02-11 17:46:29 +01:00
djmaze 93738eac22 Improved snappymail font unicode points 2021-02-11 12:21:04 +01:00
djmaze e55dc49e34 Cleanup some bootstrap css 2021-02-11 10:58:33 +01:00
djmaze 75b7176ada Remove knockout evaluatorFunctionTarget
Drop deprecated knockout throttle extender
Added knockout debounce extender
2021-02-10 11:33:36 +01:00
djmaze 57158bd55a Less float & less html is mobile view profit 2021-02-08 21:19:58 +01:00
djmaze 004378ed8c Merge and cleanup more CSS rules 2021-02-08 17:37:21 +01:00
djmaze 43c4293330 Cleanup some css and remove a float 2021-02-05 15:56:15 +01:00
djmaze 5e9941d58f Also convert template body-background-image to var()
And cleanup more CSS
2021-02-05 15:31:42 +01:00
djmaze d9bece04b2 Revamp CSS template system using var() feature 2021-02-05 10:42:20 +01:00
djmaze f08dfac99d Cleanup fontastic 2021-02-04 17:52:46 +01:00
djmaze b26586f2ba Cleanup Crossroads & Hasher and dropped Signals 2021-02-04 12:54:03 +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 5001dcc4d8 'use strict' already in libs.js 2021-02-02 14:10:48 +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 b6f0b634fb Cleanup calls to Knockout observableArray
Improved Knockout observableArray
2021-01-22 12:23:20 +01:00
djmaze fa5476e486 Added support for 'length' property to Knockout observable 2021-01-22 09:46:04 +01:00
djmaze 21e5d3733a Found a small word breaking bug in sieve raw filters editor 2021-01-18 09:27:26 +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 1c20cc6d13 Cleanup snappymail glyphs font 2020-12-02 14:31:06 +01:00
djmaze 2a174d9114 Added font-display:swap to glyphs font
Since we use more correct unicode points, we improve performance score from 92% to 93%
2020-11-27 14:30:03 +01:00
djmaze b57493bf0a Moved some font glyphs to their correct unicode code points
This improves visibility when webfonts are blocked (not downloaded).
2020-11-27 14:16:20 +01:00
djmaze fb680596a6 Fix naming 2020-11-13 00:04:35 +01:00
djmaze bdd68d0d8f improved knockout observableArray with all Array.prototype functions 2020-11-03 15:53:50 +01:00
djmaze 075762000b Resolve https://github.com/the-djmaze/snappymail/issues/32
Related https://github.com/the-djmaze/snappymail/issues/28
2020-10-30 16:59:52 +01:00
djmaze 1d57a62ddd Dropped more unused knockoutjs code 2020-10-29 11:15:04 +01:00
djmaze 5a0215987a knockoutjs replaced slow obj.__proto__ with Object.setPrototypeOf() 2020-10-28 20:19:38 +01:00
djmaze d49916731f replaced ko.utils.array* with native 2020-10-28 20:17:45 +01:00
djmaze 8a8d64a2c1 Resolve https://github.com/the-djmaze/snappymail/issues/28
Issue was incorrect filter param in createTreeWalker
2020-10-28 17:03:03 +01:00
djmaze ff6fb41812 Remove more unused knockout code 2020-10-28 13:58:37 +01:00
djmaze d1dfa227ae cleanup fontastic 2020-10-28 10:35:17 +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 48a9a03762 Removed fakeSpan from Inputosaurus and cleanup 2020-10-23 15:16:42 +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 36fa52307f Added: knockout.js observable toJSON() 2020-10-20 15:39:14 +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 a177081224 Bugfix: container.remove() is not a function 2020-10-14 19:18:10 +02:00
djmaze 3db8befbba fontastic use woff2 and drop ttf and svg 2020-10-14 19:17:40 +02:00
djmaze 167e323c72 Bugfix for https://github.com/the-djmaze/snappymail/issues/15#issuecomment-706213859 2020-10-13 15:23:34 +02:00
djmaze e02deee4f1 Make touchstart/touchmove events passive 2020-10-13 15:16:57 +02:00
djmaze 1e735bf4a9 Drop unused Knockout functionality
Especially dropped memoization for improved speed.
2020-10-13 14:56:23 +02:00
djmaze e7975d4f82 Bugfix: Knockout 'with:' used on 1 place 2020-10-13 10:15:50 +02:00
djmaze 8bb05b41ce Bugfix: bootstrap dopdown undefined eventTarget.getAttribute 2020-10-12 15:04:11 +02:00
djmaze 527694f361 Replace bootstrap .divider with cleaner .dividerbar which also reduces knockout calls 2020-10-12 15:03:45 +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
the-djmaze 52e6b9b0ed
Knockout visibleHidden to HTML5 2020-10-11 00:27:45 +02:00
djmaze 993d4c31cc Update knockout-latest.debug.js 2020-10-09 12:45:55 +02:00
djmaze 92836117ee Bugfix: put back the knockout bindings if/ifnot as they are in use 2020-10-09 12:44:39 +02:00
djmaze ba7ed497b2 Cleanup JS and better terser compression 2020-10-09 11:58:15 +02:00
djmaze ee23a5553e Resolve https://github.com/the-djmaze/snappymail/issues/22 2020-10-09 10:31:44 +02:00
djmaze ac535b1d03 Remove more unused Knockout code 2020-10-09 10:20:22 +02:00
djmaze 07857a06a9 Cleanup knockout.js
- Remove AMD
- Manually removed closure-compiler polyfill for Object.entries
2020-10-05 13:46:19 +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 cb2048f163 cleanup some code 2020-10-02 12:40:33 +02:00
djmaze 6c75dd12f8 Cleanup CSS and JS code 2020-10-01 11:10:40 +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 25b4c899d0 Removed country flags from language selection because country != language 2020-09-29 16:44:27 +02:00
djmaze a1a413dca2 Modifications for https://github.com/the-djmaze/snappymail/issues/15 2020-09-28 09:51:12 +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 c7054ff56c Resolve https://github.com/the-djmaze/snappymail/issues/14
There this works
2020-09-26 10:20:24 +02:00
djmaze e562ed159c Replace rainloop glyphs font with cleaned up snappymail glyph font 2020-09-25 17:42:14 +02:00