Remove flutter chat #26
7 changed files with 25 additions and 28 deletions
treewide replace authorId with sender
commit
c520516d51
|
|
@ -14,14 +14,14 @@ class AuthorController extends AsyncNotifier<Membership> {
|
||||||
@override
|
@override
|
||||||
Future<Membership> build() async {
|
Future<Membership> build() async {
|
||||||
final member = await ref.watch(
|
final member = await ref.watch(
|
||||||
UserController.provider(message.authorId).future,
|
UserController.provider(message.sender).future,
|
||||||
);
|
);
|
||||||
|
|
||||||
final pmp = message.metadata?["pmp"] == null
|
final pmp = message.metadata?["pmp"] == null
|
||||||
? null
|
? null
|
||||||
: Membership.fromContent(
|
: Membership.fromContent(
|
||||||
IMap(message.metadata?["pmp"]),
|
IMap(message.metadata?["pmp"]),
|
||||||
message.authorId,
|
message.sender,
|
||||||
ref.watch(
|
ref.watch(
|
||||||
ClientStateController.provider.select(
|
ClientStateController.provider.select(
|
||||||
(value) => value?.homeserverUrl,
|
(value) => value?.homeserverUrl,
|
||||||
|
|
@ -34,8 +34,8 @@ class AuthorController extends AsyncNotifier<Membership> {
|
||||||
status: member?.status ?? MembershipStatus.leave,
|
status: member?.status ?? MembershipStatus.leave,
|
||||||
avatarUrl: pmp?.avatarUrl ?? member?.avatarUrl,
|
avatarUrl: pmp?.avatarUrl ?? member?.avatarUrl,
|
||||||
displayName:
|
displayName:
|
||||||
pmp?.displayName ?? member?.displayName ?? message.authorId.localpart,
|
pmp?.displayName ?? member?.displayName ?? message.sender.localpart,
|
||||||
userId: message.authorId,
|
userId: message.sender,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -89,8 +89,8 @@ class MessageController extends AsyncNotifier<Message?> {
|
||||||
|
|
||||||
return acc.update(
|
return acc.update(
|
||||||
key,
|
key,
|
||||||
(list) => list.add(event.authorId),
|
(list) => list.add(event.sender),
|
||||||
ifAbsent: () => IList([event.authorId]),
|
ifAbsent: () => IList([event.sender]),
|
||||||
);
|
);
|
||||||
})
|
})
|
||||||
.map((key, value) => MapEntry(key, value.unlock))
|
.map((key, value) => MapEntry(key, value.unlock))
|
||||||
|
|
@ -101,7 +101,7 @@ class MessageController extends AsyncNotifier<Message?> {
|
||||||
metadata: metadata,
|
metadata: metadata,
|
||||||
id: config.event.eventId,
|
id: config.event.eventId,
|
||||||
reactions: reactions,
|
reactions: reactions,
|
||||||
authorId: event.authorId,
|
sender: event.sender,
|
||||||
text: content["formatted_body"] ?? content["body"] ?? "",
|
text: content["formatted_body"] ?? content["body"] ?? "",
|
||||||
replyToMessageId: replyId,
|
replyToMessageId: replyId,
|
||||||
deliveredAt: config.event.timestamp,
|
deliveredAt: config.event.timestamp,
|
||||||
|
|
@ -113,7 +113,7 @@ class MessageController extends AsyncNotifier<Message?> {
|
||||||
metadata: {...metadata, "body": content},
|
metadata: {...metadata, "body": content},
|
||||||
id: config.event.eventId,
|
id: config.event.eventId,
|
||||||
reactions: reactions,
|
reactions: reactions,
|
||||||
authorId: event.authorId,
|
sender: event.sender,
|
||||||
deliveredAt: config.event.timestamp,
|
deliveredAt: config.event.timestamp,
|
||||||
text: content,
|
text: content,
|
||||||
);
|
);
|
||||||
|
|
@ -131,12 +131,12 @@ class MessageController extends AsyncNotifier<Message?> {
|
||||||
// },
|
// },
|
||||||
// id: eventId,
|
// id: eventId,
|
||||||
// deliveredAt: originServerTs,
|
// deliveredAt: originServerTs,
|
||||||
// authorId: senderId,
|
// sender: senderId,
|
||||||
// ),
|
// ),
|
||||||
("m.sticker" || "m.room.message") => switch (content["msgtype"]) {
|
("m.sticker" || "m.room.message") => switch (content["msgtype"]) {
|
||||||
null || "m.image" => Message.image(
|
null || "m.image" => Message.image(
|
||||||
id: config.event.eventId,
|
id: config.event.eventId,
|
||||||
authorId: event.authorId,
|
sender: event.sender,
|
||||||
reactions: reactions,
|
reactions: reactions,
|
||||||
source: source,
|
source: source,
|
||||||
replyToMessageId: replyId,
|
replyToMessageId: replyId,
|
||||||
|
|
@ -151,7 +151,7 @@ class MessageController extends AsyncNotifier<Message?> {
|
||||||
metadata: metadata,
|
metadata: metadata,
|
||||||
id: config.event.eventId,
|
id: config.event.eventId,
|
||||||
reactions: reactions,
|
reactions: reactions,
|
||||||
authorId: event.authorId,
|
sender: event.sender,
|
||||||
source: source,
|
source: source,
|
||||||
replyToMessageId: replyId,
|
replyToMessageId: replyId,
|
||||||
deliveredAt: config.event.timestamp,
|
deliveredAt: config.event.timestamp,
|
||||||
|
|
@ -165,7 +165,7 @@ class MessageController extends AsyncNotifier<Message?> {
|
||||||
"${content["displayname"] ?? event.stateKey} ${switch (content["membership"]) {
|
"${content["displayname"] ?? event.stateKey} ${switch (content["membership"]) {
|
||||||
"invite" => "was invited to",
|
"invite" => "was invited to",
|
||||||
"join" => "joined",
|
"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",
|
"ban" => "was banned from",
|
||||||
"knock" => "asked to join",
|
"knock" => "asked to join",
|
||||||
_ => "did something relating to",
|
_ => "did something relating to",
|
||||||
|
|
@ -173,7 +173,7 @@ class MessageController extends AsyncNotifier<Message?> {
|
||||||
),
|
),
|
||||||
|
|
||||||
"m.room.server_acl" => toSystemMessage(
|
"m.room.server_acl" => toSystemMessage(
|
||||||
"${event.authorId} updated the server ban list.",
|
"${event.sender} updated the server ban list.",
|
||||||
),
|
),
|
||||||
|
|
||||||
"m.room.redaction" =>
|
"m.room.redaction" =>
|
||||||
|
|
@ -196,7 +196,7 @@ class MessageController extends AsyncNotifier<Message?> {
|
||||||
metadata: metadata,
|
metadata: metadata,
|
||||||
reactions: reactions,
|
reactions: reactions,
|
||||||
id: config.event.eventId,
|
id: config.event.eventId,
|
||||||
authorId: event.authorId,
|
sender: event.sender,
|
||||||
replyToMessageId: replyId,
|
replyToMessageId: replyId,
|
||||||
)
|
)
|
||||||
: null),
|
: null),
|
||||||
|
|
|
||||||
|
|
@ -100,8 +100,8 @@ class RoomChatController extends AsyncNotifier<InMemoryChatController> {
|
||||||
reactions: IMap(message.reactions)
|
reactions: IMap(message.reactions)
|
||||||
.update(
|
.update(
|
||||||
key,
|
key,
|
||||||
(reactors) => [...reactors, event.authorId],
|
(reactors) => [...reactors, event.sender],
|
||||||
ifAbsent: () => [event.authorId],
|
ifAbsent: () => [event.sender],
|
||||||
)
|
)
|
||||||
.unlock,
|
.unlock,
|
||||||
),
|
),
|
||||||
|
|
@ -139,7 +139,7 @@ class RoomChatController extends AsyncNotifier<InMemoryChatController> {
|
||||||
reactions: IMap(message.reactions)
|
reactions: IMap(message.reactions)
|
||||||
.update(
|
.update(
|
||||||
key,
|
key,
|
||||||
(reactors) => IList(reactors).remove(redacts.authorId).unlock,
|
(reactors) => IList(reactors).remove(redacts.sender).unlock,
|
||||||
)
|
)
|
||||||
.where((_, value) => value.isNotEmpty)
|
.where((_, value) => value.isNotEmpty)
|
||||||
.unlock,
|
.unlock,
|
||||||
|
|
@ -291,7 +291,7 @@ class RoomChatController extends AsyncNotifier<InMemoryChatController> {
|
||||||
if (shouldMention == true &&
|
if (shouldMention == true &&
|
||||||
relation != null &&
|
relation != null &&
|
||||||
relationType == RelationType.reply)
|
relationType == RelationType.reply)
|
||||||
relation.authorId,
|
relation.sender,
|
||||||
].toIList(),
|
].toIList(),
|
||||||
room: taggedMessage.contains("@room"),
|
room: taggedMessage.contains("@room"),
|
||||||
),
|
),
|
||||||
|
|
@ -347,7 +347,7 @@ class RoomChatController extends AsyncNotifier<InMemoryChatController> {
|
||||||
|
|
||||||
final reactionEvent = reactionEvents?.firstWhereOrNull(
|
final reactionEvent = reactionEvents?.firstWhereOrNull(
|
||||||
(event) =>
|
(event) =>
|
||||||
event.authorId == userId &&
|
event.sender == userId &&
|
||||||
event.content["m.relates_to"]?["key"] == reaction,
|
event.content["m.relates_to"]?["key"] == reaction,
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,7 @@ abstract class Event with _$Event {
|
||||||
@JsonKey(name: "timeline_rowid") required int timelineRowId,
|
@JsonKey(name: "timeline_rowid") required int timelineRowId,
|
||||||
required String roomId,
|
required String roomId,
|
||||||
required String eventId,
|
required String eventId,
|
||||||
@JsonKey(name: "sender") required String authorId,
|
required String sender,
|
||||||
required String type,
|
required String type,
|
||||||
String? stateKey,
|
String? stateKey,
|
||||||
@EpochDateTimeConverter() required DateTime timestamp,
|
@EpochDateTimeConverter() required DateTime timestamp,
|
||||||
|
|
|
||||||
|
|
@ -26,6 +26,6 @@ class MessageAvatar extends ConsumerWidget {
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
loading: () =>
|
loading: () =>
|
||||||
AvatarOrHash(null, message.authorId.substring(1), height: height),
|
AvatarOrHash(null, message.sender.substring(1), height: height),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@ class MessageDisplayname extends ConsumerWidget {
|
||||||
)
|
)
|
||||||
: null,
|
: null,
|
||||||
child: Text(
|
child: Text(
|
||||||
"${membership.displayName}${message.metadata?["pmp"] == null ? "" : " (via ${message.authorId})"}",
|
"${membership.displayName}${message.metadata?["pmp"] == null ? "" : " (via ${message.sender})"}",
|
||||||
style: style,
|
style: style,
|
||||||
overflow: TextOverflow.ellipsis,
|
overflow: TextOverflow.ellipsis,
|
||||||
),
|
),
|
||||||
|
|
|
||||||
|
|
@ -81,7 +81,7 @@ class RoomChat extends HookConsumerWidget {
|
||||||
);
|
);
|
||||||
|
|
||||||
List<PopupMenuEntry> getMessageOptions(Message message) {
|
List<PopupMenuEntry> getMessageOptions(Message message) {
|
||||||
final isSentByMe = message.authorId == userId;
|
final isSentByMe = message.sender == userId;
|
||||||
return [
|
return [
|
||||||
if (ref.watch(
|
if (ref.watch(
|
||||||
PowerLevelController.provider(
|
PowerLevelController.provider(
|
||||||
|
|
@ -405,10 +405,7 @@ class RoomChat extends HookConsumerWidget {
|
||||||
onTapReply: notifier.scrollToMessage,
|
onTapReply: notifier.scrollToMessage,
|
||||||
updateMessage: controller.updateMessage,
|
updateMessage: controller.updateMessage,
|
||||||
isSentByMe: isSentByMe,
|
isSentByMe: isSentByMe,
|
||||||
extra: ExpandableImageMessage(
|
extra: ExpandableImageMessage(message),
|
||||||
message,
|
|
||||||
index: index,
|
|
||||||
),
|
|
||||||
),
|
),
|
||||||
|
|
||||||
fileMessageBuilder:
|
fileMessageBuilder:
|
||||||
|
|
@ -462,7 +459,7 @@ class RoomChat extends HookConsumerWidget {
|
||||||
required bool isSentByMe,
|
required bool isSentByMe,
|
||||||
MessageGroupStatus? groupStatus,
|
MessageGroupStatus? groupStatus,
|
||||||
}) => Text(
|
}) => Text(
|
||||||
"${message.authorId} sent ${message.metadata?["eventType"]}",
|
"${message.sender} sent ${message.metadata?["eventType"]}",
|
||||||
style: theme.textTheme.labelSmall?.copyWith(
|
style: theme.textTheme.labelSmall?.copyWith(
|
||||||
color: Colors.grey,
|
color: Colors.grey,
|
||||||
),
|
),
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue