{"action":"opened","issue":{"url":"https://api.github.com/repos/twstrike/coyim/issues/218","labels_url":"https://api.github.com/repos/twstrike/coyim/issues/218/labels{/name}","comments_url":"https://api.github.com/repos/twstrike/coyim/issues/218/comments","events_url":"https://api.github.com/repos/twstrike/coyim/issues/218/events","html_url":"https://github.com/twstrike/coyim/issues/218","id":128948931,"number":218,"title":"Registration of Accounts broken/Some UX Issues/Ideas","user":{"login":"0x27","id":9094330,"avatar_url":"https://avatars.githubusercontent.com/u/9094330?v=3","gravatar_id":"","url":"https://api.github.com/users/0x27","html_url":"https://github.com/0x27","followers_url":"https://api.github.com/users/0x27/followers","following_url":"https://api.github.com/users/0x27/following{/other_user}","gists_url":"https://api.github.com/users/0x27/gists{/gist_id}","starred_url":"https://api.github.com/users/0x27/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/0x27/subscriptions","organizations_url":"https://api.github.com/users/0x27/orgs","repos_url":"https://api.github.com/users/0x27/repos","events_url":"https://api.github.com/users/0x27/events{/privacy}","received_events_url":"https://api.github.com/users/0x27/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2016-01-26T21:30:58Z","updated_at":"2016-01-26T21:30:58Z","closed_at":null,"body":"Let me know if this needs breaking out a bit.\r\n\r\nWhile testing the client on a Debian Jessie host (i386, old netbook) I noticed a few issues that made the client un-useable from a \"first run\" perspective of someone without a pre-existing XMPP account. \r\nAnnoyingly, I cannot get screenshots off the device I was testing it on at the moment due to stupid reasons, but I can get some if it helps reproduce in a couple of days. I am typing out the last lines of the debug from one device to another, hence the lack of backtrace... \r\n\r\nThe scenario here is someone who has just installed the client, and is trying to get themselves set up with an account using Tor. For Tor, the user is running the Tor Browser Bundle.\r\n\r\nSteps to reproduce (first route).  \r\n1. Run the Tor Browser Bundle, to launch a Tor instance locally. Wait for it all to connect, confirm Tor is connecting through the Tor browser and https://check.torproject.org/\r\n2. Run the `coyim` executable (launches the GTK client).\r\n3. Create a master password on launch as asked by the client.\r\n4. coyim asks for account details now. Because we don't have an account, click cancel.\r\n5. Click on \"Accounts -> Register...\" in the GUI.\r\n6. A small window will appear titled \"Choose a server for your account\", the dropdown box will be blank initially, but on clicking, you can select a server. Pick any server, it doesn't matter. Click apply.\r\n7. Nothing happens. No further menus load to proceed with account creation. It simply sits there. User gives up and goes home ;)\r\n\r\nThe last line here in the debug log is `/gui/ui_reader.go:25: gui: loading compiled definition \"AccountRegistration\"`, and nothing else happens after \"Apply\" is clicked on the server selection menu. You can retry this repeatedly, the client does not crash.\r\n\r\nSteps to reproduce (second route).\r\n1. Run the Tor Browser Bundle, to launch a Tor instance locally. Wait for it all to connect, confirm Tor is connecting through the Tor browser and https://check.torproject.org/\r\n2. Run the `coyim` executable (launches the GTK client).\r\n3. Create a master password on launch as asked by the client\r\n4. coyim asks for account details now. We don't have an account, so we enter some fictitious details for a known to be working XMPP server in the hopes it makes an account for us. \"dukgo.com\" is suggested so we used that. We do not select \"Other Settings\", and hit \"Save\".\r\n5. The GUI notifies us the account was added successfully.\r\n6. We right click on the account and click \"Connect\".\r\n7. We get repeated authentication failures due to failing to enter the correct password for the account, as it was not registered. There should be a mechanism here for registering if the server tells us the account does not exist.\r\n\r\nSo, to wrap up. The in-band registration built in does not work yet, so the client cannot register an account itself. \r\n\r\nIt also was noted that without watching the debug log, there is nothing to say it is explicitly using Tor. While from examining the source, there is a \"not tor\" warning somewhere, there should be a \"Yes, I am using Tor for this\" UI alert to positively confirm for the user that the client is, in fact, using Tor.\r\n\r\nFor first-run, once the master-password is dealt with, it would be more user-friendly if the user was first presented with a dialogue with 4 buttons on it. \"Create Account\", \"Import Accounts\", \"Add Account\" and \"Cancel\".\r\n\"Create Account\" would launch the \"Accounts -> Register\" UI, \"Import Accounts\" would launch the \"Accounts -> Import\" UI (NOT tested yet), \"Add Account\" would launch the \"Accounts -> Add\" UI, and \"Cancel\" would skip this and drop to the client itself, where the user can do that themselves.\r\n\r\nWhile clicking around I did find another thing that caused it to crash, but it will take a bit of mucking about to reproduce this.\r\n\r\nUnrelated: any typos are due to the lightbulb in the room failing mid-typing...\r\n\r\nHost: Linux 3.16.0-4-686-pae #1 SMP Debian 3.16.7-ckt10-1-deb8u3\r\nCoyim Git Version: https://github.com/twstrike/coyim/commit/d44546231aec54ade904f091159a4229f40c6447"}}