the-djmaze
a47397ef09
Revamp PGP management due to implementing Mailvelop and PEAR Crypt_GPG
2022-01-19 18:24:07 +01:00
the-djmaze
bf84684965
Added GnuPG->verify() for testing #89
...
Bugfix SnappyMail\PGP\Keyservers
Renamed DoPgpVerify to DoMessagePgpVerify
2022-01-17 22:04:14 +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
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
the-djmaze
630dc1e854
Added toggle in message menu to switch between HTML/Plain content parts (when available)
2022-01-14 17:13:17 +01:00
the-djmaze
464e766fcc
Put OpenPGP check outside "plain".
...
This allows also for checking HTML messages (but errors for now)
2022-01-13 12:00:12 +01:00
the-djmaze
0e2e44a269
Changes for #180
2022-01-10 14:30:55 +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
94bfe09f63
Cleanup message attachments collections
2021-12-16 15:54:43 +01:00
djmaze
1d9c772b94
Improved "delete folder" error handling.
2021-12-13 14:32:15 +01:00
djmaze
a512759289
Added: sort Folders on add/rename folder
2021-12-09 11:24:30 +01:00
djmaze
c8e4d589cb
Offload server CPU to client when fetching folder list
2021-12-08 14:08:25 +01:00
djmaze
b98762dd68
Replace deprecated String.substr with String.slice
2021-12-08 11:35:41 +01:00
djmaze
2719f08e26
Revamp mailbox management so that reloading of the whole folder tree is not needed
2021-12-08 11:06:42 +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
e6b6531248
Move b64EncodeJSON to Utils
2021-12-07 12:40:55 +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
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
31db5ee238
Bugfix: saveSystemFolders failed at initialization of mailbox
2021-12-01 12:04:17 +01:00
djmaze
d33ec54c1c
FolderFullNameRaw is gone due to UTF8
2021-11-30 10:19:43 +01:00
djmaze
7afbc05d18
Cleanup request Folders response
2021-11-24 15:18:13 +01:00
djmaze
299ec7faf8
Support RFC 6855 / RFC 5738 (UTF8)
2021-11-22 21:01:30 +01:00
djmaze
6b8020b8f5
Improved additional account management
2021-11-15 10:56:52 +01:00
djmaze
5ba3d2edcd
Bugfix: system folders initialization failed on first time login
2021-11-08 17:40:52 +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
d0210bd09a
No need to call folderInformationMultiply at boot when LIST-STATUS is supported
2021-10-27 15:30:19 +02:00
djmaze
4d6d0622e5
Speedup generating folderlist
2021-10-26 15:43:27 +02:00
djmaze
fb86d15c02
Treat Kolab folders as SystemFolder and show the type in User -> Settings -> Folders
2021-10-21 17:15:00 +02:00
djmaze
c8a5ae5c3a
Improved kolab folder-type detection as they can also be appended with '.default'
2021-10-19 12:44:09 +02:00
djmaze
c039e813a6
Forward if METADATA is supported to JavaScript
2021-10-15 12:34:45 +02:00
djmaze
0c237376e5
Get Kolab integration working
2021-10-15 11:58:06 +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
fa6590b3ab
Access rfc5464 METADATA in JavaScript
2021-10-13 15:42:56 +02:00
djmaze
134deb8d73
Drop unused user mail templates system
2021-09-17 10:32:58 +02:00
djmaze
96e2e6576c
IMAP UID is integer
2021-09-10 16:28:29 +02:00
djmaze
cca8ce065c
Resolve issue #139
2021-09-02 12:09:16 +02:00
djmaze
fa25be0631
Make unsubsribeLinks observable
2021-09-01 16:10:44 +02:00
djmaze
8a22ddff5e
Improved #121
2021-08-25 16:27:17 +02:00
David Härdeman
17f107057a
[snappymail] Rework FolderCollectionModel .js a bit
...
Following the previous bugfix, rework the .js code a bit to reduce the
amount of nested ifdeffery.
2021-08-25 00:24:53 +02:00
David Härdeman
0190170edd
[snappymail] Include subfolders in folder list rebuild
...
Subfolders also need to be taken into consideration, otherwise
subfolder deletion/creation won't be reflected in the UI.
Fixes #72
2021-08-25 00:24:01 +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
db1615f2ca
Bugfix: FolderList INBOX detection
2021-08-24 20:45:40 +02:00
David Härdeman
72ff960114
[snappymail] Allow deletion of parent folder with subfolders
...
This change brings snappymails behaviour in line with RFC3501, section 6.3.4,
by allowing "real" (i.e. non-\Noselect) parent folders to be deleted and
by not performing a recursive deletion of subfolders.
2021-08-24 18:33:54 +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
2def2fc118
IMAP \archive is not the same \all, so split it
2021-08-23 17:23:43 +02:00
djmaze
cc03546484
Reduce JavaScript footprint
2021-08-20 15:40:07 +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
5895804e9a
More excessive DOM reductions
2021-08-12 14:44:38 +02:00
djmaze
0659b126e7
Better folder unread-count view
2021-07-30 12:26:27 +02:00
djmaze
4645209053
Cleanup some code
2021-07-22 16:24:24 +02:00
djmaze
5590fd4860
isNonEmptyArray => arrayLength
2021-07-21 21:34:17 +02:00
djmaze
bb15cd1ec3
Resolve Issue #100
2021-07-19 11:57:47 +02:00
djmaze
8aa9b0b33f
Speedup foldercollection
2021-04-23 13:01:51 +02:00
djmaze
89107387d5
Improved #81
2021-04-13 14:11:17 +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
b594f6f5fe
Improved #69
2021-03-29 22:05:08 +02:00
djmaze
0dbc534305
Drop unused NullFolder
2021-03-29 09:38:18 +02:00
djmaze
883bf6b026
Start https://github.com/the-djmaze/snappymail/issues/67#issuecomment-806948346
2021-03-26 15:07:14 +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
87bee226b4
Easier refresh Folders
2021-03-18 13:52:56 +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
bde4d147bb
Cleanup Filters/Sieve capa
2021-03-14 12:15:48 +01:00
djmaze
5a3745a8ca
Resolved Issue #59
2021-03-12 23:55:33 +01:00
djmaze
6d16a533fe
Resolved Issue #60
2021-03-12 23:54:47 +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
e2d6528bf5
Bugfix: message threaded mode was broken (knockout computable requires call to observable)
2021-03-08 15:21:54 +01:00
djmaze
db0d03db83
Bugfix: conflicting File object with native JS
...
Cleanup: Stores and tooltips
2021-02-17 14:40:21 +01:00
djmaze
10f9ce39d9
Revamp mobile including CSS flexbox for messageListItem
2021-02-15 15:20: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
e3e0474be2
Bugfix and cleanup CSS even more
2021-02-08 14:03:54 +01:00
djmaze
32c3f1f059
Cleanup links
2021-02-04 11:25:00 +01:00
djmaze
7ccc44616d
Small code cleanups and fix translations
2021-01-27 00:26:31 +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
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
14ba459d46
Always allow raw editing of Sieve scripts
2021-01-21 10:00:12 +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
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
61c3da14b4
Draft of new Filters design
2021-01-18 16:47:10 +01:00
djmaze
d34729a1ae
Resolve https://github.com/the-djmaze/snappymail/issues/47
2020-12-10 14:19:03 +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
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
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
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
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
b68d04aacd
Bugfix: inboxFolderName was incorrect
...
You could have potentionally deleted INBOX and other issues
2020-10-15 12:23:11 +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
ba7ed497b2
Cleanup JS and better terser compression
2020-10-09 11:58:15 +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
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
4257d9ca78
Resolve https://github.com/the-djmaze/snappymail/issues/10
2020-09-24 15:08:57 +02:00
djmaze
d2c9e860cb
Bugfix: mail?to= should be encodeURIComponent()
2020-09-22 14:17:48 +02:00
djmaze
b66e68a3b1
Merge some parts of initByJson and initUpdateByMessageJson
...
Cleanup messageListChecked handling
2020-09-20 11:29:31 +02:00
djmaze
46198861bc
cidWithOutTags => cidWithoutTags and don't check foundedCIDs because isLinked is already set
2020-09-20 11:15:00 +02:00
djmaze
9fc5a3ff6a
Cleanup some code
2020-09-19 13:53:14 +02:00
djmaze
9241726ffe
Bugfix: Message attachments should be observable or else KnockoutJS is not updating
2020-09-17 22:14:51 +02:00
djmaze
71f6fb25e5
Let all the new CollectionModels use AbstractCollectionModel
2020-09-16 16:33:53 +02:00
djmaze
086a2c1927
Fetch response 'Collection/MessageCollection' to new MessageCollectionModel
2020-09-16 15:44:36 +02:00
djmaze
8f07cf4ac6
foldersReload promises populator to the new FolderCollectionModel
2020-09-16 09:32:36 +02:00
djmaze
385cd9588c
Bugfix: i've wrecked rendering of inline images
2020-09-15 20:40:55 +02:00
djmaze
e99a69a9aa
Attachments array to new AttachmentCollectionModel
2020-09-15 15:08:08 +02:00
djmaze
344edaec2a
cleanup Fetch API code
2020-09-15 11:51:07 +02:00
djmaze
95f55deaad
Attachments filetype was missing opendocument detection
2020-09-15 10:09:39 +02:00
djmaze
062f8d078e
Message from, to, cc, bcc, replyTo and deliveredTo to the new EmailCollectionModel
2020-09-15 09:43:53 +02:00
djmaze
f2d194947d
Merge Objects prototype extensions
2020-09-04 17:07:35 +02:00
djmaze
bdb36ec128
Use less jQuery, more native
2020-08-27 15:45:47 +02:00
djmaze
b185402ae7
Bugfix: Contacts.js trim() missing
...
Bugfix: ClearCookie failed
2020-08-22 01:05:43 +02:00
djmaze
7a21694396
Drop windowResize/windowResizeCallback in favor of ResizeObservable
2020-08-19 12:34:05 +02:00
djmaze
f6a55898c7
Removed isNormal() because 'null == undefined' so 'null != value' is sufficient
2020-08-17 21:57:56 +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
a8ef5ec75b
Bugfix: Email addressparser
...
Cleanup vendor scripts
2020-08-12 11:49:40 +02:00
djmaze
aaf4933b0a
Embed cleaner node modules
2020-08-12 01:47:24 +02:00