<style>
/* Changing the layout to use less space for mobiles */
@media screen and (max-device-width: 480px), screen and (-webkit-min-device-pixel-ratio: 2) {
    #email-body { min-width: 30em !important; }
    #email-page { padding: 8px !important; }
    #email-banner { padding: 8px 8px 0 8px !important; }
    #email-avatar { margin: 1px 8px 8px 0 !important; padding: 0 !important; }
    #email-fields { padding: 0 8px 8px 8px !important; }
    #email-gutter { width: 0 !important; }
}
</style>
<div id="email-body">
<table id="email-wrap" align="center" border="0" cellpadding="0" cellspacing="0" style="background-color:#f0f0f0;color:#000000;width:100%;">
    <tr valign="top">
        <td id="email-page" style="padding:16px !important;">
            <table align="center" border="0" cellpadding="0" cellspacing="0" style="background-color:#ffffff;border:1px solid #bbbbbb;color:#000000;width:100%;">
                <tr valign="top">
                    <td bgcolor="#3b4d64" style="background-color:#3b4d64;color:#ffffff;font-family:Arial,FreeSans,Helvetica,sans-serif;font-size:12px;line-height:1;"><img src="https://issues.jboss.org/s/en_USgbanv7-418945332/852/58/_/jira-logo-scaled.png" alt="" style="vertical-align:top;" /></td>
                </tr><tr valign="top">
    <td id="email-banner" style="padding:32px 32px 0 32px;">

                
        
        
            <table align="left" border="0" cellpadding="0" cellspacing="0" width="100%" style="width:100%;">
    <tr valign="top">
        <td style="color:#505050;font-family:Arial,FreeSans,Helvetica,sans-serif;padding:0;">
                                        <img id="email-avatar" src="https://community.jboss.org/people/beve/avatar/16.png" alt="" height="48" width="48" border="0" align="left" style="padding:0;margin: 0 16px 16px 0;" />
                        <div id="email-action" style="padding: 0 0 8px 0;font-size:12px;line-height:18px;">
                                    <a class="user-hover" rel="beve" id="email_beve" href="https://issues.jboss.org/secure/ViewProfile.jspa?name=beve" style="color:#326ca6;">Daniel Bevenius</a>
     commented on <img src="https://issues.jboss.org/images/icons/issuetypes/task.png" height="16" width="16" border="0" align="absmiddle" alt="Task"> <a style='color:#326ca6;text-decoration:none;' href='https://issues.jboss.org/browse/AGPUSH-235'>AGPUSH-235</a>
            </div>
                        <div id="email-summary" style="font-size:16px;line-height:20px;padding:2px 0 16px 0;">
                <a style='color:#326ca6;text-decoration:none;' href='https://issues.jboss.org/browse/AGPUSH-235'><strong>Investigate channel registration with Hello message exchange</strong></a>
            </div>
                    </td>
    </tr>
</table>
    </td>
</tr>
<tr valign="top">
    <td id="email-fields" style="padding:0 32px 32px 32px;">
        <table border="0" cellpadding="0" cellspacing="0" style="padding:0;text-align:left;width:100%;" width="100%">
            <tr valign="top">
                <td id="email-gutter" style="width:64px;white-space:nowrap;"></td>
                <td>
                    <table border="0" cellpadding="0" cellspacing="0" width="100%">
                        <tr valign="top">
    <td colspan="2" style="color:#000000;font-family:Arial,FreeSans,Helvetica,sans-serif;font-size:12px;padding:0 0 16px 0;width:100%;">
        <div class="comment-block" style="background-color:#edf5ff;border:1px solid #dddddd;color:#000000;padding:12px;"><p>In the current version of the Go server one can read the following line in the handleHello function:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="code-java"><span class="code-keyword">for</span> _, chid := range f[<span class="code-quote">"channelIDs"</span>].([]<span class="code-keyword">interface</span>{}) {
    channelID := chid.(string)
    <span class="code-keyword">if</span> filter.Find([]<span class="code-object">byte</span>(channelID)) != nil {
        verbose(fmt.Sprintf(<span class="code-quote">"Skipping invalid channel %s"</span>, chid))
        <span class="code-keyword">continue</span>
    }   

    <span class="code-keyword">if</span> gServerState.UAIDToChannelIDs[client.UAID] == nil {
        <span class="code-comment">//gServerState.UAIDToChannelIDs[client.UAID] = make(ChannelIDSet)
</span>        <span class="code-comment">// since we don't have any channelIDs, don't bother looping
</span>        <span class="code-comment">//any more
</span>        verbose(<span class="code-quote">"No channels found <span class="code-keyword">for</span> UAID, resetting..."</span>)
        resetClient = <span class="code-keyword">true</span>
        <span class="code-keyword">break</span>
    }
    ...   
</pre>
</div></div>
<p>Looking at the comment there it looks like the implementation has changed. So I looked back in the commit history I could find where the support for channelIDs was added, git show 7364cbe:server.go:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="code-java"><span class="code-keyword">if</span> (f[<span class="code-quote">"channelIDs"</span>] != nil) {
    <span class="code-keyword">for</span> _, foo := range f[<span class="code-quote">"channelIDs"</span>].([]<span class="code-keyword">interface</span> {}) {
        channelID := foo.(string)
        log.Println(<span class="code-quote">"Got CHID "</span>, channelID);
        c := &amp;Channel{client.UAID, channelID, ""};
        gUAIDToChannel[client.UAID] = append(gUAIDToChannel[client.UAID], c);
        gChannelIDToChannel[channelID] = c;
    }
}
</pre>
</div></div>
<p>If I'm reading this correctly this is going through all the elements in the 'channelIDs' field, creating a channel for each channelId, adding this new channel to that UserAgents channels. I'm sure I'm missing some details here as the above looks like it will add more and more channels even if they already exits, but we don't do that.</p></div>
        <div style="color:#505050;padding:4px 0 0 0;">                </div>
    </td>
</tr>
                    </table>
                </td>
            </tr>
        </table>
    </td>
</tr>













            </table>
        </td><!-- End #email-page -->
    </tr>
    <tr valign="top">
        <td style="color:#505050;font-family:Arial,FreeSans,Helvetica,sans-serif;font-size:10px;line-height:14px;padding: 0 16px 16px 16px;text-align:center;">
            This message is automatically generated by JIRA.<br />
            If you think it was sent incorrectly, please contact your JIRA administrators<br />
            For more information on JIRA, see: <a style='color:#326ca6;' href='http://www.atlassian.com/software/jira'>http://www.atlassian.com/software/jira</a>
        </td>
    </tr>
</table><!-- End #email-wrap -->
</div><!-- End #email-body -->