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

0 Members and 41 Guests are viewing this topic.

Offline Elzor

Re: Протокол VKontakte
« Reply #870 on: 04 08 2015, 11:36:26 »
Wave, нетлог? Мне пересланные сообщения нормально приходят, если я автор, или авторы у меня в контактлисте.
 

Offline Сосед

  • Newbie
  • *
  • Posts: 43
  • Country: ru
    • ВКонтакте
  • Jabber: Jabber ID
Re: Протокол VKontakte
« Reply #871 on: 04 08 2015, 12:19:20 »
символ "%" не отображается в чатах
 

Offline Wave

Re: Протокол VKontakte
« Reply #872 on: 04 08 2015, 13:15:46 »
Мне пересланные сообщения нормально приходят, если я автор, или авторы у меня в контактлисте.
Да, глянул…
Quote
Сообщение от (Неизвестный контакт) (https://vk.com/id***) в 15.07.2015 23:19:36:
Тан-тан-тан.
   Он сам в это ещё верит?
Сообщение от Екатерина Каменева (https://vk.com/id***) в 15.07.2015 23:19:47:
думаю да)))
Сообщение от Екатерина Каменева (https://vk.com/id***) в 15.07.2015 23:19:55:
надеется
Сообщение от (Неизвестный контакт) (https://vk.com/id***) в 15.07.2015 23:23:03:
Где-то не верит один Станиславский.
Екатерина Каменева у меня в контакт-листе (она диалог прислала), а её собеседник нет.

У меня в общем-то гораздо больше жалоба на то, что ЭТО невозможно читать. Как-то бы это оформить… читабельней.
А в предыдущем моём сообщении — дополнение в том, что моя реплика, присланная мне, отображается как неизвестный контакт. Я сам у себя не в контакт-листе, естественно.
 

Offline Elzor

Re: Протокол VKontakte
« Reply #873 on: 04 08 2015, 13:56:22 »
символ "%" не отображается в чатах
Поправил, будет в ночнике.
Wave, да, я как-то упустил из вида, что я сам у себя в контаклисте.
Как-то бы это оформить… читабельней.
Какие идеи?
Неизвестные контакты потому неизвестные, что на момент прихода сообщения, известен только их ид. Тормозить процесс обработки нового сообщения на время пока отдельно запросим их имена-фамилии - плохой вариант. Есть вариант разобрать входящее сообщение на сервере, выделить из него пересланные сообщения, из них иды авторов, запросить по иду информацию об авторах и подмешать ее в выдачу клиенту. Этот способ более правильный, но весьма замороченный, учитывая что из инструментов есть только вк-шный обрезок js, и что пересланные сообщения могут сами содержать пересланные сообщения и т.д. После того, как я этот вариант представляю себе, первый мне уже не кажется таким плохим. Я не знаю, что лучше сделать и до сего момента не особо убежден, что овчинка стоит выделки.
 

Offline Wave

Re: Протокол VKontakte
« Reply #874 on: 04 08 2015, 15:39:25 »
Ладно, согласен как-то терпеть неизвестного…

Идеи… Как минимум вместо пары имя-ид писать имя в виде ссылки на ид.
Потом… Может, разбить это всё на несколько строчек и добавить после них пустую? Типа такого:
Quote
Сообщение от
(Неизвестный контакт)
в 15.07.2015 23:19:36:

Тан-тан-тан.
   Он сам в это ещё верит?

Сообщение от
Екатерина Каменева
в 15.07.2015 23:19:47:

думаю да)))

Сообщение от
Екатерина Каменева
в 15.07.2015 23:19:55:

надеется

Сообщение от
(Неизвестный контакт)
в 15.07.2015 23:23:03:

Где-то не верит один Станиславский.

Ну не на три — на две строчки разбивать… И хоть как-то визуально отделять сообщения друг от друга и тело сообщения от заголовка. Я бы фразу «сообщение от» тоже убрал, но со мной можно спорить, указывать, что бывает сообщение, бывает запись на стене, бывает что-то ещё и эта фраза точно нужна для идентификации того, что именно это.
« Last Edit: 04 08 2015, 15:41:08 by Wave »
 

Offline Elzor

Re: Протокол VKontakte
« Reply #875 on: 04 08 2015, 15:54:17 »
Wave, поэкспериментирую на досуге, хотя не уверен, что станет лучше.
Как минимум вместо пары имя-ид писать имя в виде ссылки на ид.
Это и сейчас так. "BBC для вложений" надо выставить в настройках в положение "продвинутая" - тогда заработает, по крайней мере в ieview. Вообще ссылка при "простых" BBC как раз и рисуется как Имя (нттп_адрес)
« Last Edit: 04 08 2015, 16:07:29 by Elzor »
 

Offline Wave

Re: Протокол VKontakte
« Reply #876 on: 04 08 2015, 16:11:52 »
Продвинутая заработает только для новых сообщений? Изменил настройку, перезапустил миранду, открыл tabsrmm с катькиным контактом, там тот диалог почти в конце нашего общения. И всё равно ссылки вижу в виде имя (ссылка).
 

Offline Elzor

