filter out analytics events from syncs. hide space analytics

pull/1384/head
ggurdin 1 year ago
parent 3172fd1462
commit c0cd10a0e2

@ -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…
Cancel
Save