Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

enable mail body compression #4574

Merged
merged 2 commits into from
Sep 30, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
4 changes: 2 additions & 2 deletions src/api/worker/facades/MailFacade.ts
Original file line number Diff line number Diff line change
Expand Up @@ -221,7 +221,7 @@ export class MailFacade {

service.draftData = createDraftData({
subject,
bodyText,
compressedBodyText: bodyText,
senderMailAddress,
senderName,
confidential,
Expand Down Expand Up @@ -277,7 +277,7 @@ export class MailFacade {
service.draft = draft._id
service.draftData = createDraftData({
subject: subject,
bodyText: body,
compressedBodyText: body,
senderMailAddress: senderMailAddress,
senderName: senderName,
confidential: confidential,
Expand Down
112 changes: 112 additions & 0 deletions test/tests/api/worker/CompressionCompatibilityTestData.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
[
{
"uncompressedText": "",
"compressedBase64TextJava": "",
"compressedBase64TextJavaScript": ""
},
{
"uncompressedText": "a",
"compressedBase64TextJava": "EGE=",
"compressedBase64TextJavaScript": "EGE="
},
{
"uncompressedText": "ab",
"compressedBase64TextJava": "IGFi",
"compressedBase64TextJavaScript": "IGFi"
},
{
"uncompressedText": "aba",
"compressedBase64TextJava": "MGFiYQ==",
"compressedBase64TextJavaScript": "MGFiYQ=="
},
{
"uncompressedText": "abab",
"compressedBase64TextJava": "QGFiYWI=",
"compressedBase64TextJavaScript": "QGFiYWI="
},
{
"uncompressedText": "ababa",
"compressedBase64TextJava": "UGFiYWJh",
"compressedBase64TextJavaScript": "UGFiYWJh"
},
{
"uncompressedText": "ababab",
"compressedBase64TextJava": "YGFiYWJhYg==",
"compressedBase64TextJavaScript": "YGFiYWJhYg=="
},
{
"uncompressedText": "abababa",
"compressedBase64TextJava": "cGFiYWJhYmE=",
"compressedBase64TextJavaScript": "cGFiYWJhYmE="
},
{
"uncompressedText": "abababab",
"compressedBase64TextJava": "gGFiYWJhYmFi",
"compressedBase64TextJavaScript": "gGFiYWJhYmFi"
},
{
"uncompressedText": "ababababa",
"compressedBase64TextJava": "kGFiYWJhYmFiYQ==",
"compressedBase64TextJavaScript": "kGFiYWJhYmFiYQ=="
},
{
"uncompressedText": "ababababab",
"compressedBase64TextJava": "oGFiYWJhYmFiYWI=",
"compressedBase64TextJavaScript": "oGFiYWJhYmFiYWI="
},
{
"uncompressedText": "abababababa",
"compressedBase64TextJava": "sGFiYWJhYmFiYWJh",
"compressedBase64TextJavaScript": "sGFiYWJhYmFiYWJh"
},
{
"uncompressedText": "abababababab",
"compressedBase64TextJava": "wGFiYWJhYmFiYWJhYg==",
"compressedBase64TextJavaScript": "wGFiYWJhYmFiYWJhYg=="
},
{
"uncompressedText": "ababababababa",
"compressedBase64TextJava": "0GFiYWJhYmFiYWJhYmE=",
"compressedBase64TextJavaScript": "0GFiYWJhYmFiYWJhYmE="
},
{
"uncompressedText": "ababababababab",
"compressedBase64TextJava": "4GFiYWJhYmFiYWJhYmFi",
"compressedBase64TextJavaScript": "4GFiYWJhYmFiYWJhYmFi"
},
{
"uncompressedText": "abababababababa",
"compressedBase64TextJava": "JGFiAgBQYWJhYmE=",
"compressedBase64TextJavaScript": "8ABhYmFiYWJhYmFiYWJhYmE="
},
{
"uncompressedText": "abababababababab",
"compressedBase64TextJava": "JWFiAgBQYmFiYWI=",
"compressedBase64TextJavaScript": "8AFhYmFiYWJhYmFiYWJhYmFi"
},
{
"uncompressedText": "ababababababababa",
"compressedBase64TextJava": "JmFiAgBQYWJhYmE=",
"compressedBase64TextJavaScript": "8AJhYmFiYWJhYmFiYWJhYmFiYQ=="
},
{
"uncompressedText": "ababababababababab",
"compressedBase64TextJava": "J2FiAgBQYmFiYWI=",
"compressedBase64TextJavaScript": "8ANhYmFiYWJhYmFiYWJhYmFiYWI="
},
{
"uncompressedText": "abababababababababa",
"compressedBase64TextJava": "KGFiAgBQYWJhYmE=",
"compressedBase64TextJavaScript": "IWFiAgDAYmFiYWJhYmFiYWJh"
},
{
"uncompressedText": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Tempor orci eu lobortis elementum nibh. Nibh tellus molestie nunc non blandit. Varius quam quisque id diam vel quam. Sit amet aliquam id diam maecenas ultricies mi eget. Erat pellentesque adipiscing commodo elit at imperdiet dui accumsan. Suspendisse ultrices gravida dictum fusce ut placerat orci nulla. Et malesuada fames ac turpis egestas integer eget aliquet nibh. Vitae purus faucibus ornare suspendisse. Ullamcorper eget nulla facilisi etiam dignissim diam quis enim. Volutpat maecenas volutpat blandit aliquam. Cursus turpis massa tincidunt dui ut ornare. A diam maecenas sed enim ut sem viverra.\n\nSit amet nisl suscipit adipiscing bibendum est ultricies integer. Pretium vulputate sapien nec sagittis aliquam malesuada. Convallis aenean et tortor at risus viverra adipiscing at in. Euismod lacinia at quis risus sed. Dis parturient montes nascetur ridiculus mus mauris vitae ultricies. Varius duis at consectetur lorem donec. Urna nunc id cursus metus. Sed faucibus turpis in eu mi bibendum neque egestas congue. Gravida in fermentum et sollicitudin ac orci. Sed sed risus pretium quam. Nunc scelerisque viverra mauris in aliquam sem fringilla. Lectus vestibulum mattis ullamcorper velit sed. Amet commodo nulla facilisi nullam vehicula ipsum. Iaculis eu non diam phasellus vestibulum lorem. Felis bibendum ut tristique et egestas. Lobortis mattis aliquam faucibus purus in massa. Nisi vitae suscipit tellus mauris a diam maecenas sed. Velit sed ullamcorper morbi tincidunt ornare massa.\n\nUt pharetra sit amet aliquam id diam maecenas ultricies mi. Dolor sit amet consectetur adipiscing elit pellentesque habitant morbi tristique. Consectetur adipiscing elit pellentesque habitant. Vel orci porta non pulvinar. Gravida cum sociis natoque penatibus et magnis. Eget egestas purus viverra accumsan in nisl nisi scelerisque. Erat nam at lectus urna duis convallis. Bibendum est ultricies integer quis auctor. Enim ut tellus elementum sagittis vitae et leo duis. Tellus elementum sagittis vitae et leo duis. Sem fringilla ut morbi tincidunt.\n\nEgestas diam in arcu cursus euismod quis viverra. Amet luctus venenatis lectus magna fringilla urna porttitor. Egestas sed sed risus pretium quam. Turpis massa tincidunt dui ut ornare. Convallis tellus id interdum velit laoreet id donec ultrices. Egestas sed sed risus pretium quam vulputate dignissim suspendisse. Rhoncus urna neque viverra justo nec ultrices. Sapien pellentesque habitant morbi tristique senectus et. Phasellus vestibulum lorem sed risus ultricies tristique nulla aliquet. Odio ut enim blandit volutpat maecenas volutpat blandit. Vulputate eu scelerisque felis imperdiet proin fermentum leo vel. Vitae ultricies leo integer malesuada nunc vel risus. Auctor elit sed vulputate mi sit amet mauris commodo quis.\n\nTurpis in eu mi bibendum neque egestas congue quisque egestas. Tincidunt praesent semper feugiat nibh. Ante in nibh mauris cursus mattis molestie a. Urna porttitor rhoncus dolor purus. Feugiat in fermentum posuere urna nec tincidunt. Pellentesque massa placerat duis ultricies lacus sed turpis tincidunt. Amet dictum sit amet justo donec enim diam vulputate ut. Egestas purus viverra accumsan in. Elementum sagittis vitae et leo. Euismod quis viverra nibh cras pulvinar mattis nunc. Ultricies mi eget mauris pharetra et ultrices. Mauris vitae ultricies leo integer malesuada nunc vel. Justo laoreet sit amet cursus sit. Vestibulum lectus mauris ultrices eros in cursus. Nunc congue nisi vitae suscipit tellus mauris a.",
"compressedBase64TextJava": "8ldMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzY2luZyBlbGl0LCBzZWQgZG8gZWl1c21vZCB0ZW1wb3IgaW5jaWRpZHVudCB1dCBsYWJvcmUgZXRbAPICZSBtYWduYSBhbGlxdWEuIFQ0APNgb3JjaSBldSBsb2JvcnRpcyBlbGVtZW50dW0gbmliaC4gTmliaCB0ZWxsdXMgbW9sZXN0aWUgbnVuYyBub24gYmxhbmRpdC4gVmFyaXVzIHF1YW0gcXVpc3F1ZSBpZCBkaWFtIHZlbCBxdWFtLiBT3wADhgAVbSMA8RptYWVjZW5hcyB1bHRyaWNpZXMgbWkgZWdldC4gRXJhdCBwZWxsZW50ZVkABxABUGNvbW1vCwEQbDoBkHQgaW1wZXJkafYA8wl1aSBhY2N1bXNhbi4gU3VzcGVuZGlzc2VkAOBlcyBncmF2aWRhIGRpY/EA4GZ1c2NlIHV0IHBsYWNldgABHgHwEm51bGxhLiBFdCBtYWxlc3VhZGEgZmFtZXMgYWMgdHVycDYB4Gdlc3RhcyBpbnRlZ2VyEAAD5QAjZXRJAfYOVml0YWUgcHVydXMgZmF1Y2lidXMgb3JuYXJlIHOeALQuIFVsbGFtY29ycEgAAYEAwCBmYWNpbGlzaSBldFUBgGRpZ25pc3NpCgADdAHgIGVuaW0uIFZvbHV0cGGvAANVARR2EgADrwECmgCkYW0uIEN1cnN1c8YAcW1hc3NhIHRIAgBGAjBkdWkPAQKlADIuIEHPAQVXAACGAgBzAAAkAOVzZW0gdml2ZXJyYS4KCugBQG5pc2zeADBjaXB3AAbIAsNiaWJlbmR1bSBlc3SRAQD1AQNAAfAVLiBQcmV0aXVtIHZ1bHB1dGF0ZSBzYXBpZW4gbmVjIHNhZ2l0rQICzQIAkwADmQHwDS4gQ29udmFsbGlzIGFlbmVhbiBldCB0b3J0b3IfAiByae8AA6kACJAAoWF0IGluLiBFdWlSA3BsYWNpbmlhMwABWgECOADwB3NlZC4gRGlzIHBhcnR1cmllbnQgbW+WAlEgbmFzY6wDYXJpZGljdS4DADIDQGF1cmlxAAD8AQXcAgUvAyBkdagAGXTtAxFsFQSyZG9uZWMuIFVybmFuA0JpZCBjrQGmbWV0dXMuIFNlZEgCA4cCIGluzAMmbWlfASBuZTEDBJ8Ck2Nvbmd1ZS4gR/kCY2luIGZlcvAD8ABldCBzb2xsaWNpdHVkaW7eAgAAAwJqAADsAQIFARNwmgECQQIQTgoEYnNjZWxlcvUDBFwBA/oAAEgAAXIEEW0jAmFmcmluZ2lQA4BMZWN0dXMgdlIEQGJ1bHXGAQHVAQBvAwQAAxB28AQA7wRQLiBBbWUpAQLvAwsTAwEPAFBtIHZlaHwBEmFTBWAuIElhY3UKAiFlda0EASkDYHBoYXNlbKABB3oAAXQBQC4gRmUuAAU8AZF1dCB0cmlzdGlDARB01QMA5QM0LiBMLQUDsgAEhwIF1wMC5gMiaW5SAzAuIE64AwIFAgUNAwRUBQIoAQCFBBBhAwEDswMBawIUVv4ACRQBV21vcmJppgMCnwMDawDVCgpVdCBwaGFyZXRyYU8GBYQBD3AFCjkuIESFBgmXAgd0BQGWAAmRBWFoYWJpdGEOAwGcAAQ2AQGPAw/HBgUK1AUEQwAB9gABeQJhIHBvcnRhugGGcHVsdmluYXK6AvAAY3VtIHNvY2lpcyBuYXRvogFAcGVuYUsCEHOsAQDtBlBpcy4gRYkFBP8CApcBBKICBB0GMiBpbqgEEG6mAQfMAgN7BjBuYW2kAxJssAIQdZIDAbgDFGNqBD8uIELOBAoCnQWTYXVjdG9yLiBFMgUDAAIGcAcF1gQCKQIQZXMAEG/HBhBzrgcBswIPLQATGFNpAwCdBQOWAQTYBUIuCgpFywIC0QUApAM0cmN1YAQTZQQFAfkEAy0BA38DI2x1tAMRbmwBFHMVAQBuARZh3QMCJQEAvwEidGn0AANvAABGBAAEAA9KBAESVEoHATIDBqwAAAABAMMAAuUCAVACA98FA0ABIWlkdQcQckwGAi4EcWxhb3JlZXTsAgBGBQNfBgB3BQT3AACEAAAEAA6IAAdxBgZiBwmfB1RSaG9uYwkCAl8FAyUBYSBqdXN0b6IGAusFAHMAElO3Bg8vAxJCIHNlbmYCX2V0LiBQqgQGABEFA7wAAmkAADsHBqsEAQ4FAvMDAEgAQE9kaW9DARBleQIEAggFEwgFcgQFEgADIwA1LiBWfAcoZXUYAyEgZigFBmsJOXByb0oGALgCNHZlbPQIBqQAABkAA+MHB00JEG5EBgAlCgHTADEuIEEqAwLTCQCmAQYECCZtadMEA2EGBBIGAK4CMy4KCkYCDwkHEwGZAwA7BAMhBDQuIFQkA2AgcHJhZXPhByBzZVMKcCBmZXVnaWHSCAAWC0JBbnRlOAQkYmjDBQSfBwLGBgUsCxNhxgcFDwMjIHJCAgLzCwGVBAB8BgJgAAlJAXJwb3N1ZXJlUAMA+ggFnAk4LiBQEgsCNgMFuAoBoAQHdwEQYbECAEsBAygIB0cAAVcHAwELBH4MA8kCAYQIAVUKAigEBogBEHWXCwPUAwHAAAT8CQVyCwJOCQVMDA/cBAIGbwkAvQEFQwABVAEhY3JbAAL3BQRUAQApAgAgCwsjDASBAQX3BidldPQDEk1hBwJVBQcUAQ+LAgoxLiBKzAMETAQFGgED5QERcyADBrsIBQgFAe8JAmYAYWVzIGVyb4wCAjYAAy4JAoUJAHMGDxQICVBpcyBhLg==",
"compressedBase64TextJavaScript": "8VhMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzY2luZyBlbGl0LCBzZWQgZG8gZWl1c21vZCB0ZW1wb3IgaW5jaWRpZHVudCB1dCBsYWJvcmUgZXQgWwDyAmUgbWFnbmEgYWxpcXVhLiBUNADzYG9yY2kgZXUgbG9ib3J0aXMgZWxlbWVudHVtIG5pYmguIE5pYmggdGVsbHVzIG1vbGVzdGllIG51bmMgbm9uIGJsYW5kaXQuIFZhcml1cyBxdWFtIHF1aXNxdWUgaWQgZGlhbSB2ZWwgcXVhbS4gU98AA4YAFW0jAPEabWFlY2VuYXMgdWx0cmljaWVzIG1pIGVnZXQuIEVyYXQgcGVsbGVudGVZAAcQAVBjb21tbwsBEGxbAPMWdCBpbXBlcmRpZXQgZHVpIGFjY3Vtc2FuLiBTdXNwZW5kaXNzZWQA4GVzIGdyYXZpZGEgZGlj8QBQZnVzY2U7AVBwbGFjZXYAAR4B8BJudWxsYS4gRXQgbWFsZXN1YWRhIGZhbWVzIGFjIHR1cnA2AeFnZXN0YXMgaW50ZWdlcroAAuUAI2V0SQH2DlZpdGFlIHB1cnVzIGZhdWNpYnVzIG9ybmFyZSBzngC0LiBVbGxhbWNvcnBIAAGBAPAJIGZhY2lsaXNpIGV0aWFtIGRpZ25pc3NpCgADdAHgIGVuaW0uIFZvbHV0cGGvAANVARR2EgADrwECmgCkYW0uIEN1cnN1c8YAcW1hc3NhIHRIAiJ1bkMBI3V0pQBBLiBBIM8BBawBAIYCAHMAADMB8ABzZW0gdml2ZXJyYS4KClONARFt+wAgc2zeADBjaXATAAbIAsNiaWJlbmR1bSBlc3SRAQD1AQNAAfAVLiBQcmV0aXVtIHZ1bHB1dGF0ZSBzYXBpZW4gbmVjIHNhZ2l0rQICzQIWbZkB8AMuIENvbnZhbGxpcyBhZW5lYW4BA8B0b3J0b3IgYXQgcmnvAAOpAAhYA6FhdCBpbi4gRXVpUgNwbGFjaW5pYTMAQ3F1aXM4APAHc2VkLiBEaXMgcGFydHVyaWVudCBtb5YCUSBuYXNjrANhcmlkaWN1LgMAMgNxYXVyaXMgdvwBBdwCFC4vAxBkXAApYXTtAxFsFQSyZG9uZWMuIFVybmFuA0JpZCBjrQGmbWV0dXMuIFNlZEgCA4cCIGluzAM1bWkgXwFQbmVxdWWPAgGfApNjb25ndWUuIEf5AmNpbiBmZXLwA/AAZXQgc29sbGljaXR1ZGlu3gIAAAMCagAA7AECPQETcJoBAOsDMC4gTgoEcXNjZWxlcmmcAwRcARJt+gAASAABcgQgbSAjAmFmcmluZ2lQA4BMZWN0dXMgdlIEQGJ1bHXGAQHVAQBvAwQAAxB28AQA7wQwLiBBUAIE7wMLEwMBDwBQbSB2ZWh8ARJhUwVgLiBJYWN1CgIwZXUgrQQBvgJCcGhhc84EB3oAAXQBQC4gRmUuAAU8AZF1dCB0cmlzdGlDARR0RgE0LiBMLQUhbWGyAASHAgXXAwLmAzFpbiBSAwBFBSNzaQUCMnN1cw0DBFQFAigBAIUEEGEDAQOzAwFrAhRW/gAYIBQBV21vcmJppgMDRAQCawDVCgpVdCBwaGFyZXRyYU8GBPEDIyBpkwUFxAMFlAJpIG1pLiBEhQYJlwIHdAUBlgAJkQVhaGFiaXRhDgMBnAAENgEBjwMPxwYFCtQFBEMAYC4gVmVsIHkCYSBwb3J0YboBhnB1bHZpbmFyugLwAGN1bSBzb2NpaXMgbmF0b6IBUXBlbmF0VgUQZfwEAB8FVS4gRWdluQEDfQUEogIEHQaAIGluIG5pc2wFACdpIMwCA3sGMG5hbQgEEmywAhB1kgMBuAMUY2oEPy4gQs4ECgERB9AgYXVjdG9yLiBFbmltMgUDAAIGcAcF1gQCLgRgZXQgbGVvxwYQc64HAYEHDy0AE0VTZW0gaQMAawALMgJDLgoKRbAGARMDAKQDNHJjdWAEE2UEBQH5BAMtAQN/AyNsdbQDEW5sASNzIBUBAlsIB3QAACUBAL8BInRp9AADbwAARgQABAAPSgQBElRKBwHHAgfeAgDHBweEBgbfBQNAASFpZHUHEHJMBgIuBHFsYW9yZWV07AIARgUDXwYhZXMOAgEIBQCEAAAEAA6IAAdxBgZiBwmfB4FSaG9uY3VzIAkCAl8FAyUBYSBqdXN0b6IGAlcDAHMAElO3Bg8vAxJCIHNlbmYCAPgIH1CqBAYAEQUDkwYCaQAAOwcGqwQBDgUC8wMASABAT2RpbwYCAasHBAIIBRMIBQoEBRIAAyMANS4gVnwHKGV1GAMhIGYoBQZrCTlwcm9KBgC4AlJ2ZWwuIPQIBqQAABkAA+MHBrQHAuAGMnZlbNMAMS4gQSoDAesKAeoABgQIJm1p0wQDYQYEEgYArgIzLgoKRgIPCQcTAZkDADsEEmWgAjUuIFT8CFBwcmFlc+EHIHNlUwp0IGZldWdpYc0JQkFudGU4BDRiaCCKAAOfBwIUBgUsCxNhxgcFDwMjIHJCAgGYCwKVBAB8BgJgAAlJAXRwb3N1ZXJlbAIWYxgDOC4gUBILAjYDBbgKAaAEB3cBEGGxAgDxAgMoCAXjCQPYAwMBCwR+DAPJAgGECAFVCgL5CQaIARB1lwsCNAECwAAE/AkFcgsCTgkFTAwP3AQCBm8JAL0BBUMAAHgMZCBjcmFzIPcFEyBoBwB3DAAgCwsjDASBAQX3BhRlUwoAgQMSTWEHAlUFBxQBIWVvOQQArgsG2AsAYgAAsAwxLiBKzAMETAQFGgEDhAkgc2n0DAa7CAUIBQHvCQJmAGBlcyBlcm8UDANaBQMuCQKFCQJuBgKWAAkUCMB1cyBtYXVyaXMgYS4="
},
{
"uncompressedText": "ö()€ Τούτανοτα Тутасота 图塔诺塔 ツタノタ نخاعö()€ Τούτανοτα Тутасота 图塔诺塔 ツタノタ ö()€ Τούτανοτα Тутасота 图塔诺塔 ツタノタ نخاعنخاع",
"compressedBase64TextJava": "8AfDtigp4oKsIM6kzr/Pjc+EzrHOvc6/CADQINCi0YPRgtCw0YHQvggA/xQg5Zu+5aGU6K+65aGUIOODhOOCv+ODjuOCvyDZhtiu2KfYuU4AMw9GADMElACA2YbYrtin2Lk=",
"compressedBase64TextJavaScript": "8AfDtigp4oKsIM6kzr/Pjc+EzrHOvc6/CADQINCi0YPRgtCw0YHQvggA/xQg5Zu+5aGU6K+65aGUIOODhOOCv+ODjuOCvyDZhtiu2KfYuU4AMw9GADPwAdmG2K7Yp9i52YbYrtin2Lk="
}
]