Re: Протокол VKontakte
« Reply #877 on: 04 08 2015, 16:16:26 »
Wave, да. Ну, или историю перезапросить с сервера, но это когда вконтактик воскреснет. Миранду перезапускать не надо.
 

Offline Wave

Re: Протокол VKontakte
« Reply #878 on: 04 08 2015, 16:31:36 »
Понял. Перезапускал на всякий случай, когда не увидел результата без перезапуска.
 

Offline Mikalair

Re: Протокол VKontakte
« Reply #879 on: 04 08 2015, 17:14:41 »
Elzor, можно оформить кастомный тип события и в базе хранить, например, json-объект, который парсить при отображении. А формат вывода можно сделать настраиваемым.
If you like my work, you can donate to me via Bitcoin: 1CHAseNjVFfLQViLWAhh1fe6fGTiR6p1UM
 

Offline Elzor

Re: Протокол VKontakte
« Reply #880 on: 04 08 2015, 18:33:00 »
Mikalair, да, я знаю. Но проблема не с тем, чтобы что-то как-то хранить да и в кастомизабельности особого смысла нет. Возможности логов очень бедны, даже в ieview многих вещей не сделаешь. Взять тот же вывод пересланных сообщений. На сайте выглядит красиво и логично, в миранде так никогда не нарисуешь.
 

Offline Corak

Re: Протокол VKontakte
« Reply #881 on: 11 08 2015, 15:20:02 »
Словил краш при перезагрузке соединения сети (вкл/выкл). ipv6 не стоит, wifi роутер его не держит. WinXPSP3 32bit. Дамп не слился, только лог.
http://pastebin.com/peAgPrhx

лог
Likely cause of the crash plugin: VKontakte protocol
Exception: Access Violation at address 78B1D0AC. Reading from address 04120020.
Stack Trace:
--------------------------------------------------------------
78B1D0AC (MSVCR100 78AA0000): (filename not available) (0): vcwprintf_s
78B07462 (MSVCR100 78AA0000): (filename not available) (0): vsnprintf_l
78B074A3 (MSVCR100 78AA0000): (filename not available) (0): vsnprintf
1224E788 (mir_core 12240000): e:\sources\miranda_ng_compilation\src\mir_core\src\memory.cpp (225): mir_vsnprintf
120BFD85 (mir_app 120A0000): e:\sources\miranda_ng_compilation\src\mir_app\src\netliblog.cpp (376): NetlibLogf
120BE590 (mir_app 120A0000): e:\sources\miranda_ng_compilation\src\mir_app\src\netlibopenconn.cpp (547): my_connectIPv6
120BEA37 (mir_app 120A0000): e:\sources\miranda_ng_compilation\src\mir_app\src\netlibopenconn.cpp (669): my_connect
120BF40B (mir_app 120A0000): e:\sources\miranda_ng_compilation\src\mir_app\src\netlibopenconn.cpp (709): NetlibDoConnect
120BF1AC (mir_app 120A0000): e:\sources\miranda_ng_compilation\src\mir_app\src\netlibopenconn.cpp (859): NetlibOpenConnection
120C2330 (mir_app 120A0000): e:\sources\miranda_ng_compilation\src\mir_app\src\netlibhttp.cpp (219): NetlibHttpProcessUrl
120C2E9B (mir_app 120A0000): e:\sources\miranda_ng_compilation\src\mir_app\src\netlibhttp.cpp (871): NetlibHttpTransaction
1224E192 (mir_core 12240000): e:\sources\miranda_ng_compilation\src\mir_core\src\modules.cpp (543): CallService
173668C9 (VKontakte 17360000): e:\sources\miranda_ng_compilation\protocols\vkontakte\src\vk_pollserver.cpp (191): CVkProto::PollServer
17366AB1 (VKontakte 17360000): e:\sources\miranda_ng_compilation\protocols\vkontakte\src\vk_pollserver.cpp (243): CVkProto::PollingThread
1224C3DF (mir_core 12240000): e:\sources\miranda_ng_compilation\src\mir_core\src\threads.cpp (154): forkthreadex_r
78AFC556 (MSVCR100 78AA0000): (filename not available) (0): endthreadex
78AFC600 (MSVCR100 78AA0000): (filename not available) (0): endthreadex
7C80B729 (kernel32 7C800000): (filename not available) (0): GetModuleFileNameA
[close]
 

Offline Elzor

 

Offline Corak

Re: Протокол VKontakte
« Reply #883 on: 12 08 2015, 00:57:56 »
Ок, я понял. Но теперь поймал аналогичный креш с нетлогом. Хотя завершается он не на vk протокол.
http://files.leraux.ru/Corak/Temp/Miranda/Error/MirandaNG_20150812_crash_netlib.7Z
 

Offline Elzor

Re: Протокол VKontakte
« Reply #884 on: 12 08 2015, 03:52:19 »
Corak, тут вообще не факт, что вк как-то причастен, последним в нетлоге скайпвеб отметился.
Откровенно говоря, я вообще не думаю, что это протоколы виноваты. Как мне кажется, тут что-то происходит на уровне нетлиб-сеть.
ipv6 не стоит
ipconfig /all что показывает?