keybase / keybase/keybase-issues
Missing edge to new gpg key -> empty graph in user profile, "error with hierarchical layout"
- Dominant language
- No language data
- Stars
- 899
- Forks
- 40
- PR merge metrics
- No merged PRs in 30d
Description
My graph was working up until recently, but now I just get an empty display with the following error message (In the Firefox dev tools console):
Link: https://keybase.io/m01/graph
> Error: To use the hierarchical layout, nodes require either no predefined levels or levels have to be defined for all nodes.
Here's a rough sequence of events:
1. I had just rotated my PGP key (add device (`pc1`), `keybase pgp select --multi`, remove old key using `keybase pgp drop ...`); I'm pretty sure my graph still worked after this.
2. I thought to sign my new key with my old PGP key and upload the updated public key of my new PGP key (with the extra signature from my old PGP key) to keybase, which I think is probably what broke the graph.
Notice that `node_01017fa626b4298b6774d14c137ac5899388581a068ff0e1d324b33b1d4a2e8e41120a`, my new gpg key, is missing from the `edges` list, but is present in the nodes list.
Have I somehow lost the signature from my device key?
I get the same result in Chromium.
My graph (`window.user_graph`):
```
{
"nodes": {
"node_01011403d8e3a9164a0c2fc74edb6d376006c4f3ec38722d2db6f335cfc85c8c97d70a": {
"type": "key",
"name": "PGP",
"key_fingerprint": "224aa38533c6a4c5d9732f4bd4c5457eb40d1d11",
"node_id": "node_01011403d8e3a9164a0c2fc74edb6d376006c4f3ec38722d2db6f335cfc85c8c97d70a",
"kid": "01011403d8e3a9164a0c2fc74edb6d376006c4f3ec38722d2db6f335cfc85c8c97d70a",
"device_type": null,
"key_type": 1,
"revoked": true,
"is_eldest": true
},
"node_0120792986fffe9f9045093107d7a6c1299b510c4697870ff3a184a4032225cf7cb20a": {
"type": "key",
"name": "pc1",
"key_fingerprint": "",
"node_id": "node_0120792986fffe9f9045093107d7a6c1299b510c4697870ff3a184a4032225cf7cb20a",
"kid": "0120792986fffe9f9045093107d7a6c1299b510c4697870ff3a184a4032225cf7cb20a",
"device_type": 1,
"key_type": 3,
"revoked": false,
"is_eldest": false
},
"node_01017fa626b4298b6774d14c137ac5899388581a068ff0e1d324b33b1d4a2e8e41120a": {
"type": "key",
"name": "PGP",
"key_fingerprint": "eea0718047804026e3d9ffa6ed2b3179e6f00a82",
"node_id": "node_01017fa626b4298b6774d14c137ac5899388581a068ff0e1d324b33b1d4a2e8e41120a",
"kid": "01017fa626b4298b6774d14c137ac5899388581a068ff0e1d324b33b1d4a2e8e41120a",
"device_type": null,
"key_type": 1,
"revoked": false,
"is_eldest": false
},
"node_16292af1ce1dfdb3644ca622eb6e11917925559b9d962dc2ed23e0e9f1101f720f": {
"type": "proof",
"name": "twitter",
"proof_data": {
"name": "twitter",
"username": "_m01"
}
},
"node_23aaf9a2a6767bc749855d36e4c0d198830bf3ddc684c72c150da04301e7b0b80f": {
"type": "proof",
"name": "github",
"proof_data": {
"name": "github",
"username": "m01"
}
},
"node_2382a618351630a2c412914896f537965d7af1aae4cbd74f93e1f91d78c06cbc0f": {
"type": "proof",
"proof_data": {
"domain": "m01.eu",
"protocol": "dns"
}
},
"node_keybase_username": {
"name": "keybase",
"type": "proof",
"proof_data": {
"name": "keybase",
"username": "m01"
}
}
},
"edges": [
[
"node_keybase_username",
"node_01011403d8e3a9164a0c2fc74edb6d376006c4f3ec38722d2db6f335cfc85c8c97d70a"
],
[
"node_01011403d8e3a9164a0c2fc74edb6d376006c4f3ec38722d2db6f335cfc85c8c97d70a",
"node_0120792986fffe9f9045093107d7a6c1299b510c4697870ff3a184a4032225cf7cb20a"
],
[
"node_01011403d8e3a9164a0c2fc74edb6d376006c4f3ec38722d2db6f335cfc85c8c97d70a",
"node_16292af1ce1dfdb3644ca622eb6e11917925559b9d962dc2ed23e0e9f1101f720f"
],
[
"node_01011403d8e3a9164a0c2fc74edb6d376006c4f3ec38722d2db6f335cfc85c8c97d70a",
"node_23aaf9a2a6767bc749855d36e4c0d198830bf3ddc684c72c150da04301e7b0b80f"
],
[
"node_01011403d8e3a9164a0c2fc74edb6d376006c4f3ec38722d2db6f335cfc85c8c97d70a",
"node_2382a618351630a2c412914896f537965d7af1aae4cbd74f93e1f91d78c06cbc0f"
]
]
}
```
Contributor guide
No contributing guide indexed for this repository
Research direction
Reproduce the empty graph at https://keybase.io/m01/graph and inspect the reported hierarchical-layout error together with window.user_graph. Compare the nodes and edges, especially the new GPG key that appears only in nodes. Done means the profile graph renders correctly after the described key rotation and upload sequence.
Written by the indexing model from the issue text.
Assessment
- Domain
- frontend, web-dev
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100