Author Topic: Опять меняется протокол ICQ?  (Read 58365 times)

0 Members and 1 Guest are viewing this topic.

Offline dartraiden

Re: Опять меняется протокол ICQ?
« Reply #810 on: 05 01 2020, 17:38:47 »
Nick - указанный пользователем
Не совсем понятно, как это происходит, ведь значение ключа Nick (которое является отображаемым именем в клисте) у нас строго равно "FirstName"+" "+"LastName".

Удалённые аккаунты распознаются по специальному флагу  "deleted":true, который прилетает от сервера. Кроме того, у удалённого аккаунта FirstName всегда = [deleted] (по крайней мере, никто пока не прислал примера, доказывающего иное), а значит, Nick тоже, поскольку, как сказано выше, он конструируется программой. Поэтому, такие контакты для простоты зовутся [deleted]-контакты, поскольку если у контакта флажок "deleted":true, то и имя у него [deleted].

А некоторые контакты имеют только FirstName="[deleted]", Nick - указанный пользователем, но не имеют ключа IcqDeleted=1
Пример такого уина, пожалуйста. Может, там пользователь взял и сам себе поставил такое имя по приколу, а аккаунт никто и не удалял.
« Last Edit: 05 01 2020, 18:03:52 by dartraiden »
_██_
(°ᴗƪ)
 

Offline dartraiden

Re: Опять меняется протокол ICQ?
« Reply #811 on: 05 01 2020, 17:57:53 »
Если у контактна назначено имя руками, то в списке контактов он не станет как [deleted] и без серости невозможно понять, есть контакт в ростере или нет.
Tipper должен уметь извлекать из базы значение любого ключа. Например, ключа IcqDeleted. Соответственно, через говносинтаксис Variables (?if) можно попытаться прикрутить в подсказку вывод сведений о том, что контакт удалён .
« Last Edit: 05 01 2020, 18:04:26 by dartraiden »
_██_
(°ᴗƪ)
 

Offline dartraiden

Re: Опять меняется протокол ICQ?
« Reply #812 on: 05 01 2020, 18:10:48 »
А некоторые контакты имеют только FirstName="[deleted]", Nick - указанный пользователем, но не имеют ключа IcqDeleted=1. Смущает эта ситуация.
Может, по какой-то причине в Nick залипло какое-то гуано со старого протокола...
Можно попробовать убить Nick и перезапуститься. Но это не объясняет того, почему контакт не получает IcqDeleted.
_██_
(°ᴗƪ)
 

Offline IceHat

  • Newbie
  • *
  • Posts: 14
  • Karma: 0
Re: Опять меняется протокол ICQ?
« Reply #813 on: 06 01 2020, 13:39:26 »
Пример такого уина, пожалуйста. Может, там пользователь взял и сам себе поставил такое имя по приколу, а аккаунт никто и не удалял.
У меня таких пользователей достаточно много. Вот некоторые: 646130706, 671070858, 679147480


Можно попробовать убить Nick и перезапуститься. Но это не объясняет того, почему контакт не получает IcqDeleted.
Попробовал так сделать с одним из UIN указанных выше. Удалил параметр Nick в ветке протокола через DB Editor. Перезапустил Миранду. Она либо подтянула Nick с сервера, либо скопировала из параметра MyHandle модуля CList (может дело в этом?). Ключ Nick снова появился, а флаг IcqDelete=1 нет. Вот и непонятно, удален такой контакт на сервере или нет.
 

Offline dartraiden

Re: Опять меняется протокол ICQ?
« Reply #814 on: 06 01 2020, 13:56:20 »
Она либо подтянула Nick с сервера
Исключено, Nick вычисляется по указанной выше формуле.

либо скопировала из параметра MyHandle модуля CList
Тоже исключено, протокол ничего про MyHandle не знает. MyHandle это ключ, создаваемый и используемый клистом (он и находится в секции клиста).

Я добавил 646130706, он сразу получил IcqDeleted и Nick = [deleted]. Затем я создал MyHandle = 123, удалил Nick и IcqDeleted, и перезапустился. Nick снова стал [deleted] и создался ключ IcqDeleted (от сервера прилетел флаг deleted:true). Почему у вас иное поведение - загадка...

Попробуйте через редактор базы экспортировать проблемный контакт в ini целиком. А я попробую втащить это себе. Кроме того, какая версия: стабильная или в разработке?

Ещё можно после удаления Nick включить запись нетлога аська и перезапуститься, а затем поискать в логе проблемный UIN и убедиться, что deleted:true от сервера прилетает. А вот почему Миранда его не обрабатывает именно у вас - сложно сказать.
« Last Edit: 06 01 2020, 14:08:26 by dartraiden »
_██_
(°ᴗƪ)
 

Offline dartraiden

Re: Опять меняется протокол ICQ?
« Reply #815 on: 09 01 2020, 09:09:10 »
Разобрались: почему-то для этого контакта не приходит от сервера флажок о том, что он удалён. Вероятно, придётся вернутся от анализа флажка к анализу имени, как уже было ранее (и кому-то тут в топике, помню это было не по душе, но другого варианта, похоже, теперь нет).
_██_
(°ᴗƪ)
 
The following users thanked this post: IceHat

Offline IceHat

  • Newbie
  • *
  • Posts: 14
  • Karma: 0
Re: Опять меняется протокол ICQ?
« Reply #816 on: 09 01 2020, 16:38:44 »

