OS password dialog is some buggy

For Mac and Windows, password authorization is done using the password of the OS account that the user is currently logged in as. It is the relatively new feature in Firefox, but some bugs (or out-of-plan usage possibility) are found.

All happens when a flood of requests comes in with the tab app loading and so on.

If you queue them all at once in browser.ssi, subsequent dialogs will be displayed with the information from the first dialog.

A lot of code isn't like that, but it happens when you put multiple dialog calls on one API call, for example, to independently authorize multiple credentials at once. In such a case, adding different captions to each OS password dialog will cause subsequent dialogs to display the information from the first dialog.

Summarised Pattern

// In browser.ssi
this.ssi = class extends ExtensionAPI {
  getAPI(context) {
    return {
      ssi: {
        async searchCredentialsWithoutSecret() {
          const filteredCredentials = credentials
            .filter(async credential => {
              // Call OS password dialog. The problem occurs here. All dialogs show the same information.
              const isAuthorized = await lazy.browserSsiHelper.authorize(params);
              return isAuthorized;
            });
          return filteredCredentials;
        }
      }
    }
  }
}

For more details: 3af8c5966aa5e

If you enter the password repeatedly, the keyboard input will be some strange behavior.

It rarely behaves as if multiple characters are entered with a single keyboard input. It will return if you move to another dialog or reload. Probably this is the OS matter, and confirmed only at macOS 14.6 right now.

References

Bugzilla tracking by search term "OS password"

Edited by T2