Commit graph

550 commits

Author SHA1 Message Date
the-djmaze 3e494f6519 Cleanup views system 2022-03-08 12:28:16 +01:00
the-djmaze 30116c183f Resolve #268 2022-03-07 13:47:18 +01:00
the-djmaze 874f2592ca Drop Capa enums 2022-03-05 22:25:32 +01:00
the-djmaze a503329b77 Resolve #265 regarding shortcuts in certain input fields.
As we want other shortcuts do work in input fields (which couldn't in previous releases).
2022-03-04 14:43:58 +01:00
the-djmaze f0b0d21386 Some small cleanups/corrections 2022-03-03 19:22:17 +01:00
the-djmaze f50f2c5ea0 decorateKoCommands() each command must have function
And due to that, a bug is found and solved in MessageView
2022-03-03 17:34:45 +01:00
the-djmaze fafe56ecb4 Fix and improved hasher routing 2022-03-03 16:28:05 +01:00
the-djmaze 096faae844 Remove some shortcuts due to conflicts, read #252 2022-03-02 09:26:30 +01:00
the-djmaze 47a6af52ba Resolve #242 2022-02-25 11:33:08 +01:00
the-djmaze 2edd55f01f Drop cancelCommand in favor of closeCommand and improve AbstractViewPopup handling 2022-02-24 22:40:17 +01:00
the-djmaze e7c7b8ed53 Restructure Capa 2022-02-24 12:22:27 +01:00
the-djmaze 5990addfef Added: addEventsListener() and addEventsListeners() 2022-02-24 11:19:19 +01:00
the-djmaze c270f0ad9a Prevent Circular dependencies 2022-02-23 23:11:12 +01:00
the-djmaze bb4ff4fdc7 Bugfix: rl.app.setExpandedFolder() undefined 2022-02-23 22:23:16 +01:00
the-djmaze 661cd2aaf9 Restructure JavaScript
Split list code from MessageUserStore into MessagelistUserStore
Move functions out of AppUser
2022-02-23 19:26:52 +01:00
the-djmaze 24b638cd82 Cleanup some JavaScript 2022-02-21 15:36:34 +01:00
the-djmaze f4bed88e39 Cleanup pgp decrypt code and show green when decrypted 2022-02-17 10:18:47 +01:00
the-djmaze b2a492bdab Cleanup knockout subscribables 2022-02-17 09:36:29 +01:00
the-djmaze 2fea7b92e1 reCaptcha at admin login
https://github.com/the-djmaze/snappymail/issues/222#issuecomment-1036211212
2022-02-11 14:52:04 +01:00
the-djmaze fecc9f96eb Added support for reCaptcha #222 2022-02-11 14:21:41 +01:00
the-djmaze 44ee236709 dispatchEvent(new CustomEvent(...)) to fireEvent(...) 2022-02-11 12:21:16 +01:00
the-djmaze e0e490c64f #89 Decrypt and verify with OpenPGP.js and GnuPG 2022-02-11 11:01:07 +01:00
the-djmaze 85f9209176 Improved decrypted attachments view 2022-02-10 17:15:20 +01:00
the-djmaze 2037f21c45 Resolve #180 and now works with #89 2022-02-10 17:01:36 +01:00
the-djmaze 25a786d584 #89 added downloading of decrypted attachments 2022-02-10 16:35:55 +01:00
the-djmaze 292e21bae1 Replaced added postal-mime for custom mime parser due to PGP verify requirements 2022-02-10 15:37:05 +01:00
the-djmaze 92b81b777b Fix some OpenPGP translations 2022-02-09 15:43:14 +01:00
the-djmaze f3717815e1 Cleanup boot.js and fix rllayout cookie 2022-02-08 14:15:22 +01:00
the-djmaze 827421e116 Settings.capa() to SettingsCapa() 2022-02-08 14:13:06 +01:00
the-djmaze 1f0af5c0ac Hide some functions from rl.app. 2022-02-07 17:27:25 +01:00
the-djmaze 96de0be977 #89 solve edit/reply encrypted message/draft 2022-02-04 09:54:59 +01:00
the-djmaze 384230f7bf Cleaner Content-Type detection for mimeToMessage() 2022-02-03 23:36:48 +01:00
the-djmaze 5514264914 #89 Bugfix mime and signatures detection 2022-02-03 17:04:10 +01:00
the-djmaze 73fa215e22 #89 OpenPGP.js encrypt (+ verify) 2022-02-03 10:17:18 +01:00
the-djmaze da79feeaee #89 verify PGP signatures using OpenPGP.js 2022-02-02 15:24:32 +01:00
the-djmaze 93db6e6e0e #89 verify detached signature using GnuPG 2022-02-02 14:36:49 +01:00
the-djmaze 08ea226dbe Bugfix: message.attachments.hasVisible() undefined 2022-02-02 13:29:13 +01:00
the-djmaze e265a0f1c1 Moved the message HTML parsing from PHP to JavaScript
Now we can properly parse PGP/MIME HTML messages
2022-02-02 13:02:48 +01:00
the-djmaze 3615405aac #89 Remove debug code from pgpDecrypt() 2022-02-01 11:49:56 +01:00
the-djmaze d9e81d6123 #89 revamp code for better decryption and get it working for GnuPG 2022-02-01 11:45:20 +01:00
the-djmaze 4eb70c3f06 #89 show decrypted HTML with inline attachments 2022-01-31 17:29:41 +01:00
the-djmaze 8a4ea92cfb #89 Parse PGP decrypted mime using https://github.com/postalsys/postal-mime 2022-01-31 15:24:51 +01:00
the-djmaze 35900415a2 Resolve #197 2022-01-31 12:36:11 +01:00
the-djmaze 949005eda7 #89 OpenPGP better labeling 2022-01-31 12:34:41 +01:00
the-djmaze c012fe09f0 #89 decrypt using OpenPGP.js 2022-01-31 11:51:15 +01:00
the-djmaze 76226f45ca #89 Fix Mailvelope hasPrivateKey() detection
Proper rename OpenPGP Key viewer
2022-01-29 21:42:56 +01:00
the-djmaze ff7e41ad08 #89 Use OpenPGP.js v5.1.0 (still in progress) 2022-01-27 16:00:52 +01:00
the-djmaze d3b60bf097 #89 support decrypting using Mailvelope 2022-01-26 17:08:10 +01:00
the-djmaze ce971de919 Get PGP verify message working using Promise.
#89
2022-01-24 13:43:53 +01:00
the-djmaze a7eeeb4f55 Many more changes for #89 2022-01-20 16:38:27 +01:00
the-djmaze a47397ef09 Revamp PGP management due to implementing Mailvelop and PEAR Crypt_GPG 2022-01-19 18:24:07 +01:00
the-djmaze fde44c0102 Changes for #89
This part fetches the required message parts for pgp verification.
2022-01-17 17:16:25 +01:00
the-djmaze 638128ff93 Attachmnet => Attachment 2022-01-17 16:39:10 +01:00
the-djmaze 8dcd0cf833 Changes for #89
Now it does not fetch the PGP signature, because validation was broken anyway.
Instead it validates multipart/signed according to RFC 3156 section 5 and returns details for the signed part:
* BodyPartId
* SigPartId
* MicAlg

So in the future several implementations (GnuPG, OpenPGP.js, etc.) can use the correct data for verification.
2022-01-17 15:58:23 +01:00
djmaze 954de06f86 Switch from ko.computed to ko.pureComputed
This should provide performance and memory benefits over regular computed observables
2021-12-31 13:30:05 +01:00
djmaze eb669715ca Remove MessageUserStore.listEnd* overhead 2021-12-16 14:35:29 +01:00
djmaze b95541892f Better observable naming in MessageUserStore 2021-12-15 19:02:36 +01:00
djmaze df293960d0 Remove unused startup_url 2021-12-07 16:51:09 +01:00
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 d734a3e415 Better mail message handling
* Cleanup HTML parsing
* Drop useless Microsoft 'Sensitivity' MIME Header
* Revamp Flags handling
2021-12-06 16:08:58 +01:00
djmaze 792fee547a change AbstractFetchRemote with a better structure 2021-12-02 23:15:24 +01:00
djmaze 0d809dd574 Cleanup additional accounts in system menu 2021-12-02 11:12:21 +01:00
djmaze 6d7911a9ed Object.entries().forEach() to forEachObjectEntry() 2021-12-01 14:23:37 +01:00
djmaze 547d66ebcb Easier SystemFolders handling 2021-12-01 13:54:35 +01:00
djmaze d33ec54c1c FolderFullNameRaw is gone due to UTF8 2021-11-30 10:19:43 +01:00
djmaze 299ec7faf8 Support RFC 6855 / RFC 5738 (UTF8) 2021-11-22 21:01:30 +01:00
djmaze 6ae38bfe1b Improved mobile view 2021-11-16 13:15:02 +01:00
djmaze 6b8020b8f5 Improved additional account management 2021-11-15 10:56:52 +01:00
djmaze b057c4083e Prepare some code for cleaner account switching without reload 2021-11-13 09:46:59 +01:00
djmaze 2c363e63a0 small code cleanup ()=>0 to null 2021-11-13 09:45:06 +01:00
djmaze ce413b7b7a Some account switch reload improvements 2021-11-12 09:36:08 +01:00
djmaze 42bf782c6a When switching to additional account fails, show account update screen 2021-11-11 23:22:04 +01:00
djmaze 739aeaded5 Improved the Switch account system for better feedback to user 2021-11-11 21:01:39 +01:00
djmaze 597ea21b70 Prepared code to switch accounts without reload (not working yet) 2021-11-11 17:14:06 +01:00
djmaze 5b0dd471bc Improved the (User|Admin) Settings screens 2021-11-07 21:19:48 +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 2e34f98c80 Cleanup and improve HTML/CSS and it's JavaScript handling 2021-11-06 12:27:37 +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 d305e090c5 Cleanup CSS for paginator and filters 2021-11-05 11:17:46 +01:00
djmaze b2635eb5c6 Cleanup dropmenu css 2021-11-05 11:14:30 +01:00
djmaze e0f0ea7c46 Bugfix: collapsedPrivate() undefined 2021-11-04 15:15:40 +01:00
djmaze 2cf2b1ee75 Bugfix: some folders were invisible while they should be visible
It all came down to a very complex subscribe system.
I changed that in a "is visible for whatever reason" system.
2021-11-03 19:25:52 +01:00
djmaze 6c797c34f8 Activated search subfolders as request by #154 2021-11-03 02:28:01 +01:00
djmaze 8d3bcdc2f2 Merge quota requests into folders request 2021-11-01 16:26:07 +01:00
djmaze e52addf346 When login don't reload the whole browser. Just rebuilt screens 2021-11-01 11:24:11 +01:00
djmaze 9db640c6c5 No need to set page=1 when calling mailBox() 2021-10-29 15:25:00 +02:00
djmaze d952ec5930 Resolve issue #153 2021-10-27 08:47:02 +02:00
djmaze 4d6d0622e5 Speedup generating folderlist 2021-10-26 15:43:27 +02:00
djmaze 7e2d86cefe Rename kolab to kolabType for better naming 2021-10-14 10:37:07 +02:00
djmaze ef9d1ed220 Improved Kolab folders visibility 2021-10-14 09:43:20 +02:00
djmaze 1fdcc68518 Skip all non-visible folders in folderList instead of being hidden 2021-10-13 15:41:22 +02:00
djmaze 3c8cdcbb07 Drop useless "disable settings screen" 2021-09-23 11:05:19 +02:00
djmaze 8010229d6b Merge SystemDropDownMailBoxUserView & SystemDropDownSettingsUserView into SystemDropDownUserView 2021-09-23 10:40:10 +02:00
djmaze c9fe7516c4 Remove unused parameter 'name' in views 2021-09-23 09:41:02 +02:00
djmaze 8be4c384bb Improved AbstractScreen properties
Improved settings screens
Views:
* sDefaultScope & sCurrentScope to sub-class keyScope
* drop viewModelVisible
* rename viewModelTemplateID to templateID
* rename viewModelPosition to viewType
2021-09-22 20:17:44 +02:00
djmaze 11f69ef9e4 Drop popupVisibilityNames/viewModelName in favor of the new visiblePopups Set 2021-09-22 13:37:12 +02:00
djmaze 2227e8ca21 No need to disable help screen 2021-09-17 14:37:18 +02:00
djmaze 10143cf48f Remove useless "disable reload" feature 2021-09-17 14:25:52 +02:00
djmaze fa136cd529 Drop useless messagelist_actions feature 2021-09-17 14:07:52 +02:00
djmaze 00088ef547 No need to disable Composer (new message), so drop the feature 2021-09-17 13:58:49 +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 96e2e6576c IMAP UID is integer 2021-09-10 16:28:29 +02:00
djmaze 023c8f603b some ko.computed() to addComputables()/addComputablesTo() 2021-09-03 16:37:20 +02:00
djmaze 1457039448 Bugfix issue #139 2021-09-02 13:38:59 +02:00
djmaze 47bbd3d410 Bugfix: exitFullscreen() errors 2021-09-01 11:01:13 +02:00
djmaze 3ad9bb6258 Cleanup some code 2021-08-25 13:22:40 +02:00
djmaze 0b323ab870 Bugfix: when clicking \NoSelect subfolder, it redirect to parent
Improvement for #112
2021-08-25 12:24:27 +02:00
djmaze 8934205ede Replace {'inbox-star-icon': isInboxStarred} with {'flag-icon': isFlagged} for future improvements 2021-08-24 21:10:49 +02:00
djmaze ef4d604f6d Bugfixes and improvements for Folderlist 2021-08-24 18:23:17 +02:00
djmaze 327d6c32ca Improved FolderCollection handling and try to solve https://github.com/the-djmaze/snappymail/issues/112#issuecomment-904193275 2021-08-24 15:53:39 +02:00
djmaze e0adf7accd Bugfix and simplify broken folderListOptionsBuilder() due to changes for #112 2021-08-19 21:31:08 +02:00
djmaze ba477e25ff Resolve issue #112 2021-08-19 15:14:47 +02:00
djmaze d536b5eeee Change ()=>{} into ()=>0 2021-08-13 09:58:43 +02:00
djmaze 2d87b52c07 There is no 'return true' for the shortcuts system 2021-08-12 20:55:24 +02:00
djmaze 8b116fa8ba Cleanup some code 2021-08-12 20:17:37 +02:00
djmaze 6a903bc9b2 Reduce MessageList html/css footprint 2021-08-10 12:22:55 +02:00
djmaze 48e8138764 Bugfix: "clear folder" was shown in wrong folder 2021-08-10 11:42:21 +02:00
djmaze 019de7de87 Bugfix: clicking star icon for flagged items in INBOX failed 2021-08-09 14:22:57 +02:00
djmaze 56e8ea664d Cleanup user login JavaScript code 2021-07-23 11:57:45 +02:00
djmaze 0a69c6410d Added support for JavaScript FormData
As preparation for 2FA plugins and easier Fetch calls
2021-07-23 11:40:03 +02:00
djmaze b16b184ac9 Improved focused styling 2021-07-21 21:54:07 +02:00
djmaze 5590fd4860 isNonEmptyArray => arrayLength 2021-07-21 21:34:17 +02:00
djmaze eec3f46c34 Bugfix: messageview focused [Tab] key should not traverse back to messagelist 2021-07-21 14:15:31 +02:00
djmaze e13337e247 Cleanup styling and gulp merge @media queries 2021-07-20 16:45:55 +02:00
djmaze bb15cd1ec3 Resolve Issue #100 2021-07-19 11:57:47 +02:00
djmaze 51d9c3adbb Uncaught (in promise) TypeError: oData is undefined 2021-07-14 10:32:21 +02:00
djmaze a7ae087f18 More HTML cleanups 2021-05-01 10:02:40 +02:00
djmaze 109c6b6ab5 Cleanup HTML and CSS 2021-04-30 16:39:27 +02:00
djmaze 8aa9b0b33f Speedup foldercollection 2021-04-23 13:01:51 +02:00
djmaze 29fe73d4e7 Cleanup .bind( 2021-04-23 10:47:24 +02:00
djmaze 3572d00a10 Cleanup admin code 2021-04-22 21:56:01 +02:00
djmaze 75c879836c Settings menus:
- remove .disabled, never used
- cleanup/simplify code
2021-04-22 16:02:12 +02:00
djmaze 8af35f7d39 Move login forgotPasswordLinkUrl/registrationLinkUrl to plugin 2021-04-22 13:59:22 +02:00
djmaze ca9b8c8c7f Drop additionalCode for #84 2021-04-12 21:35:36 +02:00
djmaze 48fa1a1fdc Drop 2FA, read #84 2021-04-12 19:15:33 +02:00
djmaze 3d10bbface Added SpamResult 2021-04-09 09:01:48 +02:00
djmaze 168ee911b3 Added: Show spam score in % in message detailed info
Currently only for SpamAssassin and Rspamd
2021-04-08 15:56:46 +02:00
djmaze 89cbcf6f63 Remove unused properties and improved message view header 2021-04-07 16:35:46 +02:00
djmaze 687afdef6a Resolve quota issue #75 2021-04-06 23:03:20 +02:00
djmaze 581c89d502 Cleanup unused properties 2021-03-30 11:48:22 +02:00
djmaze 1129db3f04 Improved #67 2021-03-29 22:05:35 +02:00
djmaze 64cf19746d Finish the sort feature 2021-03-27 16:02:48 +01:00
djmaze 7eeed62b09 Get sorting working for #67 2021-03-27 00:57:04 +01:00
djmaze 7eaaa0a793 Upgrade i18n() to use Object.entries()
And replace quoted object keys to be without quotes
2021-03-24 21:26:40 +01:00
djmaze fe4dbc729c Added isFunction() 2021-03-24 14:22:25 +01:00
djmaze 4bcfc81830 Small speedup/cleanup of some code 2021-03-23 14:48:34 +01:00
djmaze cca0fc15da Added HTML5 form.reportValidity() to login screens
This improves browser feedback on form errors
2021-03-23 11:28:36 +01:00
djmaze ce74b2e92f Cleanup more iError && data.Result 2021-03-18 14:48:21 +01:00
djmaze 11fd6736bb Set response ErrorCode as iError for easier fetch error handling 2021-03-18 12:33:13 +01:00
djmaze a46c0c3b21 Put AppUserStore.currentAudio in AbstractSystemDropDownUserView 2021-03-17 10:09:10 +01:00
djmaze 676de1ed23 Simplify AppUserStore.contactsIsAllowed 2021-03-17 10:05:22 +01:00
djmaze 845483d127 Bugfix: messagelist viewAppendArea failed to missing observableArray 2021-03-16 17:09:39 +01:00
djmaze 0b64083543 Array.isArray to isArray
Array.isNotEmpty to isNonEmptyArray
2021-03-16 16:49:14 +01:00
djmaze 986b8f056b prevent creation of _defineProperty() function 2021-03-16 16:08:01 +01:00
djmaze eff92c3152 Cleanup AppUserStore
Simplify KeyState/Focused as Scope enum
2021-03-16 16:06:16 +01:00
djmaze 4a8d516123 Changed: StorageResultType to error result code 2021-03-16 09:46:23 +01:00
djmaze 9c14ba1b9d Remove messageVisibilityCommand 2021-03-12 17:08:58 +01:00
djmaze 227db0e0c3 Simplify MessageUserStore 2021-03-12 16:54:37 +01:00
djmaze 5e0f637b12 Removed unused detectDomBackgroundColor 2021-03-12 11:57:07 +01:00
djmaze 424167d43f Remove message background color detection.
It is useless without text color and breaks dark mode
2021-03-12 11:56:44 +01:00
djmaze 6a454ec624 Convert user stores to single object instances
Removed unused ContactUserStore.exportingCsv and ContactUserStore.exportingVcf
2021-03-10 22:41:35 +01:00
djmaze 34b25eedea Improve Settings handling 2021-03-10 11:44:48 +01:00
djmaze e7b1ce7509 Globalize message composer popup window 2021-03-10 11:43:23 +01:00
djmaze 5601e100d9 Bugfix: MouseEvent.which is not reliable 2021-03-10 09:43:31 +01:00
djmaze e8deb4ff16 Remove capa.Folders and always allow mailbox folders 2021-03-06 10:07:54 +01:00
djmaze e770f28949 Added: support for real Fullscreen 2021-03-03 11:16:02 +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 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 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 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 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 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 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 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 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 76c4f62186 Improved reviveFromJson() for *Model 2020-10-23 15:15:54 +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