Update a message by replacing it entirely
(&mut self, msg: SessionMessage)
| 480 | |
| 481 | /// Update a message by replacing it entirely |
| 482 | pub fn update_message(&mut self, msg: SessionMessage) -> Option<&SessionMessage> { |
| 483 | if let Some(pos) = self.messages.iter().position(|m| m.id == msg.id) { |
| 484 | self.messages[pos] = msg; |
| 485 | self.touch(); |
| 486 | Some(&self.messages[pos]) |
| 487 | } else { |
| 488 | // New message - append |
| 489 | self.messages.push(msg); |
| 490 | self.touch(); |
| 491 | self.messages.last() |
| 492 | } |
| 493 | } |
| 494 | |
| 495 | /// Update a specific part within a message |
| 496 | pub fn update_part(&mut self, msg_id: &str, part: MessagePart) -> Option<&MessagePart> { |