Some passwords have no context menu

nils_enevoldsen
nils_enevoldsen
Community Member
edited March 2018 in Android

Some of my passwords have no context menu on hover, so they cannot be copied/revealed/etc. In the first image below I am hovering over the website, and it looks normal. In the second image, I am hovering over the password, but no menu appears.


It may be a coincidence, but I've noticed that this only seems to occur when the password contains a { or a }. It doesn't happen on all such passwords, and it may simply be a small sample size.

Furthermore, I noticed that these same password have issues on 1Password.com! But they work normally with 1Password X.

1Password for Mac 7.0.BETA-3: Username is present. Password is present, but has not context menu on hover, so cannot be copied/revealed/etc.

1Password.com: Username and password are not present.

1Password X for Chrome: Username and password are present. Password has a context menu on hover.


1Password Version: 7.0.BETA-3
Extension Version: Not Provided
OS Version: 10.13.3
Sync Type: 1password.com

Comments

  • Jacob
    edited March 2018

    Hey @nils_enevoldsen! Since this is also happening on 1Password.com, it does sound like something specific to the password. I just tried creating some with { and } and they're still working normally. What kind of item are these passwords in?

  • nils_enevoldsen
    nils_enevoldsen
    Community Member

    Yes, I can't get it to fail with any newly created passwords. The only examples I've seen are "password" items, as opposed to "login" items. Here's an example of a JSON for one of the affected items.

    {
        "sectionName": "C",
        "details": {
            "URLs": [
                {
                    "url": "https:\/\/www.cardkingdom.com"
                }
            ],
            "fields": [
                {
                    "value": "[REDACTED PASSWORD]",
                    "name": "password",
                    "type": "P",
                    "designation": "password"
                },
                {
                    "value": "[REDACTED USERNAME]",
                    "name": "username",
                    "type": "T",
                    "designation": "username"
                }
            ]
        },
        "uuid": "on3fdvtwucwu27nd6a447vhg5a",
        "updatedAt": 1515367010,
        "createdAt": 1515256187,
        "categoryUUID": "005",
        "overview": {
            "title": "Card Kingdom",
            "url": "https:\/\/www.cardkingdom.com",
            "ainfo": "Jan 6, 2018 at 11:29:47 AM",
            "ps": 0
        },
        "URLs": [
            {
                "overview": {
                    "label": "",
                    "url": "https:\/\/www.cardkingdom.com"
                }
            }
        ]
    }
    
  • nils_enevoldsen
    nils_enevoldsen
    Community Member

    I also see that I made a typo in my original post. I meant to say that in 1Password for Mac 7.0.BETA-3, the usernames for these items is not present.

  • nils_enevoldsen
    nils_enevoldsen
    Community Member

    More information: When I right-click an affected item, I do not have an option to "Copy Password". When I duplicate the item, the duplicated item has the same symptoms. When I change the password on the duplicated item, I can copy the password as usual. However the username still does not appear in the item even after the password is changed.

  • nils_enevoldsen
    nils_enevoldsen
    Community Member
    edited March 2018

    Aha! This only happens when the password is in a field of name/designation "password", not when the password is a true "password". Ditto for the username. So when I was "changing" the password, I was really just adding a password. The original password is still present in a field of name/designation "password".

    I'm not sure how to create new items with that exact field structure, so I'm having trouble creating replication steps from scratch. Is the above JSON structure only created by an old version of one of the 1Password browser extensions?

  • nils_enevoldsen
    nils_enevoldsen
    Community Member
    edited March 2018

    Just following up: it is indeed something about the structure of these login items. Here's a partial replication.

    Create this json file:

    {
        "details": {
            "fields": [
                {
                    "value": "fredrogers",
                    "name": "username",
                    "type": "T",
                    "designation": "username"
                }
            ]
        }
    }
    

    and upload it with op create item login $(cat item.json | op encode) --title=makebelieve1. Contrast that with this file:

    {
            "fields": [
                {
                    "value": "fredrogers",
                    "name": "username",
                    "type": "T",
                    "designation": "username"
                }
            ]
    }
    

    The latter file works on every platform I tested (Mac app, Android app, 1Password X, 1Password.com); the former doesn't. I don't know how I ended up with login items of this structure.

    The curly brace observation did turn out to be spurious, although the correlation is surprisingly high in my vault!

    One odd thing, though, is that my preexisting items of the former structure work on 1Password X, but a newly-created item doesn't work on 1Password X. I tried taking the JSON of a misbehaving item, removed the UUID, and uploaded that as a login item; it got complete mangled (nested "details" in "details") and didn't work on 1Password X.

  • nils_enevoldsen
    nils_enevoldsen
    Community Member

    Phew, I finally got a replication.

    {
            "fields": [
                {
                    "value": "fredrogers",
                    "name": "username",
                    "type": "T",
                    "designation": "username"
                }
            ]
    }
    

    Upload that with op create item password. Fails on Mac desktop, 1Password.com, and Android. Works on 1Password X.

  • I can only assume that these broken items were created using op . You're using the data structure for a login (detail.fields) for what's marked as a password ("categoryUUID": "005").

    A password item's password is not stored in details.fields, but in details.password.

    The apps likely don't know how to handle the malformed data.

    Rick

  • nils_enevoldsen
    nils_enevoldsen
    Community Member

    No, I've never used op before yesterday, or otherwise fiddled with 1Password internals.

    Here's an example of one where the last-modified date precedes the public announcement of 1Password CLI.

    {"sectionName":"O","details":{"URLs":[{"url":"https:\/\/osf.io"}],"fields":[{"value":"REDACTED","name":"password","type":"P","designation":"password"},{"value":"REDACTED","name":"username","type":"T","designation":"username"}],"passwordHistory":[{"value":"REDACTED","time":1488596493}]},"uuid":"dawkxm37mynp5fsxewbczpk5ca","updatedAt":1489186242,"createdAt":1462992703,"categoryUUID":"005","overview":{"title":"Open Science Framework","url":"https:\/\/osf.io","ainfo":"May 11, 2016 at 2:51:43 PM","ps":0},"URLs":[{"overview":{"label":"","url":"https:\/\/osf.io"}}]}
    

    It is possible that it's related to this bug that I've experienced? https://discussions.agilebits.com/discussion/40090/sync-bug-in-1pw-android-with-passwords-converted-to-logins-known-issue

  • I think you might be on to something there @nils_enevoldsen. I'll have someone from our android team take a look at this.

    Rick

  • nils_enevoldsen
    nils_enevoldsen
    Community Member

    Great. Clearly this turned out not to be a 1Password for Mac Beta bug, so feel free to move this to a more appropriate forum if you want. Thanks, @rickfillion!

  • @nils_enevoldsen : once we figure out where the problem lies we'll move this issue to the correct category. :)

    Can you tell us if this item was one you created in your 1Password account on Android, or was it one that you copied from an existing vault into your 1Password account on Android. I see that it was initially brought into the account from Android and that no further edits were done to it, but that still leaves the question of whether there's any item history for this item before it appeared on 1Password.com.

    Rick

  • nils_enevoldsen
    nils_enevoldsen
    Community Member

    I'm not sure whether I created the item on Android or Mac. I didn't have a 1PW account at the time, so it definitely predated that. I can't recall if I had the ability to create new passwords on Android at the time. Does this chronology help at all?

    May 2015 - Bought 1PW for Mac (v5; used Dropbox syncing)
    Feb 2016 - Bought 1PW for Android (Premium Features)
    Jan 2018 - Subscribed to 1PW

  • nils_enevoldsen
    nils_enevoldsen
    Community Member

    Oh, would there be any useful information in my old standalone vault on Dropbox, before I migrated to a subscription?

  • Sadly, the vault on dropbox won't have much for info for us.

    I suspect that you're right with the issue that you linked to though. Where it was an item that was originally created as a Password, then converted to a Login item using 1Password for Mac, then that item was copied from the dropbox vault to 1Password.com via 1Password for Android.

    I'll see if I can get someone on our side to try to reproduce that scenario.

    Rick

  • Kate has been kind enough to run some tests for me, and so far we've not been able to reproduce this problem. Here are the two scenarios we've run through:

    Simple Password Item

    1. Using the Android app, created a Password item in a dropbox synced vault
    2. Using the Android app, copy the item to the 1Password.com vault
    3. Using the Mac app, verified that the item was specified as a Password item and had the structure of a Password item

    More Complex Password to Login Dance

    1. Create Password item in 1Password for Mac in the Primary vault
    2. Ensure it syncs to Android
    3. Convert Password item on Mac to a Login item
    4. Change the title of the item on Mac
    5. Ensure that this syncs to Android (by looking for the different title)
    6. Using Android, copy the item to 1Password.com
    7. Make sure that syncs to Mac
    8. With the Mac app, verified that the item was specified as a Login item and had the structure of a Login item

    This would imply that 1Password for Android is handling the change from Password to Login at least mostly correctly, and we aren't being left with an item that's marked as one type but has the structure of another type.

    I know it's hard to think back about how an item could have been edited in the past, but I'm struggling to think of more scenarios that are worth looking into here.

    Rick

  • Our Android lead Michael managed to figure out how to reproduce this. Looks like the steps were effectively my "More Complex Password to Login Dance" steps, except that 1Password for Mac and Android had to be setup to sync via Dropbox and AgileKeychain as opposed to OPVault.

    I'll move this thread over to the Android category.

    Rick

  • @nils_enevoldsen having reproduced the issue on my end, I'm confident that we have enough information to be able to get it fixed. While we're working on the fix though, I'm sure that you'll want to be able to correct the affected items. Since the clients are confused by the fact that the category doesn't match the expected item format, I think the best course of action will be to recreate those items.

    Unfortunately, this is a bit of a manual process, so hopefully it doesn't involve too many items. From the details that you've provided so far though, it sounds like you should be able to use 1Password X to copy the fields from the existing item into a new item in 1Password for Mac. Please let me know if you have any questions!

  • nils_enevoldsen
    nils_enevoldsen
    Community Member

    @rickfillion @mverde Wow. Your dedication is impressive. Yes, it's tricky for me to think back about how this happened. I think can check tonight whether I was using AgileKeychain or OPVault as of January 6, 2018, when I apparently generated the CardKingdom item above.

    Michael, if this issue is restricted to "password" items, then I can conclusively say that I have only three instances of this issue, so it's very easy for me to fix them manually. This issue doesn't affect me that much personally; I just want to see the bugs ironed out for the benefit of the 1Password userbase. :smile:

  • No one wants to leave bugs to fester. I'm sure it'd have taken us a much longer time to figure it out had you not pointed us to that other forum thread. That was a big part of the puzzle. We previously thought that that bug was very limited in what it could affect, but it seems that it's larger than we thought. I look forward to seeing it gone.

    Rick

  • @nils_enevoldsen I'm happy to hear that this only affects a few items for you. From what I've turned up in my testing, this is specifically related to a bug in how 1Password for Android handles the conversion of a Password item to a Login item. Essentially, it's not letting go of the past and accepting that the item is now a Login. I want 1Password for Android to be a forward-thinking app, so I'm definitely eager to get this one corrected ;)

  • nils_enevoldsen
    nils_enevoldsen
    Community Member

    I can confirm that I was using an .agilekeychain vault when these items were created.

  • AGAlumB
    AGAlumB
    1Password Alumni

    Thanks! We'll get this fixed. :)

This discussion has been closed.