GvM
Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Цитата: Если протокол не передаёт информацию о последнем появлении (как Hangouts), то используется время, когда Миранда лично видела этот контакт. Если она его никогда не видела (контакт не появлялся в сети с момента установки плагина), то <never seen>, всё логично. | Я не очень в терминологии миранды - под протоколом подразумевается наверно его реализация на уровне миранды? Т.к. сам hangouts выдает такую штуку, но т.к. миранда работает с ним через старый google talk - оно и не поддерживается (если не ошибаюсь, да и с ним вообще проблемы с онлайн статусом - некоторые контакты бывает пишут из оффлайна, хотя в офф.клиенте находятся в онлайне, но уже другая тема). На самом деле в данном случае я бы предпочел, чтобы <never seen> не выводилось вообще, так же как для онлайн контактов - тогда можно было бы использовать галочку "Show status if there is no status message" и там бы просто писалось по статусу - Online/Offline (сейчас так работает для онлайн контактов), не было бы мешанины однострочных и двустрочных элементов. Либо, чтобы через Contacts->last seen->accounts to watch можно было бы отключить работу функции для hangouts (я галочку снял, а у меня там last seen: <never seen> пишет) Цитата: Результат: Миранда ни разу не видела этот контакт в сети лично (он уже офнулся на момент добавления), но показывает, что он был в сети 3 минуты назад. Информация получена от сервера, всё работает. Если у вас при подключении протокола аси к сети у контактов так и осталось <never seen>, то либо эти контакты ни разу не пользовались новым протоколом (в оф.клиенте, миранде, неважно, главное - что они сидели на старом протоколе и уже год не заходили), либо (если вы знаете, что контакт точно был не так давно, но инфы об онлайне вам всё равно не прилетело) - давайте нетлог аси при подключении. | Странно что у вас все отлично... тот контакт (офф. мобильный, который был <never seen>, хотя я его видел на прошлой неделе) в итоге вышел в сеть (правда быстро ушел) и у меня появилось время его ухода, а ведь до его выхода в сеть - я несколько раз проверял с перезапуском миранды и там оставалось <never seen>. Более того - у меня есть целая куча контактов которые реально выходили в сеть в этом или прошлом месяце и они все со значениями <never seen>, при этом у них в User Info в разделе Last seen: <never seen>, но разделе ICQ: есть как last seen (Sat Sep 28 14:53:28 2019), так и online since (Sat Sep 28 14:57:18 2019), значения похожи на реальные (кроме того что online since больше чем last seen и вообще на каждое открытие user info - online since - меняется), в netlog есть самый большой ответ со всеми пользователями из контактов, где у многих есть инфа в поле lastSeen, например: Код: {"nick": "5...5", "aimId": "5...5", "displayId": "5...5", "friendly": "K...T", "state": "offline", "onlineTime": 2457056, "userType": "icq", "buddyIcon": "http://api.icq.net/expressions/getAsset?f=native&t=5...5&id=...", "iconId": "000...c", "capabilities": ["094...00", "09...00", ....], "lastseen": 1569671608, "smsNumber": "+7...7", "abPhoneNumber": "+7...7", "abPhones": [{"number": "+7...7", "rawNumber": "+7....7", "type": "mobile"}], "profile": {"displayId": "K...T", "aimId": "5...5", "firstName": "K...T", "aboutMe": "K....S."}} | Есть также контакт который скорее всего не выходил совсем - у него тоже есть last seen и online since, но в online since пишется моё текущее время, а по плагину - <never seen>. Так что инфа видимо всё-таки прилетает. upd: поправил и уточнил часть ответа Цитата: Как вы предлагаете показывать время последней видимости у того, кто сейчас всё ещё онлайн? Каждые сколько-то секунд в базе обновлять время? А если у юзера несколько сотен контактов? (у нас есть и такие). |
Цитата: - при выходе его в оффлайн (он ушёл, пишем) | Стоп-стоп! Там я жаловался на то, что мирандовский контакт ушел в оффлайн, а в статусе красовалось время не того когда он ушел в оффлайн, а когда он перед этим пришел в онлайн, точнее когда я включил свой клиент, а человек уже был в онлайне! Тестил с мирандовским контактом - попросил его выйти на пару минут, а время висело очень давнее - время включения моего клиента. А так - конечно не стоит запрашивать время того кто итак онлайн - думаю там должно красоваться "В сети" - это уже можно сделать для контакт листа, т.к. для онлайн статусов нет подписи и можно использовать галочку "Show status if there is no status message", как я уточнил выше. Но при этом в подсказке Tipper имеем "Последнее появление", понятно что текст можно изменить в настройках и получается это скорее "Последнее изменение статуса", но здесь я говорю о том что для онлайн контакта оно и не нужно в Tipper, раз тем более оно равно времени моего включения, а не реального прихода человека в онлайн (я понимаю что видимо для миранды с моим выходом в онлайн - пользователи приходят в онлайн с моим соединением). Собственно видимо поэтому в user info есть два поля - last seen и online since, т.к. поведение для них несколько разное - первое - то что отвечает сервер, время ухода в оффлайн, а не изменения статуса, а online since - время которое может отслеживать миранда, т.к. сервер такое не отдает - это либо время моего входа в сеть, когда клиент увидел что человек в онлайне, либо время выхода контакта в онлайн, т.е. изменения статуса с оффлайн на онлайн). Цитата: Таймауты это сознательное введение себя в заблуждение. | Я на время тестов плагина отключил эту штуку, но пока, для меня - она самое практичное, что есть из-за проблем с <never seen>. | Всего записей: 50 | Зарегистр. 06-01-2004 | Отправлено: 01:55 27-10-2019 | Исправлено: GvM, 12:04 27-10-2019 |
|