treewide replace authorId with sender

This commit is contained in:
Henry Hiles 2026-05-12 20:50:55 -04:00
commit c520516d51
Signed by: Henry-Hiles
SSH key fingerprint: SHA256:VKQUdS31Q90KvX7EkKMHMBpUspcmItAh86a+v7PGiIs
7 changed files with 25 additions and 28 deletions

View file

@ -14,14 +14,14 @@ class AuthorController extends AsyncNotifier<Membership> {
@override
Future<Membership> build() async {
final member = await ref.watch(
UserController.provider(message.authorId).future,
UserController.provider(message.sender).future,
);
final pmp = message.metadata?["pmp"] == null
? null
: Membership.fromContent(
IMap(message.metadata?["pmp"]),
message.authorId,
message.sender,
ref.watch(
ClientStateController.provider.select(
(value) => value?.homeserverUrl,
@ -34,8 +34,8 @@ class AuthorController extends AsyncNotifier<Membership> {
status: member?.status ?? MembershipStatus.leave,
avatarUrl: pmp?.avatarUrl ?? member?.avatarUrl,
displayName:
pmp?.displayName ?? member?.displayName ?? message.authorId.localpart,
userId: message.authorId,
pmp?.displayName ?? member?.displayName ?? message.sender.localpart,
userId: message.sender,
);
}

View file

@ -89,8 +89,8 @@ class MessageController extends AsyncNotifier<Message?> {
return acc.update(
key,
(list) => list.add(event.authorId),
ifAbsent: () => IList([event.authorId]),
(list) => list.add(event.sender),
ifAbsent: () => IList([event.sender]),
);
})
.map((key, value) => MapEntry(key, value.unlock))
@ -101,7 +101,7 @@ class MessageController extends AsyncNotifier<Message?> {
metadata: metadata,
id: config.event.eventId,
reactions: reactions,
authorId: event.authorId,
sender: event.sender,
text: content["formatted_body"] ?? content["body"] ?? "",
replyToMessageId: replyId,
deliveredAt: config.event.timestamp,
@ -113,7 +113,7 @@ class MessageController extends AsyncNotifier<Message?> {
metadata: {...metadata, "body": content},
id: config.event.eventId,
reactions: reactions,
authorId: event.authorId,
sender: event.sender,
deliveredAt: config.event.timestamp,
text: content,
);
@ -131,12 +131,12 @@ class MessageController extends AsyncNotifier<Message?> {
// },
// id: eventId,
// deliveredAt: originServerTs,
// authorId: senderId,
// sender: senderId,
// ),
("m.sticker" || "m.room.message") => switch (content["msgtype"]) {
null || "m.image" => Message.image(
id: config.event.eventId,
authorId: event.authorId,
sender: event.sender,
reactions: reactions,
source: source,
replyToMessageId: replyId,
@ -151,7 +151,7 @@ class MessageController extends AsyncNotifier<Message?> {
metadata: metadata,
id: config.event.eventId,
reactions: reactions,
authorId: event.authorId,
sender: event.sender,
source: source,
replyToMessageId: replyId,
deliveredAt: config.event.timestamp,
@ -165,7 +165,7 @@ class MessageController extends AsyncNotifier<Message?> {
"${content["displayname"] ?? event.stateKey} ${switch (content["membership"]) {
"invite" => "was invited to",
"join" => "joined",
"leave" => event.authorId == event.stateKey ? "left" : (event.unsigned["prev_content"]?["membership"] == "ban" ? "was unbanned from" : "was kicked from"),
"leave" => event.sender == event.stateKey ? "left" : (event.unsigned["prev_content"]?["membership"] == "ban" ? "was unbanned from" : "was kicked from"),
"ban" => "was banned from",
"knock" => "asked to join",
_ => "did something relating to",
@ -173,7 +173,7 @@ class MessageController extends AsyncNotifier<Message?> {
),
"m.room.server_acl" => toSystemMessage(
"${event.authorId} updated the server ban list.",
"${event.sender} updated the server ban list.",
),
"m.room.redaction" =>
@ -196,7 +196,7 @@ class MessageController extends AsyncNotifier<Message?> {
metadata: metadata,
reactions: reactions,
id: config.event.eventId,
authorId: event.authorId,
sender: event.sender,
replyToMessageId: replyId,
)
: null),

View file

@ -100,8 +100,8 @@ class RoomChatController extends AsyncNotifier<InMemoryChatController> {
reactions: IMap(message.reactions)
.update(
key,
(reactors) => [...reactors, event.authorId],
ifAbsent: () => [event.authorId],
(reactors) => [...reactors, event.sender],
ifAbsent: () => [event.sender],
)
.unlock,
),
@ -139,7 +139,7 @@ class RoomChatController extends AsyncNotifier<InMemoryChatController> {
reactions: IMap(message.reactions)
.update(
key,
(reactors) => IList(reactors).remove(redacts.authorId).unlock,
(reactors) => IList(reactors).remove(redacts.sender).unlock,
)
.where((_, value) => value.isNotEmpty)
.unlock,
@ -291,7 +291,7 @@ class RoomChatController extends AsyncNotifier<InMemoryChatController> {
if (shouldMention == true &&
relation != null &&
relationType == RelationType.reply)
relation.authorId,
relation.sender,
].toIList(),
room: taggedMessage.contains("@room"),
),
@ -347,7 +347,7 @@ class RoomChatController extends AsyncNotifier<InMemoryChatController> {
final reactionEvent = reactionEvents?.firstWhereOrNull(
(event) =>
event.authorId == userId &&
event.sender == userId &&
event.content["m.relates_to"]?["key"] == reaction,
);

View file

@ -11,7 +11,7 @@ abstract class Event with _$Event {
@JsonKey(name: "timeline_rowid") required int timelineRowId,
required String roomId,
required String eventId,
@JsonKey(name: "sender") required String authorId,
required String sender,
required String type,
String? stateKey,
@EpochDateTimeConverter() required DateTime timestamp,

View file

@ -26,6 +26,6 @@ class MessageAvatar extends ConsumerWidget {
),
),
loading: () =>
AvatarOrHash(null, message.authorId.substring(1), height: height),
AvatarOrHash(null, message.sender.substring(1), height: height),
);
}

View file

@ -27,7 +27,7 @@ class MessageDisplayname extends ConsumerWidget {
)
: null,
child: Text(
"${membership.displayName}${message.metadata?["pmp"] == null ? "" : " (via ${message.authorId})"}",
"${membership.displayName}${message.metadata?["pmp"] == null ? "" : " (via ${message.sender})"}",
style: style,
overflow: TextOverflow.ellipsis,
),

View file

@ -81,7 +81,7 @@ class RoomChat extends HookConsumerWidget {
);
List<PopupMenuEntry> getMessageOptions(Message message) {
final isSentByMe = message.authorId == userId;
final isSentByMe = message.sender == userId;
return [
if (ref.watch(
PowerLevelController.provider(
@ -405,10 +405,7 @@ class RoomChat extends HookConsumerWidget {
onTapReply: notifier.scrollToMessage,
updateMessage: controller.updateMessage,
isSentByMe: isSentByMe,
extra: ExpandableImageMessage(
message,
index: index,
),
extra: ExpandableImageMessage(message),
),
fileMessageBuilder:
@ -462,7 +459,7 @@ class RoomChat extends HookConsumerWidget {
required bool isSentByMe,
MessageGroupStatus? groupStatus,
}) => Text(
"${message.authorId} sent ${message.metadata?["eventType"]}",
"${message.sender} sent ${message.metadata?["eventType"]}",
style: theme.textTheme.labelSmall?.copyWith(
color: Colors.grey,
),