Refactor theTimelineItemIdentifier handling; stop relying on optional EventOrTransactionIds and be explicit when setting composer modes from the draft service.

This commit is contained in:
Stefan Ceriu
2024-10-16 14:07:54 +03:00
parent 3d797ccabb
commit 35d49c4d85
56 changed files with 313 additions and 298 deletions
@@ -593,13 +593,14 @@ class TimelineViewModel: TimelineViewModelType, TimelineViewModelProtocol {
actionsSubject.send(.composer(action: .clear))
switch mode {
case .reply(let itemId, _, _):
case .reply(let eventID, _, _):
await timelineController.sendMessage(message,
html: html,
inReplyTo: itemId,
inReplyToEventID: eventID,
intentionalMentions: intentionalMentions)
case .edit(let originalItemId):
await timelineController.edit(originalItemId,
case .edit(let originalEventOrTransactionID, let source):
await timelineController.edit(originalEventOrTransactionID,
useTimeline: source == .timeline,
message: message,
html: html,
intentionalMentions: intentionalMentions)
@@ -610,6 +611,7 @@ class TimelineViewModel: TimelineViewModelType, TimelineViewModelProtocol {
case .none:
await timelineController.sendMessage(message,
html: html,
inReplyToEventID: nil,
intentionalMentions: intentionalMentions)
}
case .recordVoiceMessage, .previewVoiceMessage: