RU.GOLDED --------------- < Пред. | След. > -- < @ > -- < Сообщ. > -- < Эхи > --
 Nп/п : 35 из 100
 От   : Nil A                               2:5015/46         21 фев 26 08:27:18
 К    : Stas Mishchenkov                                      21 фев 26 08:39:02
 Тема : Баг в GoldED - Opus MSG lastread
----------------------------------------------------------------------------------
                                                                                 
@MSGID: 2:5015/46 699944d1
@REPLY: 2:460/5858 6994cbf0
@CHRS: CP866 2
@TZUTC: 0300
@TID: hpt/lnx 1.9
Hello, Stas!

Tuesday February 17 2026 23:07, from Stas Mishchenkov -> Nil A:

 SM> А, вот, обнаружил я проблему, которую не знаю, как решать пока. Если в
 SM> OPUS Msg Base дед удаляет сообщение, то он не правит ластриды. Если
 SM> ластрид _другого_ пользователя указывает на удалённое сообщение с
 SM> большим номером, чем существующие, то так и останется. Если новые
 SM> сообщения будут тоже с меньшим номером, то они для другого
 SM> пользователя будут считаться прочитанными, а это не правильно и
 SM> чревато. На сколько я понимаю, починить это не трудно.

 Посмотрел. Обновление lastread происходит при _выходе_ из арии, не
важно для какой базы, логика одинаковая, и ластриды обновляются только для
_текущего_ пользователя.
 Такой подход работает для Squish и JAM в режиме "soft" удаления. В
OPUS/Msg сообщения удаляются всегда по-сути "hard", причём могут
переиспользоваться старые номера - тут и возникает описанная тобой проблема.

 Я посмотрел код Хаски утилиты sqpack, и при перепаковки баз, если
есть удалённые сообщения, то ластриды правятся для _всех_ пользователей. В
этом плане sqpack работает корректно.

 Чтобы починить голдед, нужно также править ластриды для всех
пользователей при удалении. Это немного другой интерфейс получится, а не то, что
сейчас close() вызывает у базы метод save_lastread() для текущего просто
пользователя.
Фикс возможен, но оне не в две строчки просто.

Best Regards, Nil
--- GoldED+/LNX 1.1.5-b20250409
 * Origin: Gemini can make mistakes, so double-check it (2:5015/46)
SEEN-BY: 46/49 50/109 104/117 221/6 240/1120 301/1
341/66 451/31 452/28 166
SEEN-BY: 455/19 460/58 463/68 4500/1 5000/111
5015/42 46 255 5019/40 400
SEEN-BY: 5020/101 113 545 620 715 830 846 848
1042 2992 4441 12000 5022/128
SEEN-BY: 5029/32 5030/49 115 1081 1474 5049/1 3
5050/151 5053/51 58 5054/89
SEEN-BY: 5058/104 5060/900 5061/133 5068/45 5083/1
444 6078/80 6090/1
@PATH: 5015/46 5020/1042 4441



   GoldED+ VK   │                                                 │   09:55:30    
                                                                                
В этой области больше нет сообщений.

Остаться здесь
Перейти к списку сообщений
Перейти к списку эх