Class: MessageRetryManager
Defined in: src/Utils/message-retry-manager.ts:65
Constructors
new MessageRetryManager()
new MessageRetryManager(
logger,maxMsgRetryCount):MessageRetryManager
Defined in: src/Utils/message-retry-manager.ts:104
Parameters
logger
ILogger
maxMsgRetryCount
number
Returns
Methods
addRecentMessage()
addRecentMessage(
to,id,message):void
Defined in: src/Utils/message-retry-manager.ts:114
Add a recent message to the cache for retry handling
Parameters
to
string
id
string
message
Returns
void
cancelPendingPhoneRequest()
cancelPendingPhoneRequest(
messageId):void
Defined in: src/Utils/message-retry-manager.ts:278
Cancel pending phone request
Parameters
messageId
string
Returns
void
clear()
clear():
void
Defined in: src/Utils/message-retry-manager.ts:287
Returns
void
deleteBaseKey()
deleteBaseKey(
addr,msgId):void
Defined in: src/Utils/message-retry-manager.ts:324
Parameters
addr
string
msgId
string
Returns
void
getRecentMessage()
getRecentMessage(
to,id):undefined|RecentMessage
Defined in: src/Utils/message-retry-manager.ts:131
Get a recent message from the cache
Parameters
to
string
id
string
Returns
undefined | RecentMessage
getRetryCount()
getRetryCount(
messageId):number
Defined in: src/Utils/message-retry-manager.ts:227
Get retry count for a message
Parameters
messageId
string
Returns
number
hasExceededMaxRetries()
hasExceededMaxRetries(
messageId):boolean
Defined in: src/Utils/message-retry-manager.ts:234
Check if message has exceeded maximum retry attempts
Parameters
messageId
string
Returns
boolean
hasSameBaseKey()
hasSameBaseKey(
addr,msgId,baseKey):boolean
Defined in: src/Utils/message-retry-manager.ts:311
Parameters
addr
string
msgId
string
baseKey
Uint8Array
Returns
boolean
incrementRetryCount()
incrementRetryCount(
messageId):number
Defined in: src/Utils/message-retry-manager.ts:218
Increment retry counter for a message
Parameters
messageId
string
Returns
number
isMacError()
isMacError(
errorCode):boolean
Defined in: src/Utils/message-retry-manager.ts:211
Check if an error code indicates a MAC failure
Parameters
errorCode
undefined | RetryReason
Returns
boolean
markRetryFailed()
markRetryFailed(
messageId):void
Defined in: src/Utils/message-retry-manager.ts:252
Mark retry as failed
Parameters
messageId
string
Returns
void
markRetrySuccess()
markRetrySuccess(
messageId):void
Defined in: src/Utils/message-retry-manager.ts:241
Mark retry as successful
Parameters
messageId
string
Returns
void
parseRetryErrorCode()
parseRetryErrorCode(
errorAttr):undefined|RetryReason
Defined in: src/Utils/message-retry-manager.ts:190
Parse error code from retry receipt's retry node. Returns undefined if no error code is present.
Parameters
errorAttr
undefined | string
Returns
undefined | RetryReason
saveBaseKey()
saveBaseKey(
addr,msgId,baseKey):void
Defined in: src/Utils/message-retry-manager.ts:307
Parameters
addr
string
msgId
string
baseKey
Uint8Array
Returns
void
schedulePhoneRequest()
schedulePhoneRequest(
messageId,callback,delay):void
Defined in: src/Utils/message-retry-manager.ts:262
Schedule a phone request with delay
Parameters
messageId
string
callback
() => void
delay
number = PHONE_REQUEST_DELAY
Returns
void
shouldRecreateSession()
shouldRecreateSession(
jid,hasSession,errorCode?):object
Defined in: src/Utils/message-retry-manager.ts:141
Check if a session should be recreated based on retry count, history, and error code. MAC errors (codes 4 and 7) trigger immediate session recreation regardless of timeout.
Parameters
jid
string
hasSession
boolean
errorCode?
Returns
object
reason
reason:
string
recreate
recreate:
boolean