Skip to content

Commit 295112d

Browse files
committed
Fix incompatibility with Thunderbird 115 (#364)
1 parent 9a84310 commit 295112d

File tree

5 files changed

+15
-7
lines changed

5 files changed

+15
-7
lines changed

CHANGELOG.md

+1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ All notable changes to this project will be documented in this file.
88

99
### Enhancements
1010

11+
- Fixed incompatibility with Thunderbird 115 (#364).
1112
- Support the offline mode of Thunderbird.
1213
No DNS queries are done if Thunderbird is in the offline mode (#129).
1314
- JSDNS: Support IPv6 addresses (#363)

experiments/dkimHeader.js

+8-3
Original file line numberDiff line numberDiff line change
@@ -1096,7 +1096,7 @@ class DkimResetMessageListener {
10961096
*/
10971097
static register(window) {
10981098
if (DkimResetMessageListener.#mapping.has(window)) {
1099-
console.error("MessageListener.register(): already registered");
1099+
console.error("DkimResetMessageListener.register(): already registered");
11001100
}
11011101
const messageListener = new DkimResetMessageListener(window);
11021102
DkimResetMessageListener.#mapping.set(window, messageListener);
@@ -1340,13 +1340,18 @@ this.dkimHeader = class extends ExtensionCommon.ExtensionAPI {
13401340
}
13411341

13421342
const displayedMessages = ExtensionParent.apiManager.global.getDisplayedMessages(tab);
1343-
const id = displayedMessages[0]?.id;
1344-
if (id === undefined || displayedMessages.length !== 1) {
1343+
let displayedMessage = displayedMessages[0];
1344+
if (!displayedMessage || displayedMessages.length !== 1) {
13451345
return {
13461346
window: msgWindow,
13471347
id: null,
13481348
};
13491349
}
1350+
if (!("id" in displayedMessage)) {
1351+
// TB >= 115
1352+
displayedMessage = this.extension.messageManager.convert(displayedMessage);
1353+
}
1354+
const id = displayedMessage.id;
13501355
return {
13511356
window: msgWindow,
13521357
id,

experiments/mozilla.d.ts

+3-2
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ declare module ExtensionCommon {
6767
////////////////////////////////////////////////////////////////////////
6868
//// https://searchfox.org/comm-central/source/mail/components/extensions/parent/ext-mail.js
6969
readonly messageManager: {
70-
readonly convert: (msgDBHdr: nsIMsgDBHdr) => browser.messageDisplay.MessageHeader;
70+
readonly convert: (msgDBHdr: nsIMsgDBHdr) => browser.messages.MessageHeader;
7171
readonly get: (messageId: number) => nsIMsgDBHdr;
7272
};
7373
readonly tabManager: ExtensionParentM.TabManagerBase;
@@ -133,7 +133,8 @@ declare module ExtensionParentM {
133133
declare module global {
134134
const tabTracker: TabTrackerBase;
135135

136-
const getDisplayedMessages: (tab: TabBase) => browser.messageDisplay.MessageHeader[];
136+
// Returns nsIMsgDBHdr in TB >= 115
137+
const getDisplayedMessages: (tab: TabBase) => browser.messages.MessageHeader[] | nsIMsgDBHdr[];
137138
}
138139
}
139140
}

experiments/mozillaDom.d.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@ interface Document {
33
}
44

55
interface Window {
6-
readonly gFolderDisplay: { selectedMessage: nsIMsgDBHdr };
6+
// Removed in TB 111
7+
readonly gFolderDisplay?: { selectedMessage: nsIMsgDBHdr };
78
readonly gMessageListeners: object[];
89
// Removed in TB 99
910
readonly OnResizeExpandedHeaderView?: () => void;

manifest.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
"gecko": {
1111
"id": "dkim_verifier@pl",
1212
"strict_min_version": "91.0",
13-
"strict_max_version": "113.0"
13+
"strict_max_version": "115.0"
1414
}
1515
},
1616
"permissions": [

0 commit comments

Comments
 (0)