Merge pull request #467 from pangeachat/filter-analytics-events
filter out analytics events from syncs. hide space analytics
This commit is contained in:
commit
24610fe0ea
5 changed files with 54 additions and 66 deletions
|
|
@ -42,9 +42,6 @@ import 'package:fluffychat/widgets/matrix.dart';
|
|||
import 'package:flutter/material.dart';
|
||||
import 'package:go_router/go_router.dart';
|
||||
|
||||
import '../pangea/pages/analytics/space_analytics/space_analytics.dart';
|
||||
import '../pangea/pages/analytics/space_list/space_list.dart';
|
||||
|
||||
abstract class AppRoutes {
|
||||
static FutureOr<String?> loggedInRedirect(
|
||||
BuildContext context,
|
||||
|
|
@ -176,27 +173,27 @@ abstract class AppRoutes {
|
|||
),
|
||||
redirect: loggedOutRedirect,
|
||||
),
|
||||
GoRoute(
|
||||
path: 'analytics',
|
||||
pageBuilder: (context, state) => defaultPageBuilder(
|
||||
context,
|
||||
state,
|
||||
const AnalyticsSpaceList(),
|
||||
),
|
||||
redirect: loggedOutRedirect,
|
||||
routes: [
|
||||
GoRoute(
|
||||
path: ':spaceid',
|
||||
pageBuilder: (context, state) => defaultPageBuilder(
|
||||
context,
|
||||
state,
|
||||
const SpaceAnalyticsPage(
|
||||
selectedView: BarChartViewSelection.messages,
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
// GoRoute(
|
||||
// path: 'analytics',
|
||||
// pageBuilder: (context, state) => defaultPageBuilder(
|
||||
// context,
|
||||
// state,
|
||||
// const AnalyticsSpaceList(),
|
||||
// ),
|
||||
// redirect: loggedOutRedirect,
|
||||
// routes: [
|
||||
// GoRoute(
|
||||
// path: ':spaceid',
|
||||
// pageBuilder: (context, state) => defaultPageBuilder(
|
||||
// context,
|
||||
// state,
|
||||
// const SpaceAnalyticsPage(
|
||||
// selectedView: BarChartViewSelection.messages,
|
||||
// ),
|
||||
// ),
|
||||
// ),
|
||||
// ],
|
||||
// ),
|
||||
// Pangea#
|
||||
GoRoute(
|
||||
path: 'archive',
|
||||
|
|
|
|||
|
|
@ -263,28 +263,6 @@ class ChatDetailsView extends StatelessWidget {
|
|||
controller: controller,
|
||||
),
|
||||
// Pangea#
|
||||
if (room.isSpace && room.isRoomAdmin)
|
||||
ListTile(
|
||||
title: Text(
|
||||
L10n.of(context)!.spaceAnalytics,
|
||||
style: TextStyle(
|
||||
color:
|
||||
Theme.of(context).colorScheme.secondary,
|
||||
fontWeight: FontWeight.bold,
|
||||
),
|
||||
),
|
||||
leading: CircleAvatar(
|
||||
backgroundColor:
|
||||
Theme.of(context).scaffoldBackgroundColor,
|
||||
foregroundColor: iconColor,
|
||||
child: const Icon(
|
||||
Icons.analytics_outlined,
|
||||
),
|
||||
),
|
||||
onTap: () => context.go(
|
||||
'/rooms/analytics/${room.id}',
|
||||
),
|
||||
),
|
||||
// commenting out language settings in spaces for now
|
||||
// if (room.languageSettings != null && room.isRoomAdmin)
|
||||
// LanguageSettings(
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
import 'package:adaptive_dialog/adaptive_dialog.dart';
|
||||
import 'package:fluffychat/pangea/constants/class_default_values.dart';
|
||||
import 'package:fluffychat/pangea/extensions/pangea_room_extension/pangea_room_extension.dart';
|
||||
import 'package:fluffychat/pangea/utils/find_conversation_partner_dialog.dart';
|
||||
import 'package:fluffychat/pangea/utils/logout.dart';
|
||||
|
|
@ -53,21 +52,21 @@ class ClientChooserButton extends StatelessWidget {
|
|||
],
|
||||
),
|
||||
),
|
||||
PopupMenuItem(
|
||||
enabled: matrix.client.rooms.any(
|
||||
(room) =>
|
||||
room.isSpace &&
|
||||
room.ownPowerLevel >= ClassDefaultValues.powerLevelOfAdmin,
|
||||
),
|
||||
value: SettingsAction.spaceAnalytics,
|
||||
child: Row(
|
||||
children: [
|
||||
const Icon(Icons.analytics_outlined),
|
||||
const SizedBox(width: 18),
|
||||
Expanded(child: Text(L10n.of(context)!.spaceAnalytics)),
|
||||
],
|
||||
),
|
||||
),
|
||||
// PopupMenuItem(
|
||||
// enabled: matrix.client.rooms.any(
|
||||
// (room) =>
|
||||
// room.isSpace &&
|
||||
// room.ownPowerLevel >= ClassDefaultValues.powerLevelOfAdmin,
|
||||
// ),
|
||||
// value: SettingsAction.spaceAnalytics,
|
||||
// child: Row(
|
||||
// children: [
|
||||
// const Icon(Icons.analytics_outlined),
|
||||
// const SizedBox(width: 18),
|
||||
// Expanded(child: Text(L10n.of(context)!.spaceAnalytics)),
|
||||
// ],
|
||||
// ),
|
||||
// ),
|
||||
PopupMenuItem(
|
||||
enabled: matrix.client.rooms.any(
|
||||
(room) => !room.isSpace && !room.isArchived && !room.isAnalyticsRoom,
|
||||
|
|
@ -402,9 +401,9 @@ class ClientChooserButton extends StatelessWidget {
|
|||
controller.pangeaController,
|
||||
);
|
||||
break;
|
||||
case SettingsAction.spaceAnalytics:
|
||||
context.go('/rooms/analytics');
|
||||
break;
|
||||
// case SettingsAction.spaceAnalytics:
|
||||
// context.go('/rooms/analytics');
|
||||
// break;
|
||||
case SettingsAction.myAnalytics:
|
||||
context.go('/rooms/mylearning');
|
||||
break;
|
||||
|
|
@ -497,7 +496,7 @@ enum SettingsAction {
|
|||
// #Pangea
|
||||
learning,
|
||||
joinWithClassCode,
|
||||
spaceAnalytics,
|
||||
// spaceAnalytics,
|
||||
myAnalytics,
|
||||
findAConversationPartner,
|
||||
logout,
|
||||
|
|
|
|||
|
|
@ -132,6 +132,19 @@ abstract class ClientManager {
|
|||
customImageResizer: PlatformInfos.isMobile ? customImageResizer : null,
|
||||
defaultNetworkRequestTimeout: const Duration(minutes: 30),
|
||||
enableDehydratedDevices: true,
|
||||
// #Pangea
|
||||
syncFilter: Filter(
|
||||
room: RoomFilter(
|
||||
state: StateFilter(lazyLoadMembers: true),
|
||||
timeline: StateFilter(
|
||||
notTypes: [
|
||||
PangeaEventTypes.construct,
|
||||
PangeaEventTypes.summaryAnalytics,
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
// Pangea#
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -40,6 +40,7 @@ extension IsStateExtension on Event {
|
|||
}.contains(type);
|
||||
|
||||
// #Pangea
|
||||
// we're filtering out some state events that we don't want to render
|
||||
static const Set<String> importantStateEvents = {
|
||||
EventTypes.Encryption,
|
||||
EventTypes.RoomCreate,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue