Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ICQ: параметр "В сети с" бесполезен #3967

Closed
dartraiden opened this issue Nov 26, 2023 · 7 comments
Closed

ICQ: параметр "В сети с" бесполезен #3967

dartraiden opened this issue Nov 26, 2023 · 7 comments

Comments

@dartraiden
Copy link
Member

dartraiden commented Nov 26, 2023

15:50
собеседник уходит в оффлайн

15:52
я переподключаюсь к сети

15:53
я смотрю юзеринфо собеседника

результат:
"последнее появление" совершенно верно показывает, что человек был в 15:50
"в сети с" всегда показывает время запроса юзеринфо, т.е. если запрашивать его каждые пару минут, там будет всегда текущее время, время запроса

следует либо понять, для чего задумывался параметр "в сети" и починить, либо выпилить его

@SM-Sergey
Copy link

"в сети с" - сервер нынче такого не умеет. Тут два варианта - показывать, когда юзер выходил в онлайн последний раз за время онлайна миранды, но это нечестно, юзер мог быть и раньше в онлайне. А еще, из-за очень криминального бага, заключающегося в том, что статусы и lastseen не инициализируются из буддилиста при выходе миранды в онлайн, мы в принципе не видим, кто в онлайне был сразу (характерное следствие из этого - "я сам" и "ICQ Official" сразу в оффлайне, чего быть не должно в принципе, ну и остальные контакты ровно так же). Так что, получается, что выпилить.

@SM-Sergey
Copy link

SM-Sergey commented Nov 26, 2023

"последнее появление" совершенно верно показывает,

Далеко не всегда. см. почему-то закрытый баг #3810 - неверно интерпретируется lastseen - и это не устранено.

  • если значение 1388520000, либо 0 при том, что контакт изначально (в буддилисте) в оффлайне, и не был в онлайне за текущую сессию, то это означает "long time ago", а не конкретное время.
  • если значение 0 иначе = показать текущее время, то есть контакт сейчас в онлайне.

@georgehazan
Copy link
Member

Нормально всё приходит в списке контактов, "onlineTime": 24, надо просто один раз от текущего времени отмотать это назад

@dartraiden
Copy link
Member Author

dartraiden commented Nov 27, 2023

После фикса поведение изменилось.

Когда собеседник сидит с Миранды, у него теперь пустое "В сети с"
Когда сидит с оф. клиента - не пустое.

@dartraiden dartraiden reopened this Nov 27, 2023
@georgehazan
Copy link
Member

Миранда честно разрывает сессию между заходами, поэтому ее и не видно
Если не разрывать сессию, то будут другие баги

@dartraiden
Copy link
Member Author

dartraiden commented Nov 28, 2023

Окей, предположим, что собеседник пользуется лишь Мирандой.
Когда он оффлайн, то сессии нет, поэтому пусто, это ок.
Но когда он онлайн, то сессия есть. Почему же всё равно пусто?

ghazan, 28.11.2023
[14:25] вот тут яхз, надо исследовать
[14:26] может надо в создание сессии передать какую-то шнягу
[14:26] моно попробовать зайти с RnQ и посмотреть - не появится лм время

@dartraiden dartraiden reopened this Nov 28, 2023
@SM-Sergey
Copy link

SM-Sergey commented Nov 28, 2023

Нюанс... Берем тот же "ICQ Official".
при запросе presence - видим правильный onlinetime и правильный (нулевой) lastseen
при запросе GetUserInfo - видим совершенно левый lastseen, и не видим onlinetime.

вывод: onlinetime надо брать из presence. и запрашивать presence соответственно при открытии юзердеталей

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants