Skip to content

Commit 15f22f6

Browse files
committed
client: clear delayed message requests on disconnect
1 parent 4d6caab commit 15f22f6

File tree

2 files changed

+9
-0
lines changed

2 files changed

+9
-0
lines changed

client.go

+1
Original file line numberDiff line numberDiff line change
@@ -549,6 +549,7 @@ func (cli *Client) Disconnect() {
549549
cli.socketLock.Lock()
550550
cli.unlockedDisconnect()
551551
cli.socketLock.Unlock()
552+
cli.clearDelayedMessageRequests()
552553
}
553554

554555
// Disconnect closes the websocket connection.

retry.go

+8
Original file line numberDiff line numberDiff line change
@@ -354,6 +354,14 @@ func (cli *Client) delayedRequestMessageFromPhone(info *types.MessageInfo) {
354354
}
355355
}
356356

357+
func (cli *Client) clearDelayedMessageRequests() {
358+
cli.pendingPhoneRerequestsLock.Lock()
359+
defer cli.pendingPhoneRerequestsLock.Unlock()
360+
for _, cancel := range cli.pendingPhoneRerequests {
361+
cancel()
362+
}
363+
}
364+
357365
// sendRetryReceipt sends a retry receipt for an incoming message.
358366
func (cli *Client) sendRetryReceipt(node *waBinary.Node, info *types.MessageInfo, forceIncludeIdentity bool) {
359367
id, _ := node.Attrs["id"].(string)

0 commit comments

Comments
 (0)