summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
b4aa5e1)
Add check for if _caps and _capsEnabled contain any capabilities. If
not, return from the clearCaps call without issuing a network SYNC.
Fixes needless clearCaps calls when reconnecting to a network that's
failing to connect.
This may cause inconsistency if clients miss some sync calls.. but
Quassel protocol currently depends on all sync calls being propogated
anyways.
void Network::clearCaps()
{
// IRCv3 specs all use lowercase capability names
void Network::clearCaps()
{
// IRCv3 specs all use lowercase capability names
+ if (_caps.empty() && _capsEnabled.empty()) {
+ // Avoid the sync call if there's nothing to clear (e.g. failed reconnects)
+ return;
+ }
// To ease core-side configuration, loop through the list and emit capRemoved for each entry.
// If performance issues arise, this can be converted to a more-efficient setup without breaking
// protocol (in theory).
// To ease core-side configuration, loop through the list and emit capRemoved for each entry.
// If performance issues arise, this can be converted to a more-efficient setup without breaking
// protocol (in theory).