Commit graph

1123 commits

Author SHA1 Message Date
djmaze
111455054e Speedup message bodies cache cleanup
Remove ko.bindingHandlers.link
2021-02-10 16:50:58 +01:00
djmaze
15631427b0 Use PharData to create Zip when ZipArchive is not available 2021-02-10 15:47:22 +01:00
djmaze
e3376c244e Bugfix: pagination failed because Crossroads routes with higher priority are added last 2021-02-10 13:12:27 +01:00
djmaze
354337f174 Cleanup messagelist design 2021-02-10 12:13:17 +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
756bf86640 v2.3.0 2021-02-08 22:56:18 +01:00
djmaze
6691a3f889 Remove   2021-02-08 22:43:53 +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
004378ed8c Merge and cleanup more CSS rules 2021-02-08 17:37:21 +01:00
djmaze
e3e0474be2 Bugfix and cleanup CSS even more 2021-02-08 14:03:54 +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
4f1fc5f44b Cleanup more css themes 2021-02-05 20:48:36 +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
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
192f76c08a Drop gulp-autoprefixer and cleanup boot process 2021-02-04 15:03:11 +01:00
djmaze
b26586f2ba Cleanup Crossroads & Hasher and dropped Signals 2021-02-04 12:54:03 +01:00
djmaze
32c3f1f059 Cleanup links 2021-02-04 11:25:00 +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
90ee39b114 Improve switching of wysiwyg/plain composer 2021-02-02 12:23:32 +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
b31bf3d7f5 Improved js minification 2021-01-26 11:46:30 +01:00
djmaze
a1c994e6ab Merge branch 'master' into webpack2rollup 2021-01-25 22:30:23 +01:00
djmaze
d23689dae8 Bugfix: invalid template id's
And cleanup strings
2021-01-25 22:29:55 +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
5e63ade9dd Bugfix: i made a translation bug in v2.2.0
Cleaned it up
2021-01-24 23:03:06 +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
23d7fecd22 Improve Sieve Scripts editor layout 2021-01-22 16:45:12 +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
67db19ec80 Added sieve activate/delete script error notifications 2021-01-21 11:00:42 +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
6f36d4b906 Added sample code for sieveparser branch 2021-01-20 14:57:59 +01:00
djmaze
dd9f277ccf Split collectionToFileString() from SieveStorage to Sieve
Converted SieveStorage fileStringToCollection() to JavaScript sieveScriptToFilters()
Drop the old filtersSave()
2021-01-20 14:52:20 +01:00
djmaze
d9118fbf90 Bugfix: saveError undefined, should be serverError
Bugfix: dot should be comma
2021-01-20 12:04:27 +01:00
djmaze
ca91a6e408 drop sieve parser from sievescripts branch 2021-01-20 11:43:03 +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
e093388016 Merge branch 'master' into sieveparser
# Conflicts:
#	snappymail/v/0.0.0/app/templates/Views/User/SettingsFilters.html
2021-01-18 17:13:43 +01:00
djmaze
a80b17e011 Centralize CSS for confirm delete buttons and grab handles 2021-01-18 17:11:53 +01:00
djmaze
61c3da14b4 Draft of new Filters design 2021-01-18 16:47:10 +01:00
djmaze
73e26d388a Added: rfc5233
Activate: comparator
Bugfix: StringList must use .toString()
Bugfix: redirect command
Bugfix: MultiLine
2021-01-15 16:09:03 +01:00
djmaze
3566f4a538 Added rfc5183, rfc5229, rfc5260 and rfc5293
Make comparator and match_type available for all Test classes

