Skip to content

Commit 13733fe

Browse files
authored
Merge branch 'master' into issue-5668-add-thunderbird-attachments-support
2 parents 211be40 + 0c91fbe commit 13733fe

38 files changed

+582
-395
lines changed

extension/changelog.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
<div class="lightboxed">
22

3+
version 8.5.8 on December 20, 2024: <a href="https://github.com/FlowCrypt/flowcrypt-browser/milestone/481?closed=1" target="_blank">Encryption keys generation, encrypted messages parsing improvements</a>
4+
35
version 8.5.7 on June 13, 2024: <a href="https://github.com/FlowCrypt/flowcrypt-browser/milestone/480?closed=1" target="_blank">Exception reports improvements</a>
46

57
version 8.5.6 on June 3, 2024: <a href="https://github.com/FlowCrypt/flowcrypt-browser/milestone/479?closed=1" target="_blank">Manifest V3 fixes</a>

extension/chrome/dev/ci_unit_test.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,4 +55,6 @@ for (const lib of libs) {
5555
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
5656
(window as any)[(lib as any).name] = lib;
5757
}
58+
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
59+
(window as any).MOCK_PORT = '[TEST_REPLACEABLE_MOCK_PORT]';
5860
/* eslint-enable @typescript-eslint/no-explicit-any */