Рад, что это прояснилось. Значит это
у удалённого аккаунта FirstName всегда = [deleted]
остается основным показателем того, что контакту на сервере ICQ точно капут, и его можно без сомнений переводить на протокол Dummy даже без флага IcqDeleted=1? Я пока такие контакты не трогал. Понимаю, что кто-то ради прикола может прописать себе в имя "[deleted]", но этот крайне частный случай, который не столь важен.
 

Offline dartraiden

Re: Опять меняется протокол ICQ?
« Reply #817 on: 09 01 2020, 17:18:52 »
Получается, что да. Ну и если такой контакт удалить и добавить с нуля, то от сервера сразу же прилетает всё, что надо. Проблема возникает только с некоторыми контактами, которые уже добавлены.
_██_
(°ᴗƪ)
 

Offline dartraiden

Re: Опять меняется протокол ICQ?
« Reply #818 on: 10 01 2020, 18:44:51 »
В ночник прилетел фикс для [deleted] (теперь Миранда смотрит на имя контакта, так что если какой-то шутник установит себе такое имя, он получит ключ IcqDeleted=1, что, впрочем, ничем ему не грозит).

Также исправлено затирание пароля в базе, которое иногда случалось.
_██_
(°ᴗƪ)
 

Offline IceHat

  • Newbie
  • *
  • Posts: 14
  • Karma: 0
Re: Опять меняется протокол ICQ?
« Reply #819 on: 14 01 2020, 21:39:44 »
dartraiden, наблюдаю странное явление. Переводил те псевдо-удаленные контакты с FirstName="[deleted]", к которым с сервера не приходит параметр deleted:true, на протокол Dummy через DB Editor (в сервисном режиме менял параметр в разделе [Protocol] на имя dummy протокола). Почему-то после перезапуска Миранды эти контакты снова прилетели с сервера в локальный список контактов. У них пустая история и минимум информации, но они появились в виде контактов протокола ICQ, как будто их не удаляли из моего списка на сервере. Конечно, их первоначальная копия переведенная мной на dummy также существует в клиенте со всей старой информацией и историей, как и должно быть. Почему сервер ICQ пропихивает их в мой список снова? Делал это на сборке alfa #22443. ??? Может их нужно в клиенте удалять вручную, чтобы на сервер отправилась инфа, что их удалил и я? Вот пример такого UIN 684349950.
С нормально удаленными контактами (с ключом deleted:true) такого не происходит, они после правки в базе существуют у меня только в протоколе Dummy.
 

Offline dartraiden

Re: Опять меняется протокол ICQ?
« Reply #820 on: 14 01 2020, 23:14:40 »
Полное хз, а у меня по такому же сценарию (перевод на другой протокол) уже ничего не прилетает. Получается, что контакт удалён из системы, но из серверного списка у вас сервер его почему-то не удалил. У вас есть три варианта:
- сообщить Mail.ru, что в их серверном коде есть некий баг, из-за которого удалённый из системы контакт не вычистился автоматом из вашего серверного списка контактов (разумеется, это шутка, до реальных разработчиков бэкенда вы не достучитесь)
- сделать за сервер его работу и прибить эти прилетающие контакты в Миранде, чтобы Миранда стёрла их с сервера.
- не переводить их на другой протокол, поскольку Миранда их больше не удаляет.
« Last Edit: 14 01 2020, 23:18:51 by dartraiden »
_██_
(°ᴗƪ)
 
The following users thanked this post: feniks

Offline zlamanuk

  • Newbie
  • *
  • Posts: 13
  • Karma: 0
Re: Опять меняется протокол ICQ?
« Reply #821 on: 23 01 2020, 05:32:59 »
всех приветствую! в последнее время (1 месяц) заметил, что не всем ICQ контактам отправляется сообщение, иногда не с первого раза. А вчера и от пользователей начали приходить сообщения, что не могут мне в ICQ написать. Сейчас зашел сюда, и понял, что iCQ опять с протоколом что-то мудрит. Как пофиксить?
 

Offline Apollo2k4

Re: Опять меняется протокол ICQ?
« Reply #822 on: 23 01 2020, 06:06:36 »
zlamanuk, попробуйте плагин который в версии для разработки, если не подходит то нужны нетлоги всех непонятных ситуаций.
«Все глупости совершаются с серьёзным выражением лица» © Кён «Меланхолия Сузумии Харухи»

Правильно заданный вопрос – 50% решения.
Правила постинга

Tox ID: apollo2k4@toxme.io
 

Offline zlamanuk

  • Newbie
  • *
  • Posts: 13
  • Karma: 0
Re: Опять меняется протокол ICQ?
« Reply #823 on: 23 01 2020, 06:11:30 »
zlamanuk, попробуйте плагин который в версии для разработки, если не подходит то нужны нетлоги всех непонятных ситуаций.

я правильно вас понял, это имеете в виду Версия в разработке (0.95.11) ?

я использую вот эту сейчас



подозреваю это как то взаимосвязано

« Last Edit: 23 01 2020, 06:40:58 by zlamanuk »
 

Offline Apollo2k4

Re: Опять меняется протокол ICQ?
« Reply #824 on: 23 01 2020, 07:14:44 »
я правильно вас понял, это имеете в виду Версия в разработке (0.95.11) ?
Да
подозреваю это как то взаимосвязано
Возможно, сервер вообще удалял все удалённые с сервера контакты, но были пожелания не удалять такие контакты чтобы не терять историю. Опять же на всё нужны нетлоги чтобы понимать что происходит под копотом.
«Все глупости совершаются с серьёзным выражением лица» © Кён «Меланхолия Сузумии Харухи»

Правильно заданный вопрос – 50% решения.
Правила постинга

Tox ID: apollo2k4@toxme.io
 
The following users thanked this post: zlamanuk