Engine: deleteAddressNoteMessage drops the row from the store and enqueues an address_note_message_remove op. Collab apply mirrors the existing edit path. AddressNoteChange grows a messageRemoved case. GTK: right-click on a user message offers Edit and Delete. Edit swaps the body label for an inline editor; Save commits via editUserMessage. Delete confirms first, then removes the row from the popover and via the engine.
11 lines
295 B
Swift
11 lines
295 B
Swift
import Foundation
|
|
|
|
public enum AddressNoteChange: Sendable {
|
|
case noteAdded(AddressNote)
|
|
case noteUpdated(AddressNote)
|
|
case noteRemoved(AddressNote)
|
|
case messageAppended(AddressNoteMessage)
|
|
case messageEdited(AddressNoteMessage)
|
|
case messageRemoved(AddressNoteMessage)
|
|
}
|