Signed-off-by: djmaze <djmaze@djmaze.lan>
2021-01-15 14:35:16 +01:00
djmaze
3ce123b536 Added RFC5231 check 2021-01-15 12:12:56 +01:00
djmaze
eb369ca122 Added rfc6609 2021-01-15 12:11:13 +01:00
djmaze
68fc9f21bd Centralize some argument parsing
Improved parser error handling
Fix Sieve Vacation extension
2021-01-15 11:34:16 +01:00
djmaze
55178016a0 Solve some comparators 2021-01-15 00:32:04 +01:00
djmaze
43c669e629 Added draft code for handling "require []" 2021-01-15 00:14:45 +01:00
djmaze
d9865e3a46 Simplify Sieve Parser and added RFC5235 2021-01-14 23:42:46 +01:00
djmaze
22964f1fde More improvements and fixes based on test scripts 2021-01-14 17:50:23 +01:00
djmaze
0aafce4214 More Sieve parser improvements after doing 'if not' test 2021-01-14 16:38:26 +01:00
djmaze
2786d0d959 Not perfect but it can parse the rainloop script to a tree and back to string 2021-01-14 12:45:51 +01:00
djmaze
b2e77f3f67 Draf of Sieve parser/lexer for a new Sieve GUI 2021-01-13 21:23:19 +01:00
djmaze
e023a5d6ab Prepare Sieve Filtering feature for advanced editing/handling 2021-01-06 01:06:16 +01:00
djmaze
fa7ea413dc Cleanup AbstractFetch
and added fetchJSON mockup code for error handling regarding issue #49
2021-01-05 13:58:50 +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
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
324c7121cc Added more comment to displaySpecSetting 2020-12-10 14:22:46 +01:00
djmaze
d34729a1ae Resolve https://github.com/the-djmaze/snappymail/issues/47 2020-12-10 14:19:03 +01:00
djmaze
4321c11622 Some tiny changes 2020-12-09 22:42:04 +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
80a72d172e Added: hide login submit button to Admin Login settings screen 2020-12-02 14:30:02 +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
ebd32d8fad Don't allow plugins to modify login page 2020-11-25 14:38:16 +01:00
djmaze
4f8b07fe85 Remove more RainLoop standard/premium licensed code 2020-11-25 14:31:20 +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
b609c4b0c2 AudioContext undefined in Safari 13
Fix for https://github.com/the-djmaze/snappymail/issues/37
2020-11-10 10:25:02 +01:00
djmaze
cd52d9ae6c More improvements for https://github.com/the-djmaze/snappymail/issues/37 2020-11-10 09:59:56 +01:00
djmaze
b3b8c97b00 Cleanup some unused code 2020-11-10 09:29:00 +01:00
djmaze
f706e14a2f More changes for https://github.com/the-djmaze/snappymail/issues/37
Notifications were hardcoded disabled for mobile.
2020-11-10 09:28:33 +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
0ec37b7e90 Added: show fancy placeholder for external images 2020-11-05 10:40:02 +01:00
djmaze
2c40475bfa Bugfix: failed to set message data from dom 2020-11-05 10:38:17 +01:00
djmaze
cc04e42444 Bugfix: revivePropertiesFromJson always set observables 2020-11-04 23:57:37 +01:00
djmaze
948663519e Cleanup js components 2020-11-03 16:11:04 +01:00
djmaze
65e1b58877 Hide Squire toolbar in mobile mode when not focused 2020-11-03 15:54:35 +01:00
djmaze
4946feada3 Resolve https://github.com/the-djmaze/snappymail/issues/31 2020-10-30 16:46:18 +01:00
djmaze
4f21cda9cd Resolve https://github.com/the-djmaze/snappymail/issues/33 2020-10-30 16:42:01 +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
b79d9de1a0 Bugfix: i broke the user -> settings -> folders screen 2020-10-29 10:59:26 +01:00
djmaze
20b1e08c9b v2.0.0-rc3 2020-10-28 17:12:33 +01:00
djmaze
48769f0aca Resolve issue https://github.com/the-djmaze/snappymail/issues/27 2020-10-28 14:54:55 +01:00
djmaze
d1dfa227ae cleanup fontastic 2020-10-28 10:35:17 +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
f25d210f3e Solve menu arrow navigation
https://github.com/the-djmaze/snappymail/issues/22
2020-10-26 14:34:59 +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
b165a1de4f Added addComputables() to *Model 2020-10-25 14:14:14 +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
500575dc32 Sync is already there
https://github.com/the-djmaze/snappymail/issues/24
2020-10-21 21:53:55 +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
53bf7c1d60 setFromJson was not called at reviveFromJson 2020-10-20 17:29:24 +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
76648f04ae Cleaner CollectionModel code 2020-10-18 19:36:57 +02:00
djmaze
ddc866735c Drop unused sModelName 2020-10-18 19:19:45 +02:00
djmaze
7d89de2fdb CollectionModels reviveFromJson 2020-10-18 11:46:22 +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
b908d7b46f Resolve https://github.com/the-djmaze/snappymail/issues/26 2020-10-17 13:53:04 +02:00
djmaze
d0f686c657 Rename basefolder 'rainloop' to 'snappymail'
this prevents conflicts with original rainloop
2020-10-15 16:21:52 +02:00
djmaze
4806dc968d onkeypress is obsolete 2020-10-15 14:43:04 +02:00
djmaze
0528bcf911 Cleanup language loader 2020-10-15 12:59:56 +02:00
djmaze
b68d04aacd Bugfix: inboxFolderName was incorrect
You could have potentionally deleted INBOX and other issues
2020-10-15 12:23:11 +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
6f585e1f1d Use Intl.DateTimeFormat instead of momentjs where we can
Need to solve the Intl.RelativeTimeFormat to drop momentjs
2020-10-15 00:26:40 +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
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
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
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
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
ba7ed497b2 Cleanup JS and better terser compression 2020-10-09 11:58:15 +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
2bd9528098 Clean message preview/print 2020-10-03 13:04:23 +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
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
6c75dd12f8 Cleanup CSS and JS code 2020-10-01 11:10:40 +02:00