feat: specify history_visibility when creating group chat
This commit is contained in:
parent
41e8997117
commit
b82d8bff0b
|
|
@ -705,6 +705,7 @@ class Client extends MatrixApi {
|
||||||
CreateRoomPreset preset = CreateRoomPreset.privateChat,
|
CreateRoomPreset preset = CreateRoomPreset.privateChat,
|
||||||
List<StateEvent>? initialState,
|
List<StateEvent>? initialState,
|
||||||
Visibility? visibility,
|
Visibility? visibility,
|
||||||
|
HistoryVisibility? historyVisibility,
|
||||||
bool waitForSync = true,
|
bool waitForSync = true,
|
||||||
bool groupCall = false,
|
bool groupCall = false,
|
||||||
Map<String, dynamic>? powerLevelContentOverride,
|
Map<String, dynamic>? powerLevelContentOverride,
|
||||||
|
|
@ -722,6 +723,17 @@ class Client extends MatrixApi {
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (historyVisibility != null) {
|
||||||
|
initialState ??= [];
|
||||||
|
if (!initialState.any((s) => s.type == EventTypes.HistoryVisibility)) {
|
||||||
|
initialState.add(StateEvent(
|
||||||
|
content: {
|
||||||
|
'history_visibility': historyVisibility.text,
|
||||||
|
},
|
||||||
|
type: EventTypes.HistoryVisibility,
|
||||||
|
));
|
||||||
|
}
|
||||||
|
}
|
||||||
if (groupCall) {
|
if (groupCall) {
|
||||||
powerLevelContentOverride ??= {};
|
powerLevelContentOverride ??= {};
|
||||||
powerLevelContentOverride['events'] = <String, dynamic>{
|
powerLevelContentOverride['events'] = <String, dynamic>{
|
||||||
|
|
|
||||||
|
|
@ -45,6 +45,10 @@ const Map<GuestAccess, String> _guestAccessMap = {
|
||||||
GuestAccess.forbidden: 'forbidden',
|
GuestAccess.forbidden: 'forbidden',
|
||||||
};
|
};
|
||||||
|
|
||||||
|
extension GuestAccessExtension on GuestAccess {
|
||||||
|
String get text => _guestAccessMap[this]!;
|
||||||
|
}
|
||||||
|
|
||||||
const Map<HistoryVisibility, String> _historyVisibilityMap = {
|
const Map<HistoryVisibility, String> _historyVisibilityMap = {
|
||||||
HistoryVisibility.invited: 'invited',
|
HistoryVisibility.invited: 'invited',
|
||||||
HistoryVisibility.joined: 'joined',
|
HistoryVisibility.joined: 'joined',
|
||||||
|
|
@ -52,6 +56,10 @@ const Map<HistoryVisibility, String> _historyVisibilityMap = {
|
||||||
HistoryVisibility.worldReadable: 'world_readable',
|
HistoryVisibility.worldReadable: 'world_readable',
|
||||||
};
|
};
|
||||||
|
|
||||||
|
extension HistoryVisibilityExtension on HistoryVisibility {
|
||||||
|
String get text => _historyVisibilityMap[this]!;
|
||||||
|
}
|
||||||
|
|
||||||
const String messageSendingStatusKey =
|
const String messageSendingStatusKey =
|
||||||
'com.famedly.famedlysdk.message_sending_status';
|
'com.famedly.famedlysdk.message_sending_status';
|
||||||
|
|
||||||
|
|
@ -2138,7 +2146,7 @@ class Room {
|
||||||
EventTypes.GuestAccess,
|
EventTypes.GuestAccess,
|
||||||
'',
|
'',
|
||||||
{
|
{
|
||||||
'guest_access': _guestAccessMap[guestAccess],
|
'guest_access': guestAccess.text,
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
return;
|
return;
|
||||||
|
|
@ -2163,7 +2171,7 @@ class Room {
|
||||||
EventTypes.HistoryVisibility,
|
EventTypes.HistoryVisibility,
|
||||||
'',
|
'',
|
||||||
{
|
{
|
||||||
'history_visibility': _historyVisibilityMap[historyVisibility],
|
'history_visibility': historyVisibility.text,
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
return;
|
return;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue