Merge pull request #1792 from famedly/krille/revert-check-size

revert: Check size before fake sync
This commit is contained in:
Krille-chan 2024-05-10 08:31:30 +02:00 committed by GitHub
commit 55388da505
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 29 additions and 29 deletions

View File

@ -942,11 +942,24 @@ class Room {
Future<String?> _sendContent( Future<String?> _sendContent(
String type, String type,
Map<String, dynamic> sendMessageContent, { Map<String, dynamic> content, {
String? txid, String? txid,
}) async { }) async {
txid ??= client.generateUniqueTransactionId(); txid ??= client.generateUniqueTransactionId();
final mustEncrypt = encrypted && client.encryptionEnabled;
final sendMessageContent = mustEncrypt
? await client.encryption!
.encryptGroupMessagePayload(id, content, type: type)
: content;
final utf8EncodedJsonLength =
utf8.encode(jsonEncode(sendMessageContent)).length;
if (utf8EncodedJsonLength > maxPDUSize) {
throw EventTooLarge(utf8EncodedJsonLength);
}
return await client.sendMessage( return await client.sendMessage(
id, id,
sendMessageContent.containsKey('ciphertext') sendMessageContent.containsKey('ciphertext')
@ -1059,21 +1072,6 @@ class Room {
} }
} }
final sentDate = DateTime.now(); final sentDate = DateTime.now();
final mustEncrypt = encrypted && client.encryptionEnabled;
final sendMessageContent = mustEncrypt
? await client.encryption!
.encryptGroupMessagePayload(id, content, type: type)
: content;
final utf8EncodedJsonLength =
utf8.encode(jsonEncode(sendMessageContent)).length;
if (utf8EncodedJsonLength > maxPDUSize) {
throw EventTooLarge(utf8EncodedJsonLength);
}
final syncUpdate = SyncUpdate( final syncUpdate = SyncUpdate(
nextBatch: '', nextBatch: '',
rooms: RoomsUpdate( rooms: RoomsUpdate(
@ -1113,11 +1111,13 @@ class Room {
try { try {
res = await _sendContent( res = await _sendContent(
type, type,
sendMessageContent, content,
txid: messageID, txid: messageID,
); );
} catch (e, s) { } catch (e, s) {
if (e is MatrixException && if (e is EventTooLarge) {
rethrow;
} else if (e is MatrixException &&
e.retryAfterMs != null && e.retryAfterMs != null &&
!DateTime.now() !DateTime.now()
.add(Duration(milliseconds: e.retryAfterMs!)) .add(Duration(milliseconds: e.retryAfterMs!))

View File

@ -1459,7 +1459,7 @@ class CallSession {
if (capabilities != null) 'capabilities': capabilities.toJson(), if (capabilities != null) 'capabilities': capabilities.toJson(),
if (metadata != null) sdpStreamMetadataKey: metadata.toJson(), if (metadata != null) sdpStreamMetadataKey: metadata.toJson(),
}; };
return await _sendCallContent( return await _sendContent(
room, room,
isGroupCall ? EventTypes.GroupCallMemberInvite : EventTypes.CallInvite, isGroupCall ? EventTypes.GroupCallMemberInvite : EventTypes.CallInvite,
content, content,
@ -1487,7 +1487,7 @@ class CallSession {
'selected_party_id': selected_party_id, 'selected_party_id': selected_party_id,
}; };
return await _sendCallContent( return await _sendContent(
room, room,
isGroupCall isGroupCall
? EventTypes.GroupCallMemberSelectAnswer ? EventTypes.GroupCallMemberSelectAnswer
@ -1510,7 +1510,7 @@ class CallSession {
'version': version, 'version': version,
}; };
return await _sendCallContent( return await _sendContent(
room, room,
isGroupCall ? EventTypes.GroupCallMemberReject : EventTypes.CallReject, isGroupCall ? EventTypes.GroupCallMemberReject : EventTypes.CallReject,
content, content,
@ -1540,7 +1540,7 @@ class CallSession {
if (capabilities != null) 'capabilities': capabilities.toJson(), if (capabilities != null) 'capabilities': capabilities.toJson(),
if (metadata != null) sdpStreamMetadataKey: metadata.toJson(), if (metadata != null) sdpStreamMetadataKey: metadata.toJson(),
}; };
return await _sendCallContent( return await _sendContent(
room, room,
isGroupCall isGroupCall
? EventTypes.GroupCallMemberNegotiate ? EventTypes.GroupCallMemberNegotiate
@ -1585,7 +1585,7 @@ class CallSession {
'version': version, 'version': version,
'candidates': candidates, 'candidates': candidates,
}; };
return await _sendCallContent( return await _sendContent(
room, room,
isGroupCall isGroupCall
? EventTypes.GroupCallMemberCandidates ? EventTypes.GroupCallMemberCandidates
@ -1617,7 +1617,7 @@ class CallSession {
if (capabilities != null) 'capabilities': capabilities.toJson(), if (capabilities != null) 'capabilities': capabilities.toJson(),
if (metadata != null) sdpStreamMetadataKey: metadata.toJson(), if (metadata != null) sdpStreamMetadataKey: metadata.toJson(),
}; };
return await _sendCallContent( return await _sendContent(
room, room,
isGroupCall ? EventTypes.GroupCallMemberAnswer : EventTypes.CallAnswer, isGroupCall ? EventTypes.GroupCallMemberAnswer : EventTypes.CallAnswer,
content, content,
@ -1639,7 +1639,7 @@ class CallSession {
'version': version, 'version': version,
if (hangupCause != null) 'reason': hangupCause, if (hangupCause != null) 'reason': hangupCause,
}; };
return await _sendCallContent( return await _sendContent(
room, room,
isGroupCall ? EventTypes.GroupCallMemberHangup : EventTypes.CallHangup, isGroupCall ? EventTypes.GroupCallMemberHangup : EventTypes.CallHangup,
content, content,
@ -1671,7 +1671,7 @@ class CallSession {
'version': version, 'version': version,
sdpStreamMetadataKey: metadata.toJson(), sdpStreamMetadataKey: metadata.toJson(),
}; };
return await _sendCallContent( return await _sendContent(
room, room,
isGroupCall isGroupCall
? EventTypes.GroupCallMemberSDPStreamMetadataChanged ? EventTypes.GroupCallMemberSDPStreamMetadataChanged
@ -1697,7 +1697,7 @@ class CallSession {
'version': version, 'version': version,
...callReplaces.toJson(), ...callReplaces.toJson(),
}; };
return await _sendCallContent( return await _sendContent(
room, room,
isGroupCall isGroupCall
? EventTypes.GroupCallMemberReplaces ? EventTypes.GroupCallMemberReplaces
@ -1723,7 +1723,7 @@ class CallSession {
'version': version, 'version': version,
'asserted_identity': assertedIdentity.toJson(), 'asserted_identity': assertedIdentity.toJson(),
}; };
return await _sendCallContent( return await _sendContent(
room, room,
isGroupCall isGroupCall
? EventTypes.GroupCallMemberAssertedIdentity ? EventTypes.GroupCallMemberAssertedIdentity
@ -1733,7 +1733,7 @@ class CallSession {
); );
} }
Future<String?> _sendCallContent( Future<String?> _sendContent(
Room room, Room room,
String type, String type,
Map<String, Object> content, { Map<String, Object> content, {