fix: don't show green underlines on own messages (#3997)

This commit is contained in:
ggurdin 2025-09-16 10:25:15 -04:00 committed by GitHub
parent 70f0e4ddfd
commit 712cd101d5
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 15 additions and 18 deletions

View file

@ -58,6 +58,7 @@ import 'package:fluffychat/pangea/extensions/pangea_room_extension.dart';
import 'package:fluffychat/pangea/instructions/instructions_enum.dart';
import 'package:fluffychat/pangea/learning_settings/constants/language_constants.dart';
import 'package:fluffychat/pangea/learning_settings/widgets/p_language_dialog.dart';
import 'package:fluffychat/pangea/message_token_text/tokens_util.dart';
import 'package:fluffychat/pangea/spaces/utils/load_participants_util.dart';
import 'package:fluffychat/pangea/toolbar/enums/message_mode_enum.dart';
import 'package:fluffychat/pangea/toolbar/widgets/message_selection_overlay.dart';
@ -448,18 +449,7 @@ class ChatController extends State<ChatPageWithRoom>
update is Map<String, dynamic> &&
(update['level_up'] != null || update['unlocked_constructs'] != null),
)
// .listen(
// (update) => Future.delayed(
// const Duration(milliseconds: 500),
// () => LevelUpUtil.showLevelUpDialog(
// update['level_up'],
// context,
// ),
// ),
// )
.listen(
// remove delay now that GetAnalyticsController._onLevelUp
// is async is should take roughly 500ms to make requests anyway
(update) {
if (update['level_up'] != null) {
LevelUpUtil.showLevelUpDialog(
@ -791,6 +781,7 @@ class ChatController extends State<ChatPageWithRoom>
_botAudioSubscription?.cancel();
_router.routeInformationProvider.removeListener(_onRouteChanged);
carouselController.dispose();
TokensUtil.clearNewTokenCache();
//Pangea#
super.dispose();
}
@ -2074,12 +2065,12 @@ class ChatController extends State<ChatPageWithRoom>
}
}
Future<void> _sendMessageAnalytics(
void _sendMessageAnalytics(
String? eventId, {
PangeaRepresentation? originalSent,
PangeaMessageTokens? tokensSent,
ChoreoRecord? choreo,
}) async {
}) {
// There's a listen in my_analytics_controller that decides when to auto-update
// analytics based on when / how many messages the logged in user send. This
// stream sends the data for newly sent messages.

View file

@ -396,9 +396,10 @@ class HtmlMessage extends StatelessWidget {
);
final fontSize = renderer.fontSize(context) ?? this.fontSize;
final newTokens = pangeaMessageEvent != null
? TokensUtil.getNewTokens(pangeaMessageEvent!)
: [];
final newTokens =
pangeaMessageEvent != null && !pangeaMessageEvent!.ownMessage
? TokensUtil.getNewTokens(pangeaMessageEvent!)
: [];
// Pangea#
switch (node.localName) {

View file

@ -1,3 +1,5 @@
import 'package:matrix/matrix.dart';
import 'package:fluffychat/pangea/events/event_wrappers/pangea_message_event.dart';
import 'package:fluffychat/pangea/events/models/pangea_token_model.dart';
import 'package:fluffychat/pangea/events/models/pangea_token_text_model.dart';
@ -66,6 +68,10 @@ class TokensUtil {
static List<PangeaTokenText> getNewTokens(
PangeaMessageEvent event,
) {
if (!event.eventId.isValidMatrixId) {
return [];
}
final messageInUserL2 = event.messageDisplayLangCode.split("-")[0] ==
MatrixState.pangeaController.languageController.userL2?.langCodeShort;
@ -102,7 +108,7 @@ class TokensUtil {
return newTokens.any((t) => t == token.text);
}
static clearNewTokenCache(String eventID) {
static clearNewTokenCache() {
_newTokenCache.clear();
}

View file

@ -545,7 +545,6 @@ class MessageOverlayController extends State<MessageSelectionOverlay>
);
if (mounted) {
TokensUtil.clearNewTokenCache(event.eventId);
setState(() {});
}
}