From 72744421364289d5eb659db07e61477d3b5e2008 Mon Sep 17 00:00:00 2001 From: ggurdin Date: Mon, 3 Nov 2025 11:44:39 -0500 Subject: [PATCH] fix: handle missing roles key in activity role model fromJson function --- lib/pangea/activity_planner/activity_plan_model.dart | 3 ++- lib/pangea/activity_sessions/activity_roles_model.dart | 6 +++--- lib/pangea/activity_sessions/activity_room_extension.dart | 7 ++++--- pubspec.yaml | 2 +- 4 files changed, 10 insertions(+), 8 deletions(-) diff --git a/lib/pangea/activity_planner/activity_plan_model.dart b/lib/pangea/activity_planner/activity_plan_model.dart index ef7287c42..1869be642 100644 --- a/lib/pangea/activity_planner/activity_plan_model.dart +++ b/lib/pangea/activity_planner/activity_plan_model.dart @@ -1,7 +1,8 @@ +import 'package:flutter/foundation.dart'; + import 'package:fluffychat/pangea/activity_planner/activity_plan_request.dart'; import 'package:fluffychat/pangea/common/config/environment.dart'; import 'package:fluffychat/pangea/common/constants/model_keys.dart'; -import 'package:flutter/foundation.dart'; class ActivityPlanModel { final String activityId; diff --git a/lib/pangea/activity_sessions/activity_roles_model.dart b/lib/pangea/activity_sessions/activity_roles_model.dart index a2942e751..ff8b392ae 100644 --- a/lib/pangea/activity_sessions/activity_roles_model.dart +++ b/lib/pangea/activity_sessions/activity_roles_model.dart @@ -38,11 +38,11 @@ class ActivityRolesModel { } static ActivityRolesModel fromJson(Map json) { - final roles = (json['roles'] as Map) - .map((id, value) => MapEntry(id, ActivityRoleModel.fromJson(value))); + final roles = (json['roles'] as Map?) + ?.map((id, value) => MapEntry(id, ActivityRoleModel.fromJson(value))); return ActivityRolesModel( - roles, + roles ?? {}, ); } } diff --git a/lib/pangea/activity_sessions/activity_room_extension.dart b/lib/pangea/activity_sessions/activity_room_extension.dart index 1fe3591a1..76b7ff905 100644 --- a/lib/pangea/activity_sessions/activity_room_extension.dart +++ b/lib/pangea/activity_sessions/activity_room_extension.dart @@ -1,6 +1,10 @@ import 'dart:math'; +import 'package:flutter/foundation.dart'; + import 'package:collection/collection.dart'; +import 'package:matrix/matrix.dart'; + import 'package:fluffychat/pangea/activity_planner/activity_plan_model.dart'; import 'package:fluffychat/pangea/activity_sessions/activity_role_model.dart'; import 'package:fluffychat/pangea/activity_sessions/activity_roles_model.dart'; @@ -19,9 +23,6 @@ import 'package:fluffychat/pangea/events/constants/pangea_event_types.dart'; import 'package:fluffychat/pangea/events/event_wrappers/pangea_message_event.dart'; import 'package:fluffychat/pangea/extensions/pangea_room_extension.dart'; import 'package:fluffychat/widgets/matrix.dart'; -import 'package:flutter/foundation.dart'; -import 'package:matrix/matrix.dart'; - import '../activity_summary/activity_summary_repo.dart'; class RoleException implements Exception { diff --git a/pubspec.yaml b/pubspec.yaml index c6e62d5b8..042d69637 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -6,7 +6,7 @@ description: Learn a language while texting your friends. # Pangea# publish_to: none # On version bump also increase the build number for F-Droid -version: 4.1.15+1 +version: 4.1.15+2 environment: sdk: ">=3.0.0 <4.0.0"