Revision 2e667947
| ChatSecure/Classes/Categories/XMPPMessage+ChatSecure.swift | ||
|---|---|---|
| 12 | 12 |
/// Safely extracts XEP-0359 stanza-id |
| 13 | 13 |
@objc public func extractStanzaId(account: OTRXMPPAccount, capabilities: XMPPCapabilities) -> String? {
|
| 14 | 14 |
let stanzaIds = self.stanzaIds |
| 15 |
guard stanzaIds.count > 0, |
|
| 16 |
capabilities.hasValidStanzaId(self) else {
|
|
| 15 |
guard stanzaIds.count > 0 else {
|
|
| 17 | 16 |
return nil |
| 18 | 17 |
} |
| 19 |
var byJID: XMPPJID? = nil |
|
| 20 |
if self.isGroupChatMessage {
|
|
| 21 |
byJID = self.from?.bareJID |
|
| 22 |
} else {
|
|
| 23 |
byJID = account.bareJID |
|
| 18 |
if let myJID = account.bareJID, |
|
| 19 |
let sid = stanzaIds[myJID] {
|
|
| 20 |
return sid |
|
| 24 | 21 |
} |
| 25 |
if let jid = byJID {
|
|
| 26 |
return stanzaIds[jid] |
|
| 22 |
if let fromJID = self.from?.bareJID, |
|
| 23 |
let sid = stanzaIds[fromJID] {
|
|
| 24 |
return sid |
|
| 27 | 25 |
} |
| 28 | 26 |
return nil |
| 29 | 27 |
} |
Also available in: Unified diff