bhcli

"Strange's fork of n0tr1v's bhcli (onion)"
git clone https://git.dasho.dev/Strange/bhcli.git
Log | Files | Refs | README

commit 5dc2e977f827f7904c9848e1bbe5c1ad6b31448e
parent ee032b97003aad2fdb45a5f3ca26f5478b2e8276
Author: n0tr1v <n0tr1v@protonmail.com>
Date:   Thu, 13 Apr 2023 00:28:54 -0700

fix "same timestamp deleted message" issue that dup messages

Diffstat:
Msrc/main.rs | 22++++++++++++++++++++--
1 file changed, 20 insertions(+), 2 deletions(-)

diff --git a/src/main.rs b/src/main.rs @@ -1461,8 +1461,26 @@ fn update_messages(new_messages: Vec<Message>, mut messages: MutexGuard<Vec<Mess } if new_parsed_dt == parsed_dt { if old_msg.text != new_msg.text { - messages.insert(old_msg_ptr, new_msg); - old_msg_ptr += 1; + let mut found = false; + let mut x = 0; + loop { + x += 1; + if let Some(old_msg) = messages.get(old_msg_ptr + x) { + let parsed_dt = parse_date(&old_msg.date, datetime_fmt); + if new_parsed_dt == parsed_dt { + if old_msg.text == new_msg.text { + found = true; + break; + } + continue; + } + } + break; + } + if !found { + messages.insert(old_msg_ptr, new_msg); + old_msg_ptr += 1; + } } old_msg_ptr += 1; break;