rubelnimbuzz / bm2

Automatically exported from code.google.com/p/bm2
GNU General Public License v2.0
0 stars 0 forks source link

не отображает >1 ссылки (jabber:x:oob, XEP-0066) #182

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
Если приходит больше одной ссылки, то 
бомбусмод показывает только первую.

Поковырял исходники - трабла в 
com.alsutton.jabber.datablocks.Message.getOob(). Собсно он 
возвращает только один Oob - массив Oob'ов не 
предусмотрен. Ну и если чуть глубже капнуть 
то используемый внутри метод 
com.alsutton.jabber.JabberDataBlock.findNamespace() умеет искать 
только первое вхождение.

В самом XEP-0066 ( http://xmpp.org/extensions/xep-0066.html#x-oob ) я 
не нашел никаких упоминаний о том, можно ли 
отсылать больше одного Oob'а. Тем не менее Psi 
v.0.14 умеет отправлять и принимать их 
сколько угодно. На других клиентах не 
проверял.

пример:
<message from="a.x.e.1@ya.ru/Psi" xml:lang="en" to="a.x.e.1@ya.ru/Psi" 
id="ac11a" >
<subject>тест ссылок</subject>
<body>сабж</body>
<x xmlns="jabber:x:oob">
<url>http://ya.ru</url>
<desc>yandex</desc>
</x>
<x xmlns="jabber:x:oob">
<url>http://google.com</url>
<desc>google</desc>
</x>
</message>

Original issue reported on code.google.com by aXe0...@gmail.com on 6 Mar 2011 at 4:39

GoogleCodeExporter commented 8 years ago
По сути, jabber:x:oob - это т.н. Extended content ( 
http://tools.ietf.org/html/draft-ietf-xmpp-3920bis-22#section-8.4 ), я 
тоже не могу найти четких указаний, 
возможно ли их указывать несколько 
одинаковых в одном сообщении, но в 
большинстве случаев дополнительный 
элемент с отдельным namespace используется 
именно один раз. Подозреваю, что в 
большинстве других клиентов тоже будет 
обрабатываться только первая найденная 
ссылка. Переделку findNamespace на поиск 
нескольких элементов считаю 
нерациональным, как минимум ради одних 
этих ссылок смысла не вижу.

Original comment by vitalyster on 6 Mar 2011 at 10:00

GoogleCodeExporter commented 8 years ago
Стандартом походу действительно не 
описано возможность нескольких одинаковых 
x тэгов, внутри сообщения, но вот тут:
"Подозреваю, что в большинстве других 
клиентов тоже будет обрабатываться только 
первая найденная ссылка."
- Протестил:
Psi v.0.14: отправляет и принимает несколько; 
отображает в отдельной области список 
"линк (описание)". скрин: http://j.mp/hZHK0U
Miranda IM v.0.9.17: отправку не нашел; принимает 
несколько, но режет описания; отображает 
так же, как если послать ссылки текстом. 
скрин: http://j.mp/fKFxoV
JAJC v.0.0.8.125: отправляет только один линк - для 
этого отдельный таб в окне сообщений 
сделан; принимает тоже только один, причем 
последний (!). скрин: http://j.mp/dMzh2y
Pidgin v.2.7.10: отправляет ссылки как html (сколько 
угодно); принимает тоже только ввиде html и 
сколько угодно. Oob'ы тупо режет, как и тему 
сообщения. скрин: http://j.mp/fNTAOf
Tkabber v.0.11.1: отправку не нашел, только как 
текст; принимает несколько, ничего не 
дропает; отображает как дополнительные 
поля над текстом сообщения. скрин: 
http://j.mp/eT1dJM
Gajim v.0.14.1: не отсылает и не отправляет 
вообще. скрин: http://j.mp/ftOTSs

1. есть ли шанс что вы поменяете свое мнение 
в свете этого теста?
2. если нет, то если я сделаю патч - будет ли 
он добавлен в транк?

Original comment by aXe0...@gmail.com on 10 Mar 2011 at 7:30

GoogleCodeExporter commented 8 years ago
Patches are welcome :)

Original comment by vitalyster on 15 Mar 2011 at 1:59

GoogleCodeExporter commented 8 years ago
тобиш, 1 - нет, 2 - да?)

Original comment by aXe0...@gmail.com on 15 Mar 2011 at 1:47