resolve merge conflicts

This commit is contained in:
ggurdin 2025-06-24 16:32:39 -04:00
commit 196803cf44
No known key found for this signature in database
GPG key ID: A01CB41737CBB478
4 changed files with 32 additions and 31 deletions

View file

@ -50,6 +50,11 @@ jobs:
cp public/.env public/assets/.env
touch public/assets/envs.json
echo "$ENV_OVERRIDES" >> public/assets/envs.json
mkdir -p public/.well-known
curl https://app.pangea.chat/.well-known/apple-app-site-association \
-o public/.well-known/apple-app-site-association
curl https://app.pangea.chat/.well-known/assetlinks.json \
-o public/.well-known/assetlinks.json
- name: Deploy to GitHub Pages
uses: peaceiris/actions-gh-pages@v4
with:

View file

@ -1,7 +1,6 @@
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:matrix/matrix.dart';
import 'package:scroll_to_index/scroll_to_index.dart';
import 'package:fluffychat/config/app_config.dart';
@ -11,9 +10,7 @@ import 'package:fluffychat/pages/chat/events/message.dart';
import 'package:fluffychat/pages/chat/seen_by_row.dart';
import 'package:fluffychat/pages/chat/typing_indicators.dart';
import 'package:fluffychat/pangea/activity_planner/activity_plan_message.dart';
import 'package:fluffychat/pangea/events/constants/pangea_event_types.dart';
import 'package:fluffychat/pangea/events/extensions/pangea_event_extension.dart';
import 'package:fluffychat/pangea/extensions/pangea_room_extension.dart';
import 'package:fluffychat/utils/account_config.dart';
import 'package:fluffychat/utils/matrix_sdk_extensions/filtered_timeline_extension.dart';
import 'package:fluffychat/utils/platform_infos.dart';
@ -43,30 +40,6 @@ class ChatEventList extends StatelessWidget {
final horizontalPadding = FluffyThemes.isColumnMode(context) ? 8.0 : 0.0;
final events = timeline.events.filterByVisibleInGui();
// #Pangea
if (timeline.room.activityPlan?.endAt != null &&
timeline.room.activityPlan!.endAt!.isBefore(DateTime.now())) {
final eventIndex = events.indexWhere(
(e) => e.originServerTs.isBefore(
timeline.room.activityPlan!.endAt!,
),
);
if (eventIndex != -1) {
events.insert(
eventIndex,
Event(
type: PangeaEventTypes.activityPlanEnd,
eventId: timeline.room.client.generateUniqueTransactionId(),
senderId: timeline.room.client.userID!,
originServerTs: timeline.room.activityPlan!.endAt!,
room: timeline.room,
content: {},
),
);
}
}
// Pangea#
final animateInEventIndex = controller.animateInEventIndex;
// create a map of eventId --> index to greatly improve performance of

View file

@ -26,7 +26,6 @@ class PangeaEventTypes {
static const capacity = "pangea.capacity";
static const activityPlan = "pangea.activity_plan";
static const activityPlanEnd = "pangea.activity.end";
static const userAge = "pangea.user_age";

View file

@ -4,9 +4,33 @@ import 'package:fluffychat/pangea/common/constants/model_keys.dart';
import '../../config/app_config.dart';
extension VisibleInGuiExtension on List<Event> {
List<Event> filterByVisibleInGui({String? exceptionEventId}) => where(
(event) => event.isVisibleInGui || event.eventId == exceptionEventId,
).toList();
List<Event> filterByVisibleInGui({String? exceptionEventId}) {
final visibleEvents =
where((e) => e.isVisibleInGui || e.eventId == exceptionEventId)
.toList();
// Hide creation state events:
if (visibleEvents.isNotEmpty &&
visibleEvents.last.type == EventTypes.RoomCreate) {
var i = visibleEvents.length - 2;
while (i > 0) {
final event = visibleEvents[i];
if (!event.isState) break;
if (event.type == EventTypes.Encryption) {
i--;
continue;
}
if (event.type == EventTypes.RoomMember &&
event.roomMemberChangeType == RoomMemberChangeType.acceptInvite) {
i--;
continue;
}
visibleEvents.removeAt(i);
i--;
}
}
return visibleEvents;
}
}
extension IsStateExtension on Event {