Merge branch 'room-enhance-file-upload' into 'master'
[Room] Dont wait for send event while sending files See merge request famedly/famedlysdk!237
This commit is contained in:
commit
f93828c461
|
@ -37,6 +37,7 @@ import 'package:famedlysdk/src/utils/session_key.dart';
|
||||||
import 'package:matrix_file_e2ee/matrix_file_e2ee.dart';
|
import 'package:matrix_file_e2ee/matrix_file_e2ee.dart';
|
||||||
import 'package:mime_type/mime_type.dart';
|
import 'package:mime_type/mime_type.dart';
|
||||||
import 'package:olm/olm.dart' as olm;
|
import 'package:olm/olm.dart' as olm;
|
||||||
|
import 'package:pedantic/pedantic.dart';
|
||||||
|
|
||||||
import './user.dart';
|
import './user.dart';
|
||||||
import 'timeline.dart';
|
import 'timeline.dart';
|
||||||
|
@ -454,6 +455,8 @@ class Room {
|
||||||
return resp["event_id"];
|
return resp["event_id"];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Sends a normal text message to this room. Returns the event ID generated
|
||||||
|
/// by the server for this message.
|
||||||
Future<String> sendTextEvent(String message, {String txid, Event inReplyTo}) {
|
Future<String> sendTextEvent(String message, {String txid, Event inReplyTo}) {
|
||||||
String type = "m.text";
|
String type = "m.text";
|
||||||
if (message.startsWith("/me ")) {
|
if (message.startsWith("/me ")) {
|
||||||
|
@ -465,7 +468,8 @@ class Room {
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Sends a [file] to this room after uploading it. The [msgType] is optional
|
/// Sends a [file] to this room after uploading it. The [msgType] is optional
|
||||||
/// and will be detected by the mimetype of the file.
|
/// and will be detected by the mimetype of the file. Returns the mxc uri of
|
||||||
|
/// the uploaded file.
|
||||||
Future<String> sendFileEvent(MatrixFile file,
|
Future<String> sendFileEvent(MatrixFile file,
|
||||||
{String msgType = "m.file",
|
{String msgType = "m.file",
|
||||||
String txid,
|
String txid,
|
||||||
|
@ -507,15 +511,18 @@ class Room {
|
||||||
"size": file.size,
|
"size": file.size,
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
return await sendEvent(content, txid: txid, inReplyTo: inReplyTo);
|
unawaited(sendEvent(content, txid: txid, inReplyTo: inReplyTo));
|
||||||
|
return uploadResp;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Sends an audio file to this room and returns the mxc uri.
|
||||||
Future<String> sendAudioEvent(MatrixFile file,
|
Future<String> sendAudioEvent(MatrixFile file,
|
||||||
{String txid, Event inReplyTo}) async {
|
{String txid, Event inReplyTo}) async {
|
||||||
return await sendFileEvent(file,
|
return await sendFileEvent(file,
|
||||||
msgType: "m.audio", txid: txid, inReplyTo: inReplyTo);
|
msgType: "m.audio", txid: txid, inReplyTo: inReplyTo);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Sends an image to this room and returns the mxc uri.
|
||||||
Future<String> sendImageEvent(MatrixFile file,
|
Future<String> sendImageEvent(MatrixFile file,
|
||||||
{String txid, int width, int height, Event inReplyTo}) async {
|
{String txid, int width, int height, Event inReplyTo}) async {
|
||||||
return await sendFileEvent(file,
|
return await sendFileEvent(file,
|
||||||
|
@ -530,6 +537,7 @@ class Room {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Sends an video to this room and returns the mxc uri.
|
||||||
Future<String> sendVideoEvent(MatrixFile file,
|
Future<String> sendVideoEvent(MatrixFile file,
|
||||||
{String txid,
|
{String txid,
|
||||||
int videoWidth,
|
int videoWidth,
|
||||||
|
@ -569,10 +577,17 @@ class Room {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return await sendFileEvent(file,
|
return await sendFileEvent(
|
||||||
msgType: "m.video", txid: txid, inReplyTo: inReplyTo, info: info);
|
file,
|
||||||
|
msgType: "m.video",
|
||||||
|
txid: txid,
|
||||||
|
inReplyTo: inReplyTo,
|
||||||
|
info: info,
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Sends an event to this room with this json as a content. Returns the
|
||||||
|
/// event ID generated from the server.
|
||||||
Future<String> sendEvent(Map<String, dynamic> content,
|
Future<String> sendEvent(Map<String, dynamic> content,
|
||||||
{String txid, Event inReplyTo}) async {
|
{String txid, Event inReplyTo}) async {
|
||||||
final String type = "m.room.message";
|
final String type = "m.room.message";
|
||||||
|
|
25
pubspec.lock
25
pubspec.lock
|
@ -15,13 +15,6 @@ packages:
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.5.2"
|
version: "1.5.2"
|
||||||
asn1lib:
|
|
||||||
dependency: transitive
|
|
||||||
description:
|
|
||||||
name: asn1lib
|
|
||||||
url: "https://pub.dartlang.org"
|
|
||||||
source: hosted
|
|
||||||
version: "0.5.15"
|
|
||||||
async:
|
async:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -106,13 +99,6 @@ packages:
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.1.2"
|
version: "1.1.2"
|
||||||
clock:
|
|
||||||
dependency: transitive
|
|
||||||
description:
|
|
||||||
name: clock
|
|
||||||
url: "https://pub.dartlang.org"
|
|
||||||
source: hosted
|
|
||||||
version: "1.0.1"
|
|
||||||
code_builder:
|
code_builder:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -162,13 +148,6 @@ packages:
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.2.7"
|
version: "1.2.7"
|
||||||
encrypt:
|
|
||||||
dependency: transitive
|
|
||||||
description:
|
|
||||||
name: encrypt
|
|
||||||
url: "https://pub.dartlang.org"
|
|
||||||
source: hosted
|
|
||||||
version: "4.0.0"
|
|
||||||
ffi:
|
ffi:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -279,10 +258,10 @@ packages:
|
||||||
description:
|
description:
|
||||||
path: "."
|
path: "."
|
||||||
ref: "1.x.y"
|
ref: "1.x.y"
|
||||||
resolved-ref: "2ca458afed599e1421229460d7c9e9248bb86140"
|
resolved-ref: b043fcc29031979dc65e5b08e10ebb9b8d2fae30
|
||||||
url: "https://gitlab.com/famedly/libraries/matrix_file_e2ee.git"
|
url: "https://gitlab.com/famedly/libraries/matrix_file_e2ee.git"
|
||||||
source: git
|
source: git
|
||||||
version: "1.0.1"
|
version: "1.0.2"
|
||||||
meta:
|
meta:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
|
|
@ -355,7 +355,7 @@ void main() {
|
||||||
MatrixFile(bytes: Uint8List(0), path: "fake/path/file.jpeg");
|
MatrixFile(bytes: Uint8List(0), path: "fake/path/file.jpeg");
|
||||||
final dynamic resp = await room.sendFileEvent(testFile,
|
final dynamic resp = await room.sendFileEvent(testFile,
|
||||||
msgType: "m.file", txid: "testtxid");
|
msgType: "m.file", txid: "testtxid");
|
||||||
expect(resp, "42");
|
expect(resp, "mxc://example.com/AQwafuaFswefuhsfAFAgsw");
|
||||||
});
|
});
|
||||||
|
|
||||||
test('pushRuleState', () async {
|
test('pushRuleState', () async {
|
||||||
|
|
Loading…
Reference in a new issue