milestone 1.0.0 release readiness: user-facing fixes, security review, release procedure #388
@@ -633,8 +633,9 @@ function isExtensionSender(sender) {
|
|||||||
// had refused.
|
// had refused.
|
||||||
//
|
//
|
||||||
// TX and sign approvals do not decide here. They stay pending across a
|
// TX and sign approvals do not decide here. They stay pending across a
|
||||||
// disconnect — the user can reopen the toolbar popup — and are rejected by the
|
// disconnect. When their window closes, the windows.onRemoved listener below
|
||||||
// windows.onRemoved listener below.
|
// rejects them, unless an approved attempt is still running, in which case
|
||||||
|
// that attempt answers the page.
|
||||||
runtime.onConnect.addListener((port) => {
|
runtime.onConnect.addListener((port) => {
|
||||||
if (port.name.startsWith("approval:")) {
|
if (port.name.startsWith("approval:")) {
|
||||||
const id = port.name.split(":")[1];
|
const id = port.name.split(":")[1];
|
||||||
@@ -662,7 +663,9 @@ runtime.onConnect.addListener((port) => {
|
|||||||
const approval = pendingApprovals[id];
|
const approval = pendingApprovals[id];
|
||||||
if (approval) {
|
if (approval) {
|
||||||
if (approval.type === "tx" || approval.type === "sign") {
|
if (approval.type === "tx" || approval.type === "sign") {
|
||||||
// Keep pending — user can reopen the toolbar popup
|
// When its window closes, windows.onRemoved rejects it,
|
||||||
|
// unless an approved attempt is still running, in which
|
||||||
|
// case that attempt answers the page.
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
settleApproval(id, { approved: false, remember: false });
|
settleApproval(id, { approved: false, remember: false });
|
||||||
|
|||||||
Reference in new issue
Block a user