extension/chrome/elements/compose-modules/compose-quote-module.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -87,12 +87,12 @@ export class ComposeQuoteModule extends ViewModule<ComposeView> {
8787
const decoded = await Mime.decode(Buf.fromBase64UrlStr(raw));
8888
const headers = {
8989
subject: decoded.subject,
90-
date: String(decoded.headers.date),
90+
date: decoded.headers.date as string,
9191
from: decoded.from,
9292
to: decoded.to,
9393
cc: decoded.cc,
94-
references: String(decoded.headers.references || ''),
95-
'message-id': String(decoded.headers['message-id'] || ''),
94+
references: (decoded.headers.references as string) || '',
95+
'message-id': (decoded.headers['message-id'] as string) || '',
9696
};
9797
const message = decoded.rawSignedContent ? await Mime.process(Buf.fromUtfStr(decoded.rawSignedContent)) : Mime.processDecoded(decoded);
9898
const readableBlockTypes = ['encryptedMsg', 'plainText', 'plainHtml', 'signedMsg'];

extension/chrome/elements/compose-modules/formatters/encrypted-mail-msg-formatter.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ export class EncryptedMsgMailFormatter extends BaseMailFormatter {
124124
const pubkeyMsgData = {
125125
...newMsg,
126126
recipients: pubkeyRecipients,
127-
// brackets are required for test emails like '@test:8001'
127+
// brackets are required for test emails like '@test'
128128
replyTo: replyToForMessageSentToPubkeyRecipients.length
129129
? Str.formatEmailList([newMsg.from, ...replyToForMessageSentToPubkeyRecipients], true)
130130
: undefined,

extension/chrome/elements/pgp_block.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,8 @@ export class PgpBlockView extends View {
110110
if (data?.separateQuotedContentAndRenderText) {
111111
this.quoteModule.separateQuotedContentAndRenderText(
112112
data.separateQuotedContentAndRenderText.decryptedContent,
113-
data.separateQuotedContentAndRenderText.isHtml
113+
data.separateQuotedContentAndRenderText.isHtml,
114+
data.separateQuotedContentAndRenderText.isChecksumInvalid
114115
);
115116
}
116117
if (data?.setFrameColor) {

extension/chrome/elements/pgp_block_modules/pgp-block-quote-module.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import { Xss } from '../../../js/common/platform/xss.js';
99
export class PgpBlockViewQuoteModule {
1010
public constructor(private view: PgpBlockView) {}
1111

12-
public separateQuotedContentAndRenderText = (decryptedContent: string, isHtml: boolean) => {
12+
public separateQuotedContentAndRenderText = (decryptedContent: string, isHtml: boolean, isChecksumInvalid: boolean) => {
1313
if (isHtml) {
1414
const message = $('<div>').html(Xss.htmlSanitizeKeepBasicTags(decryptedContent)); // xss-sanitized
1515
let htmlBlockQuoteExists = false;
@@ -32,10 +32,10 @@ export class PgpBlockViewQuoteModule {
3232
message[0].removeChild(shouldBeQuoted[i]);
3333
quotedHtml += shouldBeQuoted[i].outerHTML;
3434
}
35-
this.view.renderModule.renderContent(message.html(), false);
35+
this.view.renderModule.renderContent(message.html(), false, isChecksumInvalid);
3636
this.appendCollapsedQuotedContentButton(quotedHtml, true);
3737
} else {
38-
this.view.renderModule.renderContent(decryptedContent, false);
38+
this.view.renderModule.renderContent(decryptedContent, false, isChecksumInvalid);
3939
}
4040
} else {
4141
const lines = decryptedContent.split(/\r?\n/);
@@ -62,7 +62,7 @@ export class PgpBlockViewQuoteModule {
6262
// only got quoted part, no real text -> show everything as real text, without quoting
6363
lines.push(...linesQuotedPart.splice(0, linesQuotedPart.length));
6464
}
65-
this.view.renderModule.renderContent(Str.escapeTextAsRenderableHtml(lines.join('\n')), false);
65+
this.view.renderModule.renderContent(Str.escapeTextAsRenderableHtml(lines.join('\n')), false, isChecksumInvalid);
6666
if (linesQuotedPart.join('').trim()) {
6767
this.appendCollapsedQuotedContentButton(linesQuotedPart.join('\n'));
6868
}

extension/chrome/elements/pgp_block_modules/pgp-block-render-module.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,9 +46,11 @@ export class PgpBlockViewRenderModule {
4646
});
4747
};
4848

49-
public renderContent = (htmlContent: string, isErr: boolean) => {
49+
public renderContent = (htmlContent: string, isErr: boolean, isChecksumInvalid = false) => {
5050
let contentWithLink = linkifyHtml(htmlContent);
51-
51+
if (isChecksumInvalid) {
52+
contentWithLink = `<div class="pgp-invalid-checksum">${Lang.pgpBlock.invalidCheckSum}</div>${contentWithLink}}`;
53+
}
5254
// Temporary workaround for an issue where 'cryptup_reply' divs are not being hidden when replying to all
5355
// messages from the FES. The root cause is that FES currently returns the body of
5456
// password message replies as 'text/plain', which does not hide the divs as intended.

extension/chrome/popups/default.htm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
<link rel="stylesheet" href="/css/browser-popup.css" />
1212
</head>
1313

14-
<body style="zoom: reset">
14+
<body style="zoom: 1">
1515
<div id="set_up_account" style="display: none; width: 156px; padding: 1px">
1616
<span class="button green action_set_up_account">Setup FlowCrypt</span>
1717
</div>

extension/chrome/settings/modules/my_key.htm

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,9 @@
3232
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
3333
<a href="#" class="action_download_pubkey">Save public key to a file</a>
3434
</div>
35-
<div class="line show_when_showing_public pubkey_link_container" style="display: none">Share your public key: <a href="" target="_blank"></a></div>
35+
<div class="line show_when_showing_public pubkey_link_container" style="display: none" data-test="container-shareable-pubkey-link">
36+
Share your public key: <a href="" target="_blank"></a>
37+
</div>
3638
<div class="line key_status_contatiner"></div>
3739
<div class="line">Key creation: <span class="key_creation" data-test="content-key-creation"></span></div>
3840
<div class="line">Key expiration: <span class="key_expiration" data-test="content-key-expiration"></span></div>

extension/css/cryptup.css

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1592,6 +1592,13 @@ td {
15921592
align-items: center;
15931593
}
15941594

1595+
.pgp-invalid-checksum {
1596+
border-left: 3px solid #d18826;
1597+
color: #d18826;
1598+
margin: 10px 0;
1599+
padding-left: 5px;
1600+
}
1601+
15951602
.pgp_badge {
15961603
opacity: 1;
15971604
margin-bottom: 1em;
@@ -3314,7 +3321,7 @@ body#select_account {
33143321
width: 340px;
33153322
padding: 0;
33163323
font-size: 14px;
3317-
zoom: reset;
3324+
zoom: 1;
33183325
}
33193326

33203327
body#select_account #title {
@@ -3355,7 +3362,6 @@ body#select_account .emails li a {
33553362
text-transform: none;
33563363
color: #337ab7;
33573364
transition: 0.5s;
3358-
letter-spacing: 0.35;
33593365
font-weight: 600;
33603366
}
33613367

0 commit comments

Comments
 (0)