feat: Implement room tombstones
This commit is contained in:
parent
0697d47cc2
commit
411d29cc89
|
|
@ -18,6 +18,7 @@
|
||||||
|
|
||||||
import 'dart:async';
|
import 'dart:async';
|
||||||
|
|
||||||
|
import 'package:famedlysdk/src/utils/tombstone_content.dart';
|
||||||
import 'package:html_unescape/html_unescape.dart';
|
import 'package:html_unescape/html_unescape.dart';
|
||||||
import 'package:matrix_file_e2ee/matrix_file_e2ee.dart';
|
import 'package:matrix_file_e2ee/matrix_file_e2ee.dart';
|
||||||
|
|
||||||
|
|
@ -1665,4 +1666,14 @@ class Room {
|
||||||
await client.handleSync(syncUpdate, sortAtTheEnd: sortAtTheEnd);
|
await client.handleSync(syncUpdate, sortAtTheEnd: sortAtTheEnd);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Whether this is an extinct room which has been archived in favor of a new
|
||||||
|
/// room which replaces this. Use [getLegacyRoomInformations] to get more
|
||||||
|
/// informations about it if this is true.
|
||||||
|
bool get isExtinct => getState(EventTypes.RoomTombstone) != null;
|
||||||
|
|
||||||
|
/// Returns informations about how this room is
|
||||||
|
TombstoneContent get extinctInformations => isExtinct
|
||||||
|
? TombstoneContent.fromJson(getState(EventTypes.RoomTombstone).content)
|
||||||
|
: null;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
class TombstoneContent {
|
||||||
|
String body;
|
||||||
|
String replacementRoom;
|
||||||
|
|
||||||
|
TombstoneContent.fromJson(Map<String, dynamic> json)
|
||||||
|
: body = json['body'],
|
||||||
|
replacementRoom = json['replacement_room'];
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
final data = <String, dynamic>{};
|
||||||
|
data['body'] = body;
|
||||||
|
data['replacement_room'] = replacementRoom;
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue