From 1669c9f96771700123be80d2d2789a54f4a1e688 Mon Sep 17 00:00:00 2001 From: ggurdin <46800240+ggurdin@users.noreply.github.com> Date: Wed, 5 Mar 2025 11:31:37 -0500 Subject: [PATCH] chore: set group chat power levels manually (#2012) * chore: set group chat power levels manually --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- lib/pages/chat_list/space_view.dart | 8 ++++++ lib/pages/new_group/new_group.dart | 8 ++++++ .../chat/constants/default_power_level.dart | 28 +++++++++++++++++++ 3 files changed, 44 insertions(+) create mode 100644 lib/pangea/chat/constants/default_power_level.dart diff --git a/lib/pages/chat_list/space_view.dart b/lib/pages/chat_list/space_view.dart index a8e235007..5023558eb 100644 --- a/lib/pages/chat_list/space_view.dart +++ b/lib/pages/chat_list/space_view.dart @@ -12,6 +12,7 @@ import 'package:fluffychat/config/app_config.dart'; import 'package:fluffychat/pages/chat_list/chat_list.dart'; import 'package:fluffychat/pages/chat_list/chat_list_item.dart'; import 'package:fluffychat/pages/chat_list/search_title.dart'; +import 'package:fluffychat/pangea/chat/constants/default_power_level.dart'; import 'package:fluffychat/pangea/chat_settings/constants/pangea_room_types.dart'; import 'package:fluffychat/pangea/extensions/pangea_room_extension.dart'; import 'package:fluffychat/utils/adaptive_bottom_sheet.dart'; @@ -396,6 +397,13 @@ class _SpaceViewState extends State { preset: sdk.CreateRoomPreset.publicChat, visibility: sdk.Visibility.private, enableEncryption: false, + initialState: [ + StateEvent( + type: EventTypes.RoomPowerLevels, + stateKey: '', + content: defaultPowerLevels, + ), + ], // Pangea# ); } diff --git a/lib/pages/new_group/new_group.dart b/lib/pages/new_group/new_group.dart index 93a5a0221..940886484 100644 --- a/lib/pages/new_group/new_group.dart +++ b/lib/pages/new_group/new_group.dart @@ -11,6 +11,7 @@ import 'package:fluffychat/config/app_config.dart'; import 'package:fluffychat/pages/chat_list/chat_list.dart'; import 'package:fluffychat/pages/new_group/new_group_view.dart'; import 'package:fluffychat/pangea/bot/utils/bot_name.dart'; +import 'package:fluffychat/pangea/chat/constants/default_power_level.dart'; import 'package:fluffychat/pangea/common/constants/model_keys.dart'; import 'package:fluffychat/pangea/common/utils/error_handler.dart'; import 'package:fluffychat/pangea/common/utils/firebase_analytics.dart'; @@ -98,6 +99,13 @@ class NewGroupController extends State { type: sdk.EventTypes.RoomAvatar, content: {'url': avatarUrl.toString()}, ), + // #Pangea + StateEvent( + type: EventTypes.RoomPowerLevels, + stateKey: '', + content: defaultPowerLevels, + ), + // Pangea# ], // #Pangea enableEncryption: false, diff --git a/lib/pangea/chat/constants/default_power_level.dart b/lib/pangea/chat/constants/default_power_level.dart new file mode 100644 index 000000000..fc82498f9 --- /dev/null +++ b/lib/pangea/chat/constants/default_power_level.dart @@ -0,0 +1,28 @@ +Map defaultPowerLevels = { + "defaults": { + "ban": 50, + "events_default": 0, + "invite": 50, + "kick": 50, + "notifications": { + "room": 50, + }, + "redact": 50, + "state_default": 50, + "users_default": 0, + }, + "events": { + "m.room.avatar": 50, + "m.room.canonical_alias": 50, + "m.room.encryption": 100, + "m.room.history_visibility": 100, + "m.room.name": 50, + "m.room.power_levels": 100, + "m.room.server_acl": 100, + "m.room.tombstone": 100, + }, + "users": { + "@bot:staging.pangea.chat": 50, + "@test_12_6_2:staging.pangea.chat": 100, + }, +};