fix: dont override passed powerlevels with groupcall powerlevels
This commit is contained in:
parent
42ea917b63
commit
a540bc6ef7
|
|
@ -814,17 +814,19 @@ class Client extends MatrixApi {
|
||||||
}
|
}
|
||||||
if (groupCall) {
|
if (groupCall) {
|
||||||
powerLevelContentOverride ??= {};
|
powerLevelContentOverride ??= {};
|
||||||
powerLevelContentOverride['events'] = <String, dynamic>{
|
powerLevelContentOverride['events'] ??= {};
|
||||||
EventTypes.GroupCallMember: 0,
|
powerLevelContentOverride['events'][EventTypes.GroupCallMember] ??=
|
||||||
};
|
powerLevelContentOverride['events_default'] ?? 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
final roomId = await createRoom(
|
final roomId = await createRoom(
|
||||||
invite: invite,
|
invite: invite,
|
||||||
preset: preset,
|
preset: preset,
|
||||||
name: groupName,
|
name: groupName,
|
||||||
initialState: initialState,
|
initialState: initialState,
|
||||||
visibility: visibility,
|
visibility: visibility,
|
||||||
powerLevelContentOverride: powerLevelContentOverride);
|
powerLevelContentOverride: powerLevelContentOverride,
|
||||||
|
);
|
||||||
|
|
||||||
if (waitForSync) {
|
if (waitForSync) {
|
||||||
if (getRoomById(roomId) == null) {
|
if (getRoomById(roomId) == null) {
|
||||||
|
|
|
||||||
|
|
@ -887,8 +887,101 @@ void main() {
|
||||||
test('startDirectChat', () async {
|
test('startDirectChat', () async {
|
||||||
await matrix.startDirectChat('@alice:example.com', waitForSync: false);
|
await matrix.startDirectChat('@alice:example.com', waitForSync: false);
|
||||||
});
|
});
|
||||||
|
|
||||||
test('createGroupChat', () async {
|
test('createGroupChat', () async {
|
||||||
await matrix.createGroupChat(groupName: 'Testgroup', waitForSync: false);
|
await matrix.createGroupChat(groupName: 'Testgroup', waitForSync: false);
|
||||||
|
|
||||||
|
expect(
|
||||||
|
json.decode(
|
||||||
|
FakeMatrixApi.calledEndpoints['/client/v3/createRoom']?.last),
|
||||||
|
{
|
||||||
|
'initial_state': [
|
||||||
|
{
|
||||||
|
'content': {'algorithm': 'm.megolm.v1.aes-sha2'},
|
||||||
|
'type': 'm.room.encryption'
|
||||||
|
}
|
||||||
|
],
|
||||||
|
'name': 'Testgroup',
|
||||||
|
'preset': 'private_chat'
|
||||||
|
},
|
||||||
|
);
|
||||||
|
|
||||||
|
await matrix.createGroupChat(
|
||||||
|
groupName: 'Testgroup',
|
||||||
|
waitForSync: false,
|
||||||
|
groupCall: true,
|
||||||
|
powerLevelContentOverride: {'events_default': 12});
|
||||||
|
|
||||||
|
expect(
|
||||||
|
json.decode(
|
||||||
|
FakeMatrixApi.calledEndpoints['/client/v3/createRoom']?.last),
|
||||||
|
{
|
||||||
|
'initial_state': [
|
||||||
|
{
|
||||||
|
'content': {'algorithm': 'm.megolm.v1.aes-sha2'},
|
||||||
|
'type': 'm.room.encryption'
|
||||||
|
}
|
||||||
|
],
|
||||||
|
'name': 'Testgroup',
|
||||||
|
'power_level_content_override': {
|
||||||
|
'events_default': 12,
|
||||||
|
'events': {'com.famedly.call.member': 12}
|
||||||
|
},
|
||||||
|
'preset': 'private_chat'
|
||||||
|
},
|
||||||
|
);
|
||||||
|
|
||||||
|
await matrix.createGroupChat(
|
||||||
|
groupName: 'Testgroup',
|
||||||
|
waitForSync: false,
|
||||||
|
groupCall: true,
|
||||||
|
powerLevelContentOverride: {
|
||||||
|
'events_default': 12,
|
||||||
|
'events': {'com.famedly.call.member': 14}
|
||||||
|
});
|
||||||
|
|
||||||
|
expect(
|
||||||
|
json.decode(
|
||||||
|
FakeMatrixApi.calledEndpoints['/client/v3/createRoom']?.last),
|
||||||
|
{
|
||||||
|
'initial_state': [
|
||||||
|
{
|
||||||
|
'content': {'algorithm': 'm.megolm.v1.aes-sha2'},
|
||||||
|
'type': 'm.room.encryption'
|
||||||
|
}
|
||||||
|
],
|
||||||
|
'name': 'Testgroup',
|
||||||
|
'power_level_content_override': {
|
||||||
|
'events_default': 12,
|
||||||
|
'events': {'com.famedly.call.member': 14}
|
||||||
|
},
|
||||||
|
'preset': 'private_chat'
|
||||||
|
},
|
||||||
|
);
|
||||||
|
|
||||||
|
await matrix.createGroupChat(
|
||||||
|
groupName: 'Testgroup',
|
||||||
|
waitForSync: false,
|
||||||
|
groupCall: true,
|
||||||
|
);
|
||||||
|
|
||||||
|
expect(
|
||||||
|
json.decode(
|
||||||
|
FakeMatrixApi.calledEndpoints['/client/v3/createRoom']?.last),
|
||||||
|
{
|
||||||
|
'initial_state': [
|
||||||
|
{
|
||||||
|
'content': {'algorithm': 'm.megolm.v1.aes-sha2'},
|
||||||
|
'type': 'm.room.encryption'
|
||||||
|
}
|
||||||
|
],
|
||||||
|
'name': 'Testgroup',
|
||||||
|
'power_level_content_override': {
|
||||||
|
'events': {'com.famedly.call.member': 0}
|
||||||
|
},
|
||||||
|
'preset': 'private_chat'
|
||||||
|
},
|
||||||
|
);
|
||||||
});
|
});
|
||||||
test('Test the fake store api', () async {
|
test('Test the fake store api', () async {
|
||||||
final database = await getDatabase(null);
|
final database = await getDatabase(null);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue