mirror of
https://github.com/Mezeporta/Erupe.git
synced 2026-03-22 07:32:32 +01:00
fix(channelserver): add fail ACKs to silent error paths to prevent client softlocks
Handlers that log errors and return without sending a MsgSysAck leave the client waiting indefinitely. Add doAckSimpleFail/doAckBufFail to 14 error paths across 4 files, matching the pattern already used in ~70 other error paths across the codebase. Affected handlers: - handleMsgMhfGetCafeDuration (1 path) - handleMsgMhfSavedata (1 path) - handleMsgMhfArrangeGuildMember (3 paths) - handleMsgMhfEnumerateGuildMember (5 paths) - handleMsgSysLogin (4 paths) - handleMsgSysIssueLogkey (1 path)
This commit is contained in:
@@ -22,6 +22,7 @@ func handleMsgMhfSavedata(s *Session, p mhfpacket.MHFPacket) {
|
||||
characterSaveData, err := GetCharacterSaveData(s, s.charID)
|
||||
if err != nil {
|
||||
s.logger.Error("failed to retrieve character save data from db", zap.Error(err), zap.Uint32("charID", s.charID))
|
||||
doAckSimpleFail(s, pkt.AckHandle, make([]byte, 4))
|
||||
return
|
||||
}
|
||||
// Var to hold the decompressed savedata for updating the launcher response fields.
|
||||
|
||||
Reference in New Issue
Block a user