From b4718965257d256165d11973e8de69411d241c3b Mon Sep 17 00:00:00 2001 From: Jason Beetham Date: Thu, 5 Mar 2026 12:09:32 -0700 Subject: [PATCH 1/2] Add option to show homeserver in the timeline --- commet/lib/config/preferences.dart | 3 +++ .../events/timeline_event_view_message.dart | 1 + .../layouts/timeline_event_layout_message.dart | 12 +++++++++++- .../categories/app/appearance_settings_page.dart | 16 ++++++++++++++++ 4 files changed, 31 insertions(+), 1 deletion(-) diff --git a/commet/lib/config/preferences.dart b/commet/lib/config/preferences.dart index ced30c1c3..a73b550a2 100644 --- a/commet/lib/config/preferences.dart +++ b/commet/lib/config/preferences.dart @@ -301,6 +301,9 @@ class Preferences { BoolPreference showRoomPreviewsInSpaceSidebar = BoolPreference("show_room_previews_in_space_sidebar", defaultValue: true); + BoolPreference showHomeserverInTimeline = + BoolPreference("show_homeserver_in_timeline", defaultValue: false); + BoolPreference autoFocusMessageTextBox = BoolPreference( "auto_focus_message_textbox", defaultGetter: () => Layout.mobile ? false : true, diff --git a/commet/lib/ui/molecules/timeline_events/events/timeline_event_view_message.dart b/commet/lib/ui/molecules/timeline_events/events/timeline_event_view_message.dart index 6a9e3d650..f547f0b9f 100644 --- a/commet/lib/ui/molecules/timeline_events/events/timeline_event_view_message.dart +++ b/commet/lib/ui/molecules/timeline_events/events/timeline_event_view_message.dart @@ -126,6 +126,7 @@ class _TimelineEventViewMessageState extends State return TimelineEventLayoutMessage( senderName: senderName, senderColor: senderColor, + senderId: preferences.showHomeserverInTimeline.value ? senderId : null, senderAvatar: senderAvatar, showSender: showSender, formattedContent: formattedContent, diff --git a/commet/lib/ui/molecules/timeline_events/layouts/timeline_event_layout_message.dart b/commet/lib/ui/molecules/timeline_events/layouts/timeline_event_layout_message.dart index e55a2bd6b..62f0dd736 100644 --- a/commet/lib/ui/molecules/timeline_events/layouts/timeline_event_layout_message.dart +++ b/commet/lib/ui/molecules/timeline_events/layouts/timeline_event_layout_message.dart @@ -10,6 +10,7 @@ class TimelineEventLayoutMessage extends StatelessWidget { {super.key, required this.senderName, required this.senderColor, + this.senderId, this.senderAvatar, this.formattedContent, this.attachments, @@ -26,6 +27,7 @@ class TimelineEventLayoutMessage extends StatelessWidget { this.avatarBuilder, this.showSender = true}); final String senderName; + final String? senderId; final Color senderColor; final ImageProvider? senderAvatar; final Widget? formattedContent; @@ -70,7 +72,15 @@ class TimelineEventLayoutMessage extends StatelessWidget { Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ - name(), + Row( + mainAxisAlignment: MainAxisAlignment.start, + spacing: 3, + children: [ + name(), + if(senderId != null) + tiamat.Text.labelLow(senderId!.split(":")[1], color: Color.from(alpha: 1.0, red: 0.5, green: 0.5, blue: 0.5),) + ] + ), if (timestamp != null) tiamat.Text.labelLow(timestamp!), ], diff --git a/commet/lib/ui/pages/settings/categories/app/appearance_settings_page.dart b/commet/lib/ui/pages/settings/categories/app/appearance_settings_page.dart index 8e7524d29..ac646d2d2 100644 --- a/commet/lib/ui/pages/settings/categories/app/appearance_settings_page.dart +++ b/commet/lib/ui/pages/settings/categories/app/appearance_settings_page.dart @@ -58,6 +58,16 @@ class _AppearanceSettingsPageState extends State { desc: "Description for enabling using the preview list in the space sidebar"); + String get labelShowUserHomeServerInMessage => Intl.message( + "Homeserver in timeline", + name: "labelShowUserHomeServerInMessage", + desc: "Label for showing homeserver in message rendering"); + + String get labelShowUserHomeServerInMessageDescription => Intl.message( + "Show the homeserver of a user next to their name in the timeline", + name: "labelShowUserHomeServerInMessageDescription", + desc: "Description for showing homeserver in message rendering"); + @override void initState() { super.initState(); @@ -128,6 +138,12 @@ class _AppearanceSettingsPageState extends State { preference: preferences.usePlaceholderRoomAvatars, title: labelUseRoomAvatarPlaceholders, description: labelUseRoomAvatarPlaceholdersDescription, + ), + const Seperator(), + BooleanPreferenceToggle( + preference: preferences.showHomeserverInTimeline, + title: labelShowUserHomeServerInMessage, + description: labelShowUserHomeServerInMessageDescription, ) ], ), From ab6d5ca590a5e1346844823c8a9c50ba2ba5bd9d Mon Sep 17 00:00:00 2001 From: Jason Beetham Date: Fri, 13 Mar 2026 15:09:30 -0600 Subject: [PATCH 2/2] Show full user ID instead of just home server in timeline --- commet/lib/config/preferences.dart | 4 ++-- .../events/timeline_event_view_message.dart | 2 +- .../timeline_event_layout_message.dart | 2 +- .../organisms/chat/.chat_view.dart.kate-swp | Bin 0 -> 381 bytes .../app/appearance_settings_page.dart | 22 +++++++++--------- 5 files changed, 15 insertions(+), 15 deletions(-) create mode 100644 commet/lib/ui/organisms/chat/.chat_view.dart.kate-swp diff --git a/commet/lib/config/preferences.dart b/commet/lib/config/preferences.dart index a73b550a2..a9efef13b 100644 --- a/commet/lib/config/preferences.dart +++ b/commet/lib/config/preferences.dart @@ -301,8 +301,8 @@ class Preferences { BoolPreference showRoomPreviewsInSpaceSidebar = BoolPreference("show_room_previews_in_space_sidebar", defaultValue: true); - BoolPreference showHomeserverInTimeline = - BoolPreference("show_homeserver_in_timeline", defaultValue: false); + BoolPreference showUserIdInTimeline = + BoolPreference("show_user_id_in_timeline", defaultValue: false); BoolPreference autoFocusMessageTextBox = BoolPreference( "auto_focus_message_textbox", diff --git a/commet/lib/ui/molecules/timeline_events/events/timeline_event_view_message.dart b/commet/lib/ui/molecules/timeline_events/events/timeline_event_view_message.dart index f547f0b9f..14b5bae8e 100644 --- a/commet/lib/ui/molecules/timeline_events/events/timeline_event_view_message.dart +++ b/commet/lib/ui/molecules/timeline_events/events/timeline_event_view_message.dart @@ -126,7 +126,7 @@ class _TimelineEventViewMessageState extends State return TimelineEventLayoutMessage( senderName: senderName, senderColor: senderColor, - senderId: preferences.showHomeserverInTimeline.value ? senderId : null, + senderId: preferences.showUserIdInTimeline.value ? senderId : null, senderAvatar: senderAvatar, showSender: showSender, formattedContent: formattedContent, diff --git a/commet/lib/ui/molecules/timeline_events/layouts/timeline_event_layout_message.dart b/commet/lib/ui/molecules/timeline_events/layouts/timeline_event_layout_message.dart index 62f0dd736..dd94dcd58 100644 --- a/commet/lib/ui/molecules/timeline_events/layouts/timeline_event_layout_message.dart +++ b/commet/lib/ui/molecules/timeline_events/layouts/timeline_event_layout_message.dart @@ -78,7 +78,7 @@ class TimelineEventLayoutMessage extends StatelessWidget { children: [ name(), if(senderId != null) - tiamat.Text.labelLow(senderId!.split(":")[1], color: Color.from(alpha: 1.0, red: 0.5, green: 0.5, blue: 0.5),) + tiamat.Text.labelLow(senderId!, color: Color.from(alpha: 1.0, red: 0.5, green: 0.5, blue: 0.5),) ] ), if (timestamp != null) diff --git a/commet/lib/ui/organisms/chat/.chat_view.dart.kate-swp b/commet/lib/ui/organisms/chat/.chat_view.dart.kate-swp new file mode 100644 index 0000000000000000000000000000000000000000..864d75378ccebaddcafadf8aebc9eeb703c8eea5 GIT binary patch literal 381 zcmZQzU=Z?7EJ;-eE>A2_aLdd|RWQ;sU|?VnNjb@Q_Wu))faji3GA}POeJy_&Y8LDX zl&J(_E+FPnKmtKf2_VJ5P6vSaED9TSpm6w262~)vTRDh5d0%{RM$b+~{dT8<@ i2<1q=0vQM8!t4ie85Iz!L186`-~xFJT%a&0cLe~k`7_J_ literal 0 HcmV?d00001 diff --git a/commet/lib/ui/pages/settings/categories/app/appearance_settings_page.dart b/commet/lib/ui/pages/settings/categories/app/appearance_settings_page.dart index ac646d2d2..141bdee32 100644 --- a/commet/lib/ui/pages/settings/categories/app/appearance_settings_page.dart +++ b/commet/lib/ui/pages/settings/categories/app/appearance_settings_page.dart @@ -58,15 +58,15 @@ class _AppearanceSettingsPageState extends State { desc: "Description for enabling using the preview list in the space sidebar"); - String get labelShowUserHomeServerInMessage => Intl.message( - "Homeserver in timeline", - name: "labelShowUserHomeServerInMessage", - desc: "Label for showing homeserver in message rendering"); + String get labelShowUserIdInMessage => Intl.message( + "Show User ID in Timeline", + name: "labelShowUserIdInMessage", + desc: "Label for showing full user ID in message rendering"); - String get labelShowUserHomeServerInMessageDescription => Intl.message( - "Show the homeserver of a user next to their name in the timeline", - name: "labelShowUserHomeServerInMessageDescription", - desc: "Description for showing homeserver in message rendering"); + String get labelShowUserIdInMessageDescription => Intl.message( + "Show the full address of a user next to their name in the timeline", + name: "labelShowUserIdInMessageDescription", + desc: "Description for showing full user ID in message rendering"); @override void initState() { @@ -141,9 +141,9 @@ class _AppearanceSettingsPageState extends State { ), const Seperator(), BooleanPreferenceToggle( - preference: preferences.showHomeserverInTimeline, - title: labelShowUserHomeServerInMessage, - description: labelShowUserHomeServerInMessageDescription, + preference: preferences.showUserIdInTimeline, + title: labelShowUserIdInMessage, + description: labelShowUserIdInMessageDescription, ) ], ),