Author Topic: Протокол VKontakte  (Read 937549 times)

0 Members and 76 Guests are viewing this topic.

Offline Corak

Re: Протокол VKontakte
« Reply #1005 on: 11 01 2016, 17:51:50 »
Постоянный крашик на новой системе Windows 7 x64 (чистый профайл):
"vk_thread.cpp (501): CVkProto::OnReceiveUserInfo"

http://trac.miranda-ng.org/ticket/1148
Spoiler
Code: [Select]
Likely cause of the crash plugin: VKontakte protocol

Exception: Access Violation at address 00000000771A3290. Reading from address 00000EF2BB2356A8.

Stack Trace:
---------------------------------------------------------------
00000000771A3290 (ntdll 0000000077150000): (filename not available) (0): RtlFreeHeap
0000000076F51A4A (kernel32 0000000076F30000): (filename not available) (0): HeapFree
000000005DE88D94 (MSVCR100 000000005DE20000): (filename not available) (0): free
00000000120A7B6F (libjson 00000000120A0000): e:\sources\miranda_ng_compilation\libs\libjson\src\internaljsonnode.cpp (183): internalJSONNode::~internalJSONNode
00000000120A79B2 (libjson 00000000120A0000): e:\sources\miranda_ng_compilation\libs\libjson\src\jsonchildren.cpp (82): jsonChildren::deleteAll
00000000120A7B4F (libjson 00000000120A0000): e:\sources\miranda_ng_compilation\libs\libjson\src\internaljsonnode.cpp (183): internalJSONNode::~internalJSONNode
00000000120A79B2 (libjson 00000000120A0000): e:\sources\miranda_ng_compilation\libs\libjson\src\jsonchildren.cpp (82): jsonChildren::deleteAll
00000000120A7B4F (libjson 00000000120A0000): e:\sources\miranda_ng_compilation\libs\libjson\src\internaljsonnode.cpp (183): internalJSONNode::~internalJSONNode
00000000120A79B2 (libjson 00000000120A0000): e:\sources\miranda_ng_compilation\libs\libjson\src\jsonchildren.cpp (82): jsonChildren::deleteAll
00000000120A7B4F (libjson 00000000120A0000): e:\sources\miranda_ng_compilation\libs\libjson\src\internaljsonnode.cpp (183): internalJSONNode::~internalJSONNode
00000000120A12D3 (libjson 00000000120A0000): e:\sources\miranda_ng_compilation\libs\libjson\src\jsonnode.inl (42): JSONNode::~JSONNode
0000000017BE3F28 (VKontakte 0000000017BE0000): e:\sources\miranda_ng_compilation\protocols\vkontakte\src\vk_thread.cpp (501): CVkProto::OnReceiveUserInfo
0000000017BE65B2 (VKontakte 0000000017BE0000): e:\sources\miranda_ng_compilation\protocols\vkontakte\src\vk_queue.cpp (56): CVkProto::ExecuteRequest
0000000017BE69A7 (VKontakte 0000000017BE0000): e:\sources\miranda_ng_compilation\protocols\vkontakte\src\vk_queue.cpp (147): CVkProto::WorkerThread
0000000012331588 (mir_core 0000000012320000): e:\sources\miranda_ng_compilation\src\mir_core\src\threads.cpp (160): forkthreadex_r
0000000076F459ED (kernel32 0000000076F30000): (filename not available) (0): BaseThreadInitThunk
000000007717C541 (ntdll 0000000077150000): (filename not available) (0): RtlUserThreadStart
[close]
 

Offline Elzor

Re: Протокол VKontakte
« Reply #1006 on: 11 01 2016, 18:05:01 »
Corak, на нетлдог было бы интересно взглянуть. "Ядро Miranda NG" и ВКашное подключение в настройках нетлога включите, все остальное - выключите. Нетлог можно на какой-нибудь пастбин и мне ссылку в лс.
 

Offline jago

  • Newbie
  • *
  • Posts: 4
  • Country: ru
Re: Протокол VKontakte
« Reply #1007 on: 14 01 2016, 18:44:27 »
Планируется ли поддержка плагина ListeningTo.dll ? При прослушивании в фубаре не передает информацию о прослушиваемой мелодии (хотя галочка отправлять в вк стоит)
 

Offline Elzor

Re: Протокол VKontakte
« Reply #1008 on: 15 01 2016, 03:45:31 »
jago, нет, не планируется. Давным-давно эта поддержка есть.
Должно быть настроено так: https://yadi.sk/i/I5gHlq3ymzHtj
Чтобы заработало, надо <Миранда>\Plugins\Listeningto\foo_mlt.dll скопировать в <foobar2000>\components\
Если музыка нестандартная (теги плохо прописаны или просто редкая), рекомендую в настройках протокола сделать так: https://yadi.sk/i/rSjeF5TemzKVX
« Last Edit: 15 01 2016, 03:49:41 by Elzor »
 

Offline Corak

Re: Протокол VKontakte
« Reply #1009 on: 16 01 2016, 23:07:00 »
Свежекрашик по Vk: vk_pollserver.cpp (205): CVkProto::PollServer" и ядру: "netliblog.cpp (366): NetlibLogf"

http://trac.miranda-ng.org/ticket/1156
 

Offline Elzor

Re: Протокол VKontakte
« Reply #1010 on: 17 01 2016, 08:20:21 »
Ни этот краш, ни предыдущий прямого отношения к вк-плагину не имеют.
 

Offline Wave

Re: Протокол VKontakte
« Reply #1011 on: 29 01 2016, 08:41:55 »
Эм, такой нюанс.
Есть запись на стене, которая суть перепост. И когда присылают эту запись, отображается только та часть, которая относится к перепостившему человеку.
Т.е. вот запись: http://vk.com/wall375017_4607
Quote
   
