14:02:05 <sayan> #startmeeting hubs-devel
14:02:05 <zodbot> Meeting started Wed Feb  8 14:02:05 2017 UTC.  The chair is sayan. Information about MeetBot at http://wiki.debian.org/MeetBot.
14:02:05 <zodbot> Useful Commands: #action #agreed #halp #info #idea #link #topic.
14:02:05 <zodbot> The meeting name has been set to 'hubs-devel'
14:02:18 <sayan> #topic Roll Call
14:02:22 <sayan> .hello sayanchowdhury
14:02:23 <zodbot> sayan: sayanchowdhury 'Sayan Chowdhury' <sayan.chowdhury2012@gmail.com>
14:02:44 <sayan> jcline: rtnpro: fhackdroid: abompard: mizmo: meeting time
14:02:51 <mizmo> hey are we meeting now? sayan?
14:02:57 <sayan> 1400 UTC
14:03:12 <sayan> mizmo: ^^
14:03:26 <abompard> yeah, that's now, right ?
14:03:32 <sayan> yep
14:04:44 <sayan> should we continue?
14:05:58 <rtnpro> I am here
14:06:02 <sayan> abompard: jcline ^^
14:06:14 <fm-hubs> pagure.pull-request.new -- abompard opened pull-request#319: "Replace the deprecated 'fedora' OIDC scope" on project "fedora-hubs" https://pagure.io/fedora-hubs/pull-request/319
14:06:35 <abompard> .hello abompard
14:06:36 <zodbot> abompard: abompard 'Aurelien Bompard' <aurelien@bompard.org>
14:06:51 <sayan> #chair abompard rtnpro
14:06:51 <zodbot> Current chairs: abompard rtnpro sayan
14:06:58 <abompard> sorry I was fixing puiterwijk's issue with the OIDC scopes.
14:07:00 <mizmo> sorry my client is laggy apparently
14:07:32 * sayan waits for mizmo
14:08:00 <mizmo> .hello duffy
14:08:02 <zodbot> mizmo: duffy 'Máirín Duffy' <fedora@linuxgrrl.com>
14:08:12 <mizmo__> i typed that 2-3 minutes ago
14:08:18 <sayan> #chair mizmo
14:08:18 <zodbot> Current chairs: abompard mizmo rtnpro sayan
14:08:44 <sayan> #topic https://pagure.io/fedora-hubs/issue/290
14:08:54 <sayan> As a user, I want to turn the IRC integration on or off
14:09:19 <sayan> So the functionality would be here that the user would see the IRC widget in the disabled state
14:10:03 <rtnpro> from ircb's side, we need to set the of the user's network entry to disabled
14:10:04 <sayan> but then when the users turns on he should be seeing a modal
14:10:08 <rtnpro> and we'll be done
14:10:35 <mizmo__> rtnpro, what if the user hasn't actually used irc ever before (so theres no config for them yet?)
14:11:03 <sayan> yes, in that case the user profile will be created in ircb first
14:11:27 <sayan> let's discuss the different scenarios one by one
14:12:23 <sayan> the two cases are 1. user already has IRC nick 2. user does not have IRC nick
14:12:59 <mizmo__> well i wouldn't say has irc nick / doesn't have irc nick. i would say, has configured ircb, hasn't configured ircb
14:13:35 <sayan> mizmo__: right
14:14:18 <mizmo__> (you could have a nick and just never have run ircb)
14:14:25 <jcline> .hello jcline
14:14:26 <zodbot> jcline: jcline 'Jeremy Cline' <jeremy@jcline.org>
14:14:29 <jcline> (sorry I'm late)
14:14:36 <sayan> mizmo__: so if the user has not configured ircb he would be seeing which mockup?
14:14:45 <sayan> jcline: no issues
14:15:15 <mizmo__> if the user visits a hub with an irc widget, the user will see this:
14:15:16 <mizmo__> https://pagure.io/fedora-hubs/issue/raw/files/21560aaa4f66e397249bcfadb220822eb3b42867eabd32403933918eefb065b9-irc-empty-state.png
14:15:27 <sayan> #chair jcline
14:15:27 <zodbot> Current chairs: abompard jcline mizmo rtnpro sayan
14:15:28 <mizmo__> if the user visits the settings area, chat tab, the user will see this (one moment):
14:15:50 <mizmo__> https://pagure.io/fedora-hubs/issue/raw/files/33b5782afaa918a8e0bf40d10d27c01669d02caa25818776bf946986dbf9fcce-user-settings-irc-channels_off.png
14:16:03 <mizmo__> (except the bg should be white, sorry, it doesnt look like that on pagure)
14:16:48 <sayan> mizmo__: yes, now what happens when user clicks on enable hubs chat/ or turns on enable chat?
14:17:23 <mizmo__> if the user turns on enable hubs chat or enable chat, in either location, the IRC setup wizard appears as a modal on top
14:17:33 <mizmo__> this can happen from either the setting panel OR the hub with the IRC widget
14:17:53 <sayan> mizmo__: will this be the one? https://pagure.io/fedora-hubs/issue/raw/files/fa033b80a94dc41c322b3a5c5ffa2b4933cabde471a14eeab7b126ebc9f752a8-irc-email-password.png
14:18:02 <mizmo__> that is here (the mockups are out of order though,bc i can't update images in pagure comments) https://pagure.io/fedora-hubs/issue/283
14:18:12 <mizmo__> sayan, no, that's not the first screen
14:18:41 <sayan> mizmo__: right the nick suggestion one
14:18:43 <mizmo__> this is the first screen:
14:18:44 <mizmo__> https://pagure.io/fedora-hubs/issue/raw/files/84a3001e2fb94a4be30c8520d56933924b09dd25c2501ccb08043cc1a631aeb8-irc-alt-nick-selection-1.png
14:19:08 <sayan> mizmo__: I was looking for that but got lost
14:19:11 <mizmo__> once they successfully choose an available nick, then we do email
14:20:05 <sayan> I am starting a etherpad to discuss the code and list of sub tasks in each mockup
14:20:15 <sayan> #link https://etherpad.gnome.org/p/fedora-hubs-irc-widget
14:20:29 <mizmo__> after email, we do verification (the mockup for that changed)
14:20:35 <mizmo__> then they are set
14:20:42 <mizmo__> but there's some weird stuff too
14:21:02 <mizmo__> eg if they cancel out of verification, they have the nickname for 24 horus and then freenode expires it. so we should nag them to confirm their email again
14:21:16 <mizmo__> or we'll have to turn irc off for them and make them go thru the flow again
14:21:31 <sayan> mizmo__: yes
14:21:46 <mizmo__> i have mockups and writeups for all of that
14:21:58 <mizmo__> (in the middle of a blog post about it too :) )
14:24:27 <sayan> jcline: abompard: rtnpro: mizmo__ do check the etherpad I will write the sub tasks there
14:24:33 <sayan> after discussing it here
14:25:09 <mizmo__> so where do you want to start
14:25:11 <sayan> so for the first part we would be needing a database field irc_enabled, irc_configured
14:25:41 <sayan> mizmo__: we discuss every start and write it down and divide to work among ourselves
14:26:15 <jcline> What would the irc_configured field track?
14:27:11 <sayan> jcline: if the irc widget was configured before or not
14:28:13 <sayan> If the irc_configured is False then we take the user through the wizard
14:28:47 <jcline> Hmm. Can we figure that out from ircb and whether or not we know their irc nick?
14:29:33 <sayan> But then we are sending a request to ircb to just determine if the irc nick is configured
14:30:40 <mizmo__> jcline, we know the IRC nick if they filled out in FAS, it's been a FAS field well before ircb so i dont think we can key just based on if the irc nick field is populated
14:31:13 <sayan> mizmo__: yes, just was going to write the same thing
14:31:38 <sayan> this would be more of hubs centric
14:32:53 <sayan> so if the user is not configured, then the users will be hit this modal
14:32:57 <sayan> https://pagure.io/fedora-hubs/issue/raw/files/84a3001e2fb94a4be30c8520d56933924b09dd25c2501ccb08043cc1a631aeb8-irc-alt-nick-selection-1.png
14:33:46 <mizmo__> yep!
14:33:57 <sayan> so here we can have a common method to check the availabilty of the nick
14:35:12 <sayan> mizmo__: what would suggest nickname open?
14:35:24 <sayan> list of suggested nicks?
14:35:48 <mizmo__> sayan, im not sure what you're asking - how to check if a nickname is available or not?
14:35:56 <mizmo__> or the heuristics for coming up with nick suggestions?
14:36:23 <sayan> mizmo__: I am asking when the user clicks on Suggest Nickname what would be the next behaviour?
14:37:21 <mizmo__> sayan, ok. if you click on suggest nickname, then a suggested nickname populates the field
14:37:31 <mizmo__> sayan, it clears anything that was in the field before inserting the suggestion
14:37:49 <mizmo__> sayan, the suggestions are made based on the user's FAS name, firstname, lastname, and can be continued by adding numbers on the end if needed
14:38:00 <sayan> mizmo__: cool
14:38:11 <sayan> I'll just note it
14:39:42 <mizmo__> sayan, just as a heads up, these details are all in the ticket too
14:39:54 <jcline> Yeah.
14:40:02 <mizmo__> (no issues bringing them up here, but don't worry about having the document them since they're already written out)
14:40:33 <jcline> So I guess a lot of my uncertainty about this feature stems from not knowing what ircb can and cannot do, what it's APIs look like, etc.
14:40:57 <jcline> It's hard to guess what you'll need to integrate with a service
14:41:07 <sayan> jcline: these features won't communicate with ircb
14:41:43 <sayan> jcline: after the complete wizard setup the hubs communicates with ircb to create the user
14:42:10 <sayan> mizmo__: what if the user is already has a nick registered?
14:42:27 <mizmo__> sayan, oh crap lol that's a good point
14:42:43 <jcline> But we still need to be checking username availability on IRC during this process
14:42:47 <mizmo__> sayan, we probably need a button somewhere so they can skip past the choosing point and just configure their pre-existing identity here
14:42:48 <sayan> mizmo__: so that's something we pick from FAS and skip the user from this step?
14:42:57 <mizmo__> sayan, oh yeah
14:43:05 <mizmo__> sayan, if it's in FAS, we basically have to ask them for their nickserv pass
14:43:40 <sayan> jcline: username availability on IRC?
14:44:01 <jcline> We need to handle when Hubs thinks a user is configured and ircb doesn't know about that user
14:44:28 <sayan> jcline: I don't think that's a scenario we will hit
14:44:48 <jcline> We need to auth with ircb, right? so will we have a password or something for the user that's separate from the nick registration password?
14:44:50 <sayan> jcline: every user has to pass through the wizard once
14:45:43 <sayan> jcline: yes, that would be in the end
14:46:28 <mizmo__> #action mizmo needs to mockup for users who have nickserv reg before using hubs who need to provide their nickserv pass
14:46:48 <sayan> jcline: and we are planning to communicate via an app
14:47:24 <jcline> Via an app?
14:48:31 <sayan> jcline: generate app which will create access token and hubs communicate to ircb via that
14:49:03 <sayan> jcline: also a simple solution would be generating a random password and emailing to the user and tell the user to reset it
14:49:22 <jcline> I'm not sure I'm following
14:51:37 <sayan> jcline: basically we will ircb will connect to hubs via a access token
14:51:52 <sayan> third party application
14:52:04 <sayan> but this thing happens at the end of the nickname registration
14:52:30 <sayan> and everything happens properly
14:52:51 <jcline> ircb connects to hubs? Or do you mean hubs connects to ircb?
14:54:33 <jcline> In any case, I'm fine making database fields
14:54:37 <sayan> jcline: sorry hubs connects to ircb via access token
14:58:44 <sayan> mizmo__: It's possible right that the nick that hubs suggest is not valid?
14:59:09 <jcline> So I have a meeting in 2 minutes to run to
14:59:24 <sayan> jcline: same here
14:59:26 <sayan> jcline: thanks
14:59:27 <mizmo__> sayan, yes it's possible, but it's not possible the user will try to register an invalid nick
14:59:29 <mizmo__> sayan, well
14:59:36 <mizmo__> sayan, not valid/invalid. available/unavailable
14:59:52 <mizmo__> sayan, we can easily police it to we only suggest valid ones, but we don't know if they are available until the user hits the button to check
15:00:00 <mizmo__> sayan, but the UI will block them from proceeding with an unavailable nick
15:00:05 <sayan> mizmo__: got it
15:00:36 <sayan> mizmo__: invalid = unavailable  :)
15:00:44 <sayan> that's what I meant
15:00:56 <mizmo__> sayan, for invalid i was thinking allowed characters, length, etc. (which i did research and note in the UI ticket)
15:01:05 <mizmo__> just wanted to make sure it was clear in the minutes
15:01:12 <sayan> yeah
15:01:20 <sayan> I ending the meeting I need to run
15:01:43 <sayan> #endmeeting