"Open and fill" + Firefox 57 Multi-Account Container Tabs

1Password's "Open And Fill" feature does not work as expected with the semi-official Firefox add-on Multi-Account Containers.

Expected: "open and fill" either opens in the current tab or creates a new tab in the same Multi-Account Container context as the currently-open tab.

Actual: "open and fill" opens a new tab in the default context (does not preserve the Multi-Account Container context).

Background: I am an admin on multiple AWS accounts. If you are not familiar with their login URL structure, IAM users have to go to a special URL to login (ex: https://.signin.console.aws.com/). I use Multi-Account Containers to be able to manage multiple AWS account simultaneously. Because of the long, specific, non-memorable nature of the AWS URLs, it makes sense to use Open and Fill to start the login process. However if these URLs always open in the default context, this scheme does not work very well.

The solution may be on the Multi-Account Container side, I leave that to you guys to figure out. ;)

https://github.com/mozilla/multi-account-containers/#readme


1Password Version: 1Password 6 Version 6.8.4 (684001) AgileBits Store
Extension Version: 4.6.12.90
OS Version: macOS 10.13.1 (17B48)
Sync Type: Dropbox

Comments

  • jxpx777
    jxpx777
    1Password Alumni

    @crw That's really interesting! Somehow this flew under my radar. We will need to do some more research in order to fully understand how this works and how we can work with it. It might be a challenge since extensions operate in isolation from one another, so I can't promise it will be possible for us to integrate properly here.

    Can you let us know what your open and fill settings are? Click the 1Password icon in Firefox and then the Gear button at the top right. Under "Submit Logins", you should have a submenu. The title of the menu item will be the current setting (Mine says, "Open URLs in New Tab) and the options will show your selected setting and the other choices as well. This is important for us to understand how 1Password is behaving. Could you try experimenting with the different settings and see if it makes the containers behave differently?

    --
    Jamie Phelps
    Code Wrangler @ AgileBits
    Fort Worth, Texas

  • crw
    crw
    Community Member

    The plot thickens! I was unaware of that setting. However it does not seem to make a difference; setting "Open URLs in Current Tab" still opens a new tab in the default context. For completeness' sake, I tried "Open URLs in New Window", which also results in a new tab being opened in the default context (maybe browser settings override extension settings in that case?)

    This may be a case of intentional firewalls between extensions, in which case FF needs to get those Multi-Account Containers baked into the core product asap. Let me know if you need any more info.

  • jxpx777
    jxpx777
    1Password Alumni

    We will have a look and see what we might do to work better here. I can't promise anything at this early stage, but we'll investigate. :+1:

  • jxpx777
    jxpx777
    1Password Alumni

    @crw It looks like contextualIdentities is a new API that is still not fully baked. AFAICT, the currently selected Container isn't exposed as a property of the tabs.Tab object. I've opened a bug to either get this implemented or point out to me how this is already possible. Thanks for bringing it to our attention!

  • crw
    crw
    Community Member

    No problem, thanks for taking the issue and running with it.

  • jxpx777
    jxpx777
    1Password Alumni

    My pleasure!

  • crw
    crw
    Community Member

    Just re-read my first comment and saw an error. The AWS login URL structure is:

    https://long-account-number.signin.console.aws.com/

    So something like:

    https://12345678901234.signin.console.aws.com/

    This is necessary as AWS IAM users are local to a particular account, so require the additional context of an account ID. Anyway, just to explain the use case. This is pretty much the only time I use Open & Fill (between bookmarks and autocomplete, browser vendors pretty much have that functionality covered), but it is a killer use case for this feature.

  • AGAlumB
    AGAlumB
    1Password Alumni

    Ah, indeed. Thanks for the clarification! :)

  • jxpx777
    jxpx777
    1Password Alumni

    @crw So, I have been playing with this, but I think it is still too early to introduce support for this.

    Right now, I'm not sure the behavior I have built is actually the desired behavior. It seems at least not to be consistent with Firefox's behavior with handling URLs on its own. Note that this is describing the default behavior of Firefox and the Multi-Account Containers add-on without 1Password involved and without any special URL rules about which containers to use for which URLs.

    1. A new tab (File > New Tab) from a container does not create the new tab in the container specified.

      It looks like it's possible if you Control/Command click the new tab button. This doesn't appear to be documented and no modifiers affect the New Tab menu item when I press them like would happen in other apps, so I'm not sure how much to rely on this behavior. It looks like there is a bug open to add a preference for new tabs' default container. It looks like there is also an add-on that provides this functionality in the meantime, but it uses a different keyboard shortcut.

    2. New windows do not have a way to preserve the current tab's container.

      There is some discussion about the best way to handle this kind of thing. I found that I had to create the new window with an empty tab, create the new tab in the previously selected container, and then close the initial empty tab. This is a pretty ugly way to handle this.

    3. URLs opened from other apps do not preserve the current container.

      Perhaps this would be resolved with #1 and/or #2, but perhaps not, so I thought it worth mentioning. Since this is how 1Password does open and fill in some scenarios, it's an important one for us to support.

    So, while I had a lot of fun playing with this, and I was most impressed with how easy it was to slide into this part of the tab handling, things are just too much in flux with this add-on's behavior for us to commit to support for it right now. I will keep my branch around so I can resurrect it in the future, but for now, we'll need to watch how things unfold so we can know how to best support this in the way that users of both Multi-Account Containers and 1Password will expect.

    --
    Jamie Phelps
    Code Wrangler @ AgileBits
    Fort Worth, Texas

  • crw
    crw
    Community Member

    Interesting. Thanks for the in-depth analysis. Would love for this thread to be updated if things change down the road. Thanks again!

  • jxpx777
    jxpx777
    1Password Alumni

    My pleasure. Thank you for bringing it to our attention. I will be sure to check in with the add-on repo periodically to see how things are going.

  • crw
    crw
    Community Member

    Quick update: Container Tabs add-on either added, or always had, a mechanism to always send certain URL patterns to a container context. This more-or-less "fixes" this issue, since you can, for instance, always send console.aws.amazon.com to your AWS container context. IMHO, this issue is more-or-less resolved as a result. Thanks!

  • AGAlumB
    AGAlumB
    1Password Alumni

    Aha! Thanks for the update! Indeed, that can help a lot. Definitely a lot of utility -- and complexity -- there to keep track of. Cheers! :)

This discussion has been closed.