Ro Mann
парни! девчонки, проявите инициативу!
   
Валентин Афанасьев
вчера в 9:45
Парни! Скоро 14 февраля и у меня есть для вас отличное предложение: оплаченная квитанция-госпошлина за регистрацию брака, действительна в любом ЗАГСе Санкт-Петербурга. Порадуйте любимую! Отдам бесплатно или за полцены. 175 рублей для того, чтобы порадовать девушку - копейки. Я серьёзно.

P.s. Хотел жениться, потом вспомнил что у меня жена и 2 детей :)

Мне прислали эту запись — я получил только

Quote
Мария Зайцева
пятница, 29 января 2016 г.
10:32:52
Ня ))
Вложения:
Запись на стене: парни! девчонки, проявите инициативу!

И если б не сообразил слазить по ссылке, так и не узнал бы, что это за запись.
Это недоработка, баг или фича?
 

Offline Elzor

Re: Протокол VKontakte
« Reply #1012 on: 29 01 2016, 09:43:35 »
Wave, случай не описанный в документации к API. Будет время - поковыряю.
 

Offline MisterMyth

Re: Протокол VKontakte
« Reply #1013 on: 29 01 2016, 09:54:55 »
Elzor,  ситуация такая: у меня стоит в настройках протокола, что прочитанными считаются только те, сообщения на которые я ответил. Бывает такое, что сообщение моего собеседника является последним в беседе. Поэтому на странице Вконтакте у меня очень часто остаются уведомления о новых сообщениях. Включать функцию, чтобы сообщения помечались прочитанными при получении или прочтении я не хочу. Если есть такая возможность добавьте пожалуйста в меню контакта "Пометить все сообщения прочитанными". Благодарю.
Myth: Make Your Thought Heard
 

Offline Elzor

Re: Протокол VKontakte
« Reply #1014 on: 29 01 2016, 09:56:11 »
MisterMyth, да, имеет смысл.
 

Offline wilder

  • Newbie
  • *
  • Posts: 4
Re: Протокол VKontakte
« Reply #1015 on: 05 02 2016, 13:32:47 »
А есть какие-либо ограничения на количество контактов, которые подргружает миранда?
У меня в вк 4500 друзей. Но в контакт листе миранды отображается 1024, выбранные случайным образом. Как сделать чтобы подгрузились все друзья?
 

Offline Elzor

Re: Протокол VKontakte
« Reply #1016 on: 05 02 2016, 15:02:32 »
До текущего момента было ограничение в 1000 друзей и 20 пользователей из последних диалогов. Сейчас сделал 200 последних диалогов (это максимальное значение, которое возможно получить, не меняя существующую логику), плюс сделал возможность запросить до 5000 друзей (максимальное значение которое может отдать сервер за один раз).  Для этого надо с помощью редактора базы создать в ветке протокола DWORD-параметр MaxFriendsCount, присвоить ему желаемое значение, после чего перезапустить миранду. Теоретически можно сделать, чтобы работало и с большим количеством друзей, чем 5000, но тут, опять же, надо будет менять логику.
Работать этот параметр будет начиная с ближайшего ночника.
Однако, если сделать это значение больше 1000, могут возникнуть проблемы с отображением статуса контактов (онлайн/оффлайн). Это связано с тем, что нельзя запросить статус более чем у 1000 контактов разом. Что будет, если послать запрос для большего количества контактов, я не знаю. Может быть, вернется статус только для 1000 контактов, может быть весь запрос не выполниться, а может быть и выполниться - не всегда то, что написано в документации к апи соответствует реальному положению вещей, а я не имею возможности проверить эту ситуацию. На текущей момент статус будет запрашиваться для всех загруженных контактов. Опять же, теоретически, можно сделать и больше, но нужно будет менять логику, причем тут - очень серьезно менять. В любом случае, мне было бы интересно взглянуть на нетлог работы с таким большим списком.
Кроме того, лично я не знаю, есть ли какой-то лимит для общего количества контактов в миранде. Вроде бы нет, но я могу и ошибаться.
 

Offline wilder

  • Newbie
  • *
  • Posts: 4
Re: Протокол VKontakte
« Reply #1017 on: 05 02 2016, 23:34:30 »
Спасибо, завтра-послезавтра потестирую, после чего выложу нетлог протокола. Если есть время и желание менять логику работы протокола, могу на время тестирования дать доступ к аккаунту с 4000+ друзьями.
 

Offline Dimsok

  • Sr. Member
  • ****
  • Posts: 282
  • Country: ru
Re: Протокол VKontakte
« Reply #1018 on: 06 02 2016, 08:24:44 »
Почему-то раньше контакты, которых нет в списке друзей, удалялись раз и больше не появлялись. А теперь после удаления они снова в любом случае всплывают в списке контактов. Только удалять через список диалогов через сайт?
 

Offline Elzor

Re: Протокол VKontakte
« Reply #1019 on: 06 02 2016, 11:53:15 »
Dimsok, если это после последнего ночника так стало, то это - следствие от увеличения числа загружаемых последних диалогов (было 20, стало 200). Не хотите видеть в контакт-листе тех, кого нет в списке друзей - либо удаляйте диалоги с ними на сервере, либо ставьте соответствующую галку в настройках протокола. Хотите чтобы в контакт-листе были лишь некоторые контакты-не друзья и не хотите удалять диалоги на сервере - снимайте галку и используйте механизм скрытия/игнорировани я контактов, который есть в миранде.
wilder, сейчас я некоторое время занят, но, в принципе, заняться поддержкой больших списков не против.