{"action":"created","issue":{"url":"https://api.github.com/repos/codaco/Network-Canvas/issues/488","repository_url":"https://api.github.com/repos/codaco/Network-Canvas","labels_url":"https://api.github.com/repos/codaco/Network-Canvas/issues/488/labels{/name}","comments_url":"https://api.github.com/repos/codaco/Network-Canvas/issues/488/comments","events_url":"https://api.github.com/repos/codaco/Network-Canvas/issues/488/events","html_url":"https://github.com/codaco/Network-Canvas/pull/488","id":320322301,"number":488,"title":"WIP: Pairing","user":{"login":"bryfox","id":39674,"avatar_url":"https://avatars2.githubusercontent.com/u/39674?v=4","gravatar_id":"","url":"https://api.github.com/users/bryfox","html_url":"https://github.com/bryfox","followers_url":"https://api.github.com/users/bryfox/followers","following_url":"https://api.github.com/users/bryfox/following{/other_user}","gists_url":"https://api.github.com/users/bryfox/gists{/gist_id}","starred_url":"https://api.github.com/users/bryfox/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bryfox/subscriptions","organizations_url":"https://api.github.com/users/bryfox/orgs","repos_url":"https://api.github.com/users/bryfox/repos","events_url":"https://api.github.com/users/bryfox/events{/privacy}","received_events_url":"https://api.github.com/users/bryfox/received_events","type":"User","site_admin":false},"labels":[{"id":663479993,"url":"https://api.github.com/repos/codaco/Network-Canvas/labels/in%20progress","name":"in progress","color":"ededed","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2018-05-04T15:37:12Z","updated_at":"2018-05-08T13:47:57Z","closed_at":null,"author_association":"COLLABORATOR","pull_request":{"url":"https://api.github.com/repos/codaco/Network-Canvas/pulls/488","html_url":"https://github.com/codaco/Network-Canvas/pull/488","diff_url":"https://github.com/codaco/Network-Canvas/pull/488.diff","patch_url":"https://github.com/codaco/Network-Canvas/pull/488.patch"},"body":"This begins the pairing work on the client side. Opening an initial PR for feedback & questions; do not merge.\r\n\r\nQuick recap of testing setup:\r\n- Check out the [feature/encrypted-pairing](https://github.com/codaco/Server/tree/feature/encrypted-pairing) on Server\r\n- Start Server UI *on port 3000* (required for now): `npm start:electron`; then `npm electron:dev`\r\n- Start Client: `npm start:electron`; then `npm electron:dev`\r\n\r\nSummary of changes here:\r\n- Move the discovery process behind an \"add\" button on the setup screen\r\n- Implements the pairing endpoints described at https://github.com/codaco/Server/issues/41\r\n- Adds protocol list & download from server (unencrypted)\r\n\r\n<img width=\"1112\" alt=\"enter-code\" src=\"https://user-images.githubusercontent.com/39674/39636819-50ee6470-4f8f-11e8-8491-3a5e8662064b.png\">\r\n\r\n<img width=\"1095\" alt=\"list\" src=\"https://user-images.githubusercontent.com/39674/39636824-54bb2b56-4f8f-11e8-8877-809d93e24019.png\">\r\n"},"comment":{"url":"https://api.github.com/repos/codaco/Network-Canvas/issues/comments/387408088","html_url":"https://github.com/codaco/Network-Canvas/pull/488#issuecomment-387408088","issue_url":"https://api.github.com/repos/codaco/Network-Canvas/issues/488","id":387408088,"user":{"login":"jthrilly","id":1387940,"avatar_url":"https://avatars0.githubusercontent.com/u/1387940?v=4","gravatar_id":"","url":"https://api.github.com/users/jthrilly","html_url":"https://github.com/jthrilly","followers_url":"https://api.github.com/users/jthrilly/followers","following_url":"https://api.github.com/users/jthrilly/following{/other_user}","gists_url":"https://api.github.com/users/jthrilly/gists{/gist_id}","starred_url":"https://api.github.com/users/jthrilly/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jthrilly/subscriptions","organizations_url":"https://api.github.com/users/jthrilly/orgs","repos_url":"https://api.github.com/users/jthrilly/repos","events_url":"https://api.github.com/users/jthrilly/events{/privacy}","received_events_url":"https://api.github.com/users/jthrilly/received_events","type":"User","site_admin":false},"created_at":"2018-05-08T13:47:57Z","updated_at":"2018-05-08T13:47:57Z","author_association":"OWNER","body":"> Currently, there is a minor problem here, as 'name' (from MDNS) is treated as unique on the client side, and easily spoofable. ('name' is currently the placeholder 'network-canvas'; that's an outstanding TODO. Based on the mockups, 'name' will be an IP address, though hostname would work.) This should disambiguate based on advertised IP as well. \r\n\r\nI think I had actually intended for the card to show the hostname, with IP address also visible but much smaller/less emphasized. \r\n\r\nMultiple instances of Server on the same machine (and therefore IP address) is not something we want to support.\r\n\r\n> It gets a little tricky since a server can advertise multiple addresses. Could restrict to IPv4 to make this easier. This has been on my internal TODO list, but I'll file an issue.\r\n\r\nI'd rather not restrict to IPv4 if we can help it. I know it is basically a pipe-dream, but IPv6 has the potential to help a lot with network issues in corporate settings.\r\n\r\nThe way I understand this works is that you get a service announcement message for each independent route to the host. This could be across IP versions, or even because of different NICs and subnets that are routable between one another. What I imagined is that we would aggregate all these options in the serverList component, but only actually use the first one (for the time being)."}}
{"actor":{"display_login":"jthrilly"}}