Closed Bug 1968626 Opened 3 months ago Closed 27 days ago

The Message Security pop-up hides part of the Import Public Key dialog

Categories

(Thunderbird :: Message Reader UI, defect)

defect

Tracking

(thunderbird_esr140 affected, thunderbird140 affected, thunderbird141 affected, thunderbird142 affected)

RESOLVED FIXED
143 Branch
Tracking Status
thunderbird_esr140 --- affected
thunderbird140 --- affected
thunderbird141 --- affected
thunderbird142 --- affected

People

(Reporter: darktrojan, Assigned: KaiE)

References

(Blocks 1 open bug)

Details

(Keywords: regression)

Attachments

(2 files, 1 obsolete file)

Attached image image.png

If you click on the OpenPGP button in the message header, then the Import… button in the message security pop-up, the pop-up remains open while the public key importing dialog is open (because it's modal, and the main window can't do anything until it is closed). But this (in some circumstances) hides parts of the importing dialog, including the action buttons, which is confusing and makes it difficult to use.

Ways we could fix this:

  • hide the pop-up before opening the dialog
  • make the dialog much smaller, removing all of the empty space (still not a great, IMO)
  • incorporate the key import UI into the message security pop-up
  • make the dialog part of the main window (i.e. an HTML <dialog>)

Hiding before opening the dialog is an easy short term fix.
The whole import UI needs a serious rewrite though.

Blocks: tb140found

I think the popup must be closed. And that used to happen in the past. Usually, whatever you clicked while that popup was showing, it was closing automatically. Why is it no longer being closed automatically?

Has something changed how the popup windows behave, or how windows behave in general?

I think in the past things just worked automatically. We got the button click, we executed the code, and the popup disappeared automatically. Why does that no longer happen automatically?

Magnus' patch doesn't work correctly in the "view signature key" scenario. As soon as we call hidePopup(), that scope seems to go away immediately, and viewSignatureKey() no longer works. While it's still possible to call viewSignatureKey() (code is reached), that code refers to a global function in the scope (gSigKeyId), and that has already been released, it's null.

So apparently we need a more sophisticated logic. We need to pass the popup window as a paramater to those functions. Once arriving there, the function needs to make a copy of all variables from self's scope that it needs. Then it can use the given parameter to call hidePopup(). Then it can call the intended action, using the saved information.

I'm attaching a modified patch that works for me locally, and doesn't require changes to tests.

Assignee: nobody → kaie
Status: NEW → ASSIGNED
Attachment #9499184 - Attachment description: Bug 1968626 - Close security info popup when clicking a button inside it. r=mkmelin → Bug 1968626 - Close security info popup when clicking a button inside it. r=darktrojan
Target Milestone: --- → 143 Branch

Shouldn't be necessary to leave-open, the additional patch is obsolete, will be abandoned.

Pushed by brendan@thunderbird.net:
https://hg.mozilla.org/comm-central/rev/503c7d0670c4
Close security info popup when clicking a button inside it. r=darktrojan

Status: ASSIGNED → RESOLVED
Closed: 27 days ago
Keywords: leave-open
Resolution: --- → FIXED

Ah fair enough, my bad.

Attachment #9491211 - Attachment is obsolete: true
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: