uralplan / psi-dev

Automatically exported from code.google.com/p/psi-dev
0 stars 0 forks source link

Client Switcher Plugin -- баги и предложения #382

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
Обсуждение плагина для гибкой настройки 
версии клиента

Original issue reported on code.google.com by maksim.maj on 12 Dec 2010 at 2:30

GoogleCodeExporter commented 8 years ago
Основные возможности плагина:
- Подменяет имя операционной системы, 
название клиента, версию клиента, капсы.
- Может блокировать вышеперечисленные 
данные (отдает feature-not-implemented с кодом 501)
- Выдает всплывающее окно при запросе 
версии клиента из вне.
- Имеются предустановленные наименования 
ОС и клиентов и их версиями и капсами.
- Имеется фильтр, по результатам которого 
принимается решение о подмене запроса или 
его блокировки.
Известные проблемы:
- При смене версии клиента в онлайн капсы 
пока не обновляются. Нужно отсылать новый 
пресентс с новыми капсами.
- Некоторые клиенты запрашивают версии 
собеседников автоматически, потому попап 
может часто вылезать.
- Необходимо уточнить как правильно 
вырезать капсы из пресентса, если запросы 
версии блокируются. Пока вырезается весь 
капс.
- При выборе в операционной системе 
значения "default" в поле ввода стоит пустое 
значение. Это никак не влияет на работу 
плагина, т.к. значение родной ос и так есть в 
исходящем iq. Для решения данной проблемы 
нужно добавить интрерфейс плагинам для 
получения названия ОС

Original comment by li...@mail.ru on 12 Dec 2010 at 3:07

GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
Нужно добавить чекбоксы на блок (или 
подмену) версии для всех конф, для 
контактов не из списка

Original comment by wadea...@gmail.com on 14 Dec 2010 at 7:08

GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
если в фильтрах пусто (первое включение 
плагина) плагин работает для селфконтакта - 
это точно. хз, может и для других. Во всяком 
случае, попапы показывает для всех. А нужно 
показывать попап только если что-то меняем 
в капсах

Original comment by wadea...@gmail.com on 14 Dec 2010 at 7:18

GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
1. Фильтры или убрать вообще, или оставить 
только для конференций

2. При выключении применять дефолтные 
характеристики

3. При запросе диско инфо:
<iq type="get" to="jid" id="aaeaa">
<query xmlns="http://jabber.org/protocol/disco#info"/>
</iq>
получаем ответ, в котором есть инфа о 
клиенте. Её наверное тоже нужно 
подменять/блокировать?

4. В конференции (и наверное не только) пси 
делает запросы диско в виде:
<iq type="get" to="jid" id="aaeaa">
<query xmlns="http://jabber.org/protocol/disco#info" node="..."/>
</iq>
т.е. с указанием ноды, которую берёт из 
презенса. В таком виде получает в ответ 
ошибку:
<iq type="result" to="jid" id="aaeaa">
<query xmlns="http://jabber.org/protocol/disco#info" node="..."/>
<error type="cancel">
<item-not-found xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/>
</error>
</iq>

majik> _vt: т.е. это баг маскировщика, что клиент 
из-за него не может нормально ответить?
_vt> majik: да
_vt> majik: то есть клиент по логике отвечает на 
обычный запрос, и на запрос с той нодой, 
которую он посылает в презенсах. Вот твой 
маскировщик посылает другую ноду, а клиент 
продолжает отвечать на старую только.

Original comment by maksim.maj on 15 Dec 2010 at 11:10

GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
r3452

Original comment by maksim.maj on 27 Dec 2010 at 8:15

GoogleCodeExporter commented 8 years ago
По стилю кода...
часто используется конструкция типа 
for_all_acc = (ui_options.cb_allaccounts->checkState() == Qt::Checked) ? true : 
false;

почему не использовать метод isChecked()?
for_all_acc = ui_options.cb_allaccounts->isChecked();

Original comment by wadea...@gmail.com on 27 Dec 2010 at 8:25