Author Topic: Не обновляется информация о контактах  (Read 9522 times)

0 Members and 1 Guest are viewing this topic.

Offline Davis

  • Newbie
  • *
  • Posts: 34
  • Country: ua
  • Karma: 3
Ну там теперь запрашивается весь VCard, все работает пока что
 

Offline Davis

  • Newbie
  • *
  • Posts: 34
  • Country: ua
  • Karma: 3
Я удалил локально все контакты, запустил миранду и через 5 секунд имел заполненный ростер и 112 аватаров в папке AvatarCache

Правда у меня еще вот это дополнение.
Каждая миранда каждый день обновляет собственный VCard с сервера. Ну как бы логично, что в первую очередь правильную инфу о себе должен иметь хозяин. Если что-то изменилось, он остальным сообщит :)
« Last Edit: 02 06 2016, 15:29:38 by Davis »
 

Offline Magic

  • Full Member
  • ***
  • Posts: 125
  • Country: ua
  • Karma: 5
то что запрашивается весь вкард, это логично. Я имею ввиду, что если поменяется только телефон, а не аватар, то никакого уведомления не придет, верно?
Версионность вкард не везде поддерживается к сожалению (
Если аватар сменился, пока ты был в оффлайне - также не спасет, потому что уведомления не будет.
Если ручки растут из попки - это ножки
 

Offline Davis

  • Newbie
  • *
  • Posts: 34
  • Country: ua
  • Karma: 3
Я сейчас подопытному аккаунту сменил аватар, а второму подопытному - телефонный номер. завтра посмотрим
 

Offline Davis

  • Newbie
  • *
  • Posts: 34
  • Country: ua
  • Karma: 3
Ну да, аватары теперь работают отлично, при создании контакта VCard считывается, но изменения текстовой инфы потом, в процессе жизни, собеседникам не передается. Сама себе миранда их скачивает каждый день благодаря моему вышеупомянутому изменению при подключении. А вот VCard собеседников качается только при открытии их личной информации.
Так что поспешил я отключать сканирование, возвращаю WhenWasIt/Birthdays/RefreshDetails, пусть каждый день обновляет все VCard.
 

Offline Magic

  • Full Member
  • ***
  • Posts: 125
  • Country: ua
  • Karma: 5
Ну да, аватары теперь работают отлично, при создании контакта VCard считывается, но изменения текстовой инфы потом, в процессе жизни, собеседникам не передается. Сама себе миранда их скачивает каждый день благодаря моему вышеупомянутому изменению при подключении. А вот VCard собеседников качается только при открытии их личной информации.
Так что поспешил я отключать сканирование, возвращаю WhenWasIt/Birthdays/RefreshDetails, пусть каждый день обновляет все VCard.
спасибо за тесты :)
Если ручки растут из попки - это ножки
 

Offline sunchatru

  • Newbie
  • *
  • Posts: 3
  • Karma: 0
А можно было бы сделать простое решение только лишь на базе миранды.
Внедрить в миранду "слушать" сервисные сообщения.
К примеру вы админ, внесли изменение на определенном пользователе, и нет никакой необходимости заставлять обновлять всех клиентов все контакты на сервере, нас интересует только этот один.

Делаем массовую рассылку обычного сообщения по всем контактам сервера в виде #update jid@jabber.ru
В миранде это не будет отображаться как сообщение, но она будет знать что у jid@jabber.ru необходимо обновить данные.
Чтобы это обновление не создавало пиковую нагрузку, можно выбирать случайный интервал исполнения команды 5/10/15 минут.
Причем эти сообщения прекрасно будут уходить в оффлайн, а когда пользователь подключится, то сразу получит команду на обновление определенных jid и все счастливы :)
Так же думаю такая схема была бы справедлива если все данные берутся не из AD а клиент хранит их на сервере. Обновил свои данные, и автоматом отправил своим друзьям и коллегам новости что у вас есть что-то новенькое для них)
 

Offline ghazan

  • Miranda NG founder
  • Administrator
  • *****
  • Posts: 549
  • Country: ru
  • Karma: 41
  • Jabber ID
sunchatru,
есть схема, которая позволяет это делать без всяких яких, на основе версионирования всего вкард (а не только аватара) и передачи соотв хэша в презенс. к сожалению, ejabberd режет это к чертям собачьим, на openfire не пробовал.