Learn more about these different git repos.
Other Git URLs
This issue is intended to provide an overview of the IRC integration feature of Fedora Hubs and to act as a tracker for the sub-tasks required to implement the described feature.
Fedora Hubs should integrate with IRC so that new contributors can interact with IRC and its many users without the hassle of setting up a client or dealing with an IRC bouncer. It is important that this integration is strictly opt-in and maps to the existing IRC workflow so long-time contributors don't feel that they must use Hubs or nothing.
As a Hubs user, I would like to be able to interact with IRC using the Fedora Hubs web interface. It should should offer similar features as an IRC client used in combination with an IRC bouncer. That is, it should be able to do the following:
Allow the user to send and receive messages on public irc channels that have been configured by the administrator of a hub.
Provide a limited channel scrollback (a chat history) so users can see what conversations occurred while they were away. This scrollback limit should be configurable for the Hubs server administrator.
It should support sending and receiving private messages
There are two types of users that will interact with the IRC features of Hubs. The first is the Hub administrator, who creates and configures the IRC widgets for a Hub. The second is a Hubs users, who uses the widgets the Hubs administrator set up.
As a Hubs administrator, I would like to be able to configure my Hub page to have zero or more IRC channels associated with it, and for these to be displayed in a useful way to the Hub users. This is a mock-up of what the Hub admin would see when editing an IRC widget:
<img alt="irc-channel-edit.png" src="/fedora-hubs/issue/raw/d4ffae6fedc3270ba5a5824fb7a689aec396162260ca82205ba22443a7a8832b-irc-channel-edit.png" />
#fedora-apps
<img alt="ircpm_5.png" src="/fedora-hubs/issue/raw/169892f224708c95900184ea81aa4c51d20bd1b63165e022e73041c85687b48a-ircpm_5.png" />
Here's the widget in edit mode (what the hubadmin sees when adding it to a hub)
<img alt="irc-channel-edit.png" src="/fedora-hubs/issue/raw/files/d4ffae6fedc3270ba5a5824fb7a689aec396162260ca82205ba22443a7a8832b-irc-channel-edit.png" />
More mockups needed for this widget:
a 'mentions' tab where you can view mentions of your nick in the channel since the last time you've been there. We'll show the last 10 mentions and no further back.
a notification that someone has mentioned you in-channel (if you are on the same hub you're mentioned in, it'll appear in the IRC widget, otherwise it'll be on the hub tab). the irc widget notification should be dismissed when the user focuses on the irc widget (eg clicking on the text box)
Mentions tab vs main channel tab <img alt="ircpm_5.png" src="/fedora-hubs/issue/raw/169892f224708c95900184ea81aa4c51d20bd1b63165e022e73041c85687b48a-ircpm_5.png" />
Mentions tab vs main channel tab <img alt="ircpm_5.png" src="/fedora-hubs/issue/raw/files/169892f224708c95900184ea81aa4c51d20bd1b63165e022e73041c85687b48a-ircpm_5.png" />
Mentions tab vs main channel tab Can dismiss mentions. Clicking 'go to mentions' will ideally go back to main tab and scroll back to relevant area of conversation.
Mentions tab vs main channel tab
Can dismiss mentions. Clicking 'go to mentions' will ideally go back to main tab and scroll back to relevant area of conversation.
This seems to be an interesting issue. I would like to work on this one. Could i have some pointers to get started? Can we use waartaa (www.waartaa.com) for this one? Its written in JS.
For anyone interested in working on sketching out the implementation of this, please talk to @rtnpro and @sayanchowdhury. They've been working on a new znc backend for waartaa that we'd like to use here called ircb.
Mention of Ircb makes my eyes glitter ;)
We are tracking the issues in the Waartaa Trello board https://trello.com/b/RetFEvn2/waartaa.
Some additional specification:
Note the narrative for this feature here - IRC is very integrated with Hubs. Some points:
By default, IRC is not enabled for a given user in hubs. Any IRC widgets on hubs will be greyed out and have a little promo to encourage the user to opt-in with a widget / button / switch for them to enable it. This should also have the caveat they should be logged out of any proxies / etc before they do it (otherwise we'll knock their proxy out.
FAS accounts have a field for storing IRC nick. They do not have a field for freenode credentials. We probably should have such a field?
Upon activation (which is from a single hub IRC widget), we will create an ircb user for them, log the user on to their given freenode nick in FAS, and have them join the channel corresponding to the hub they are on. If they would like to join additional channels, they'll need to enable them from each respective hub page's IRC widget.
If a user does not have a nick in FAS, we will prompt them to either provide their registered freenode nick (maybe don't accept unregistered nicks in the dialog?) and guide them through nick selection and registration. We need mockups for this.
Each IRC widget has a 1:1 mapping with an IRC channel. You cant switch channels from inside the widget. The hubs admin determines, when adding the IRC widget to their hub, what channel the widget is going to display. If a hub wants more than one channel displayed (likely a very rare case) they will need one widget channel.
Metadata Update from @sayanchowdhury: - Issue untagged with: milestone - Issue set to the milestone: Flock 2017
Metadata Update from @decause: - Issue unmarked as blocking: #290 - Issue unmarked as blocking: #291 - Issue unmarked as blocking: #292 - Issue unmarked as blocking: #293 - Issue marked as blocking: #27 - Issue marked as blocking: #290 - Issue marked as blocking: #291 - Issue marked as blocking: #292 - Issue marked as blocking: #293 - Issue marked as blocking: #32 - Issue marked as blocking: #52 - Issue marked as depending on: #331
Metadata Update from @ryanlerch: - Issue set to the milestone: None (was: Flock 2017)
Login to comment on this ticket.