|
@@ -1297,10 +1297,10 @@ func (client *Client) destroy(session *Session) {
|
1297
|
1297
|
}
|
1298
|
1298
|
|
1299
|
1299
|
var quitItem history.Item
|
1300
|
|
- var channels []*Channel
|
|
1300
|
+ var quitHistoryChannels []*Channel
|
1301
|
1301
|
// use a defer here to avoid writing to mysql while holding the destroy semaphore:
|
1302
|
1302
|
defer func() {
|
1303
|
|
- for _, channel := range channels {
|
|
1303
|
+ for _, channel := range quitHistoryChannels {
|
1304
|
1304
|
channel.AddHistoryItem(quitItem, details.account)
|
1305
|
1305
|
}
|
1306
|
1306
|
}()
|
|
@@ -1322,8 +1322,11 @@ func (client *Client) destroy(session *Session) {
|
1322
|
1322
|
// clean up channels
|
1323
|
1323
|
// (note that if this is a reattach, client has no channels and therefore no friends)
|
1324
|
1324
|
friends := make(ClientSet)
|
1325
|
|
- channels = client.Channels()
|
|
1325
|
+ channels := client.Channels()
|
1326
|
1326
|
for _, channel := range channels {
|
|
1327
|
+ if channel.memberIsVisible(client) {
|
|
1328
|
+ quitHistoryChannels = append(quitHistoryChannels, channel)
|
|
1329
|
+ }
|
1327
|
1330
|
for _, member := range channel.auditoriumFriends(client) {
|
1328
|
1331
|
friends.Add(member)
|
1329
|
1332
|
}
|