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:flutter/material.dart';
import 'package:go_router/go_router.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 { abstract class AppRoutes {
static FutureOr<String?> loggedInRedirect( static FutureOr<String?> loggedInRedirect(
BuildContext context, BuildContext context,
@ -176,27 +173,27 @@ abstract class AppRoutes {
), ),
redirect: loggedOutRedirect, redirect: loggedOutRedirect,
), ),
GoRoute( // GoRoute(
path: 'analytics', // path: 'analytics',
pageBuilder: (context, state) => defaultPageBuilder( // pageBuilder: (context, state) => defaultPageBuilder(
context, // context,
state, // state,
const AnalyticsSpaceList(), // const AnalyticsSpaceList(),
), // ),
redirect: loggedOutRedirect, // redirect: loggedOutRedirect,
routes: [ // routes: [
GoRoute( // GoRoute(
path: ':spaceid', // path: ':spaceid',
pageBuilder: (context, state) => defaultPageBuilder( // pageBuilder: (context, state) => defaultPageBuilder(
context, // context,
state, // state,
const SpaceAnalyticsPage( // const SpaceAnalyticsPage(
selectedView: BarChartViewSelection.messages, // selectedView: BarChartViewSelection.messages,
), // ),
), // ),
), // ),
], // ],
), // ),
// Pangea# // Pangea#
GoRoute( GoRoute(
path: 'archive', path: 'archive',

@ -263,28 +263,6 @@ class ChatDetailsView extends StatelessWidget {
controller: controller, controller: controller,
), ),
// Pangea# // 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 // commenting out language settings in spaces for now
// if (room.languageSettings != null && room.isRoomAdmin) // if (room.languageSettings != null && room.isRoomAdmin)
// LanguageSettings( // LanguageSettings(

@ -1,5 +1,4 @@
import 'package:adaptive_dialog/adaptive_dialog.dart'; 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/extensions/pangea_room_extension/pangea_room_extension.dart';
import 'package:fluffychat/pangea/utils/find_conversation_partner_dialog.dart'; import 'package:fluffychat/pangea/utils/find_conversation_partner_dialog.dart';
import 'package:fluffychat/pangea/utils/logout.dart'; import 'package:fluffychat/pangea/utils/logout.dart';
@ -53,21 +52,21 @@ class ClientChooserButton extends StatelessWidget {
], ],
), ),
), ),
PopupMenuItem( // PopupMenuItem(
enabled: matrix.client.rooms.any( // enabled: matrix.client.rooms.any(
(room) => // (room) =>
room.isSpace && // room.isSpace &&
room.ownPowerLevel >= ClassDefaultValues.powerLevelOfAdmin, // room.ownPowerLevel >= ClassDefaultValues.powerLevelOfAdmin,
), // ),
value: SettingsAction.spaceAnalytics, // value: SettingsAction.spaceAnalytics,
child: Row( // child: Row(
children: [ // children: [
const Icon(Icons.analytics_outlined), // const Icon(Icons.analytics_outlined),
const SizedBox(width: 18), // const SizedBox(width: 18),
Expanded(child: Text(L10n.of(context)!.spaceAnalytics)), // Expanded(child: Text(L10n.of(context)!.spaceAnalytics)),
], // ],
), // ),
), // ),
PopupMenuItem( PopupMenuItem(
enabled: matrix.client.rooms.any( enabled: matrix.client.rooms.any(
(room) => !room.isSpace && !room.isArchived && !room.isAnalyticsRoom, (room) => !room.isSpace && !room.isArchived && !room.isAnalyticsRoom,
@ -402,9 +401,9 @@ class ClientChooserButton extends StatelessWidget {
controller.pangeaController, controller.pangeaController,
); );
break; break;
case SettingsAction.spaceAnalytics: // case SettingsAction.spaceAnalytics:
context.go('/rooms/analytics'); // context.go('/rooms/analytics');
break; // break;
case SettingsAction.myAnalytics: case SettingsAction.myAnalytics:
context.go('/rooms/mylearning'); context.go('/rooms/mylearning');
break; break;
@ -497,7 +496,7 @@ enum SettingsAction {
// #Pangea // #Pangea
learning, learning,
joinWithClassCode, joinWithClassCode,
spaceAnalytics, // spaceAnalytics,
myAnalytics, myAnalytics,
findAConversationPartner, findAConversationPartner,
logout, logout,

@ -132,6 +132,19 @@ abstract class ClientManager {
customImageResizer: PlatformInfos.isMobile ? customImageResizer : null, customImageResizer: PlatformInfos.isMobile ? customImageResizer : null,
defaultNetworkRequestTimeout: const Duration(minutes: 30), defaultNetworkRequestTimeout: const Duration(minutes: 30),
enableDehydratedDevices: true, 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); }.contains(type);
// #Pangea // #Pangea
// we're filtering out some state events that we don't want to render
static const Set<String> importantStateEvents = { static const Set<String> importantStateEvents = {
EventTypes.Encryption, EventTypes.Encryption,
EventTypes.RoomCreate, EventTypes.RoomCreate,

Loading…
Cancel
Save