Skip to content

Commit 8535761

Browse files
fix: message select issue
1 parent 6928d4c commit 8535761

File tree

1 file changed

+7
-6
lines changed

1 file changed

+7
-6
lines changed

extension/js/content_scripts/webmail/gmail/gmail-element-replacer.ts

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ export class GmailElementReplacer extends WebmailElementReplacer {
5757
msgInnerText: 'table.cf.An',
5858
msgInnerContainingPgp: "div.a3s:not(.undefined):contains('" + PgpArmor.headers('null').begin + "')",
5959
msgActionsBtn: '.Wsq5Cf',
60+
msgActionsBtnExpanded: '.Wsq5Cf[aria-expanded="true"]',
6061
msgActionsMenu: '.tB5Jxf-M-S5Cmsd, ul.aqdrmf-Kf[role="menu"]',
6162
attachmentsContainerOuter: 'div.hq.gt',
6263
attachmentsContainerInner: 'div.aQH',
@@ -408,7 +409,7 @@ export class GmailElementReplacer extends WebmailElementReplacer {
408409
this.insertEncryptedReplyBox(messageContainer, replyOption);
409410
}
410411
if (secureReplyInvokedFromMenu) {
411-
$(this.sel.msgActionsBtn).trigger('click');
412+
$(this.sel.msgActionsBtnExpanded).trigger('click');
412413
}
413414
};
414415

@@ -979,20 +980,20 @@ export class GmailElementReplacer extends WebmailElementReplacer {
979980
let messageContainer;
980981

981982
// Try to find the trigger button that opened this menu (it should have aria-expanded="true")
982-
// This provides a more reliable way to identify the correct message than selecting the last visible one
983-
const menuTrigger = document.querySelector('div[aria-expanded="true"][role="button"], div[aria-expanded="true"][role="menuitem"], .T-I[aria-expanded="true"]');
983+
const messageContainerSelector = 'div.h7:visible';
984+
const menuTrigger = document.querySelector(this.sel.msgActionsBtnExpanded);
984985

985986
if (menuTrigger) {
986987
if (this.debug) {
987988
console.debug('addSecureActionsToMessageMenu found menu trigger:', menuTrigger);
988989
}
989-
messageContainer = $(menuTrigger).closest(this.sel.msgOuter);
990+
messageContainer = $(menuTrigger).closest(this.sel.msgOuter).closest(messageContainerSelector);
990991
if (!messageContainer.length) {
991992
// Fallback
992-
messageContainer = $('div.h7:visible').last();
993+
messageContainer = $(messageContainerSelector).last();
993994
}
994995
} else {
995-
messageContainer = $('div.h7:visible').last(); // Get the last visible message container
996+
messageContainer = $(messageContainerSelector).last(); // Get the last visible message container
996997
}
997998

998999
const msgIdElement = messageContainer.find('[data-legacy-message-id], [data-message-id]');

0 commit comments

Comments
 (0)