05.01.2005 день рождения Bombus. 2 месяца до начала changelog 09.03.2005 changelog.txt - начало MessageList теперь показывает символ ">" в конце строки, обозначая неполное отображение сообщения в списке. требуется просмотреть сообщение presence type error теперь отображается дополнительным значком. кэширование строк ростера. очень актуально для M55 заменён разделитель смайликов с 0x20 на 0x09 для смайликов, содержащих " " сравнение JID теперь non-case-sensitive сплэш для m55 10.03.2005 научился компилировать под платформу M55 проба со звуком и виброй "Failed", если неверный логин 11.03.2005 иконка subscription=none в версии M55 поменялись местами вызовы Player и Vibra теперь инициализация соединения производится не в Roster(), а в Roster.run() - закладка возможности Reconnect Reconnect, Logoff - пока нет проверок при отправках сообщений на offline 12.03.2005 кэш ростера включен переделан MessageList - теперь каждое сообщение в отдельной строке 14.03.2005 найдена уязвимость к DoS атаке - приём большого пакета данных. 16.03.2005 fix: VirtualList.moveCursorTo(index) - курсор попадал на неполностью прорисованную строку внизу рабочей области - не учитывалась высота заголовка осознана необходимость оформить Vector "строки и иконки вперемежку" в отдельный класс. сделан пакующий скрипт для релиза версий. fix: фиксы для ширины парсинга (частично решает проблему символа '>' ) команда Back в MessageView 17.03.2005 создан класс ComplexString - содержит: подстроки, индексы иконок, прикреплённый ImageList цвет следующей подстроки переведены на этот класс заголовки окон, строки MessageView и MessageList VirtualList теперь использует строки переменной высоты. теоретически возможно некоторое замедление из-за необходимости пересчёта числа отображаемых строк при перемещении вверх. отключен cursorOutline для m55 18.03.2005 fix: багфиксы перемещения курсора, вызванные изменениями VirtualList выход из SmilePicker скроллбар динамический - появляется только при необходимости пока не изменяется ширина отрисовываемого LostItem, но курсор рисуется на всю доступную ширину парсинг сообщения в MessageView вынесен из конструктора в Thread, что позволяет читать сообщение ещё в процессе парсинга. 19.03.2005 fix: очередные багфиксы перемещения курсора, вызванные изменениями VirtualList (pageup) fix: Home/End в SmilePicker теперь перемещают на 1 и последний смайл соответственно, а не на 1-ю и последнюю строку смайлов увеличен период вызовов repaint при парсинге (1 вызов на 5 строк) параметр KeepAlive в jad - период посылки пакета для поддержки соединения (по умолчанию 300 секунд). посылается символ ' ' класс Config с глобальным доступом (singleton) - чтение настроек из jad и rms в MessageList добавлена команда Quote в заголовке MessageEdit пишется "Кому" не сбрасываются при переходе в offline статусы error и subscription:none выравнивание элемента ComplexString по правой границе fix: - переход в offline в случае потери соединения не приводил к обновлению экрана 21.03.2005 окно выбора аккаунта AccountSelect (пока нет защиты от пустых аккаунтов) пока не показывает активный аккаунт хранение аккаунтов в rms форма создания и редактирования аккаунта первый раз после установки в телефон приложение всегда выдаёт AccountSelect при повторных запусках - по нажатию клавиши в процессе надписи Loading. пока нет мнговенной реакции на нажатие клавиши, т.к. происходит загрузка классов изменение имён атрибутов аккаунта по умолчанию (jad) пробы context-sensitive меню. 22.03.2005 правка выравнивания по правому краю. fix: Account.createFromJad - теперь всегда возвращает null при неудачном считывании (если нет def_user, def_pass, ...) правка Account.createFromRMS - теперь всегда возвращает null при неудачном считывании выделение активного аккаунта в AccountSelect 23.03.2005 для M55 конфигурация и аккаунты теперь хранятся в файлах, а не в rms (папка storage) 25.03.2005 Путь конфигурации в jad вида: cfg_path: a:\путь\ закрывающий слэш обязателен! по умолчанию - папка storage проба подключения значка "вибры" - пока без функциональности теперь VirtualList заполняет экран чистым фоном, если нет ни одного элемента немного оптимизирована отрисовка фона инфа о версии берётся из jad 26.03.2005 в MessageList добавляются статусы контакта. сделано редактирование статусов. возможна установка приоритета и сообщения для каждого статуса. хранение статусов в store/file "status" очень вырос размер (на 4.5 кб) :'( уменьшена задержка появления картинки сплэш-скрина. в сплэшскрине теперь ip сервера не отображается, пишется только имя сервера 27.03.2005 атрибут в jad alert_profile: 0..4 AUTO=0; (пока =1) ALL=1; (default) NONE=2; VIBRA=3; SOUND=4; обозначает профиль по умолчанию. введён для отладки. в MessageList курсор устанавливается на первое непросмотренное сообщение, а не на статус. меню AlertProfile атрибут в jad msg_snd: /sounds/message.wav 28.03.2005 Если статусное сообщение пустое, "" больше не пишутся (StatusSelect) исправлен поиск контакта с сообщениями, если курсор стоит на группе ("0") изменён цвет статусных сообщений в MessageList начата глобальная ревизия кода, поиск неэффективных участков 29.03.2005 0.1.4 скрытие оффлайн-контактов. пункт меню Show/Hide Offlines прячутся оффлайны без новых сообщений (может сделать только оффлайны без сообщений?) всё ещё нет сортировки ростера. имя группы теперь как в psi: group (onlines/total) некоторые изменения сплэш-скрина сделал что-то ещё, но не помню :( внимание! во всех версиях MIDP2 (и в этой) в качестве звука используется AMR (по умолчанию). переключение - добавить атрибут в jad msg_snd: /sounds/message.wav 31.03.2005 сортировка ростера - контакты в пределах группы сортируются по статусу 01.04.2005 управление подсветкой экрана siemens m55 m55 leds: введён атрибут led_pattern: 0..13 0=off (default) 1=SPEED 2=LIGHTHOUSE 3=WAVE 4=BEAT 5=RUNWAY 6=TRANCE 7=ETERNITY 8=STROBO 9=LIMELIGHT 10=NORMAL_BLINKING 11=PULSATING 12=CONSTANLY_LITEUP 13=IDLE в дальнейнем будут строковые иденты малые багфиксы. (поведение Hide Contacts при Logoff) 09.04.2005 0.1.5 защита от переполнения буфера при приёме сообщения. (пока жёсткое ограничение 5000 символов) в конце принятого обрезаного блока символы "..." фикс пропадания курсора при реконнекте запись журнала сообщений в файл вида "Log_nickname" msg_log: 1/0 - разрешение журнала. default=0 msg_log_path: a:\путь\ закрывающий слэш обязателен! по умолчанию - папка storage msg_log_presence: 1/0 - добавлять и presence (шпиёнская функция. работает только при msg_log: 1) 11.04.2005 у групп General и Transports убраны хвостовые пробелы исходящее сообщение: пустое сообщение не отправляется исходящее сообщение: тоже добавляется в журнал сообщений (фикс) 14.04.2005 история Sienens: буквы Ё,ё история Sienens: расширение .txt история Sienens: DD.MM.YY hh:mm атрибут moto_e398: 1/0 (default=0) - пока только запрещает мигание подсветкой введён тип атрибутов boolean для jad. (moto_e398, msg_log, msg_log_presence) значение "истина" - true, yes или 1 оптимизация работы редактора аккаунтов при старте - теперь не грузит намертво java-машину. очень мешало пользователям S65 команда Account - пробное переключение аккаунтов 21.04.2005 переход на страницу cp1251 фикс надписи Loading (после Connect to) 24.04.2005 0.1.6 формат версии: A.B.C.$WCREV$ локальный репозиторий subversion запись Config при выходе из программы изменение идеологии вызова AccountSelect; как результат - при отмене выбора аккаунта не происходит реконнект. создание аккаунта: теперь можно в поле username писать username@jabber.server при этом jabber.server скопируется в поле server. Register Account в форме нового аккаунта работает регистрация аккаунтов. (правда, бесполезна без добавления контактов) фикс: при открытии потока в заголовке вместо servername указывался ip (если был указан). фикс: отключен приём пустых входящих сообщений. 15 % от управления контактами - принимаются входящие события по управлению ростером. теперь контакт перемещается из группы в группу, а также удаляется по командам сервера фикс: считались одинаковыми JID@server/resource, JID@server/ReSoURCE, JID@server/resource2 т.е. игнорировался регистр ресурса и (в некоторых случаях) длина. теперь сравниваются по следующим правилам: JID@server - non-case-sensitive, resource - case-sensitive. известный баг: перемещение контакта переводит его в offline. будет исправлено после добавления механизма subscription. 29.04.2005 0.1.7 сохранение профиля сигналов. убран отладочный атрибут alert_profile (27.03.2005) в версии MIDP2 введён экспериментальный режим fullscreen 01.05.2005 перевод VirtualList на использование VirtualElement пока отключен кэш строк ростера. (изменение механизма кэширования) убираются whitespaces в конце входящего сообщения. в MessageView в меню добавлен пункт Toggle Smiles. горячая клавиша - * ростер: добавлено меню "Contact >" - операции с выбраным контактом добавлена команда Add Contact команды пока нефункциональны. Motorola: Background: True FlipInsensitive: True позволяют приложению работать в фоновом режиме. теперь для моторолы собирается отдельный jad 02.05.2005 курсор старается сохранить фокус при изменениях ростера. конечно же, сохранить позицию возможно не всегда - например, потеряется, если объект исчез из отображаемого ростера при hide offlines временно заблокирована проверка путей для теста на c55 0.1.8 сохраняется профиль сигналов, выбраный командой Alert Profile/Set Default как профиль "по умолчанию" - метка (default) форма Options сохранение флагов Options:smiles, :transports скрытие группы транспортов Options:smiles влияет и на MessageList фикс Quote пробел перед названием команды в Contact > изменение порядка иконок профиля (отразилось только в структуре кода) расширена информация о клиенте в jabber:iq:version 03.05.2005 (28) fix Options:smiles группа Self-Contact, содержит контакты вида myJID/resource всегда есть контакт myJID/Bombus видна в случае Options:self-contact=true, либо число online-контактов больше 1 заготовка в Options для not-in-list (29) fix ComplexString без приаттаченного ImageList не позволял использовать команды раскраски Options:fullscreen - убран из версии m55; fix Self-Contact - теперь продолжает корректно отображать статус после reconnect 05.05.2005 0.1.9 (34) fix: (частичный) конфликт между перемещением курсора кнопками и сохранением фокуса на контакте при изменении порядка контактов в ростере Contact:Info - запрашивает vCard и версию клиента полученая информация сохраняется в списке сообщений. Add Contact - упрощённая версия - не использует ни name, ни group посылает запрос авторизации subscribe. иконка - символ состояния ask="subscribe" (36) Contact:Auth Send Contact:Auth Request Contact:Auth Remove известные баги: при Contact:Auth Remove в ростере добавляется JID без ресурса (контакт, у которого отменена авторизация) оптимизация обработки исключений theStream.send(JabberDataBlock) запросы авторизации сохраняются в виде сообщений. пока не выдаётся event значок реконнекта - теперь обозначает отправленый на сервер запрос. оптимизации кода (37) удаление пока реализовано частично - удаляется только уже удалённый контакт (корзина) особенности авторизации - у авторизующего должен быть самый высокий приоритет 0.1.10 (38) fix: авторизация теперь использует JID без ресурсов авторизация работает правильно. TODO: 1. presence type=subscr* не должны влиять на статус (иногда контакт становится offline) 2. events для presence type=subscr*, значок запроса авторизации 3. редактирование контакта - нужна форма и выбор группы 4. удаление контакта - мешает отсутствие диалога yes/no 0.1.10 (39) tag 06.05.2005 (41) ошибки из версии 38 fix: отделил "мух от котлет" vcard и contact info используют ресурс, авторизации - нет fix: статусные иконки изменение идеологии нумерации иконок. вместо линейного индекса - двумерный вида 0xYX (42) группа not in list: когда группа not-in-list включена, но пока пуста, её заголовок в ростере не фигурирует если not-in-list выключена, сообщения от контактов вне ростера ТЕРЯЮСЯ. когда включена, работает 100% как обычная группа группа Ignore-List (игнорлист): когда группа Ignore-List включена, но пока пуста, её заголовок в ростере не фигурирует контакты группы Ignore-List не выдают event-ы ни в скрытом, ни в свёрнутом, ни в развёрнутом состоянии. пока даже не будет значка новых сообщений у контакта. но сообщения принимаются. подсоединены новые иконки фикс вылетания курсора за пределы ростера 07.05.2005 (43) форма ввода/редактора аккаунта Contact:Edit 0.1.11 (44) tag (46) фикс значка прихода сообщения (42) фикс значка статуса контакта (36) 08.05.2005 (47) фикс приёма оффлайн-сообщений. фикс максимальной длины StringBuffer для m55 (4096) подготовка к добавлению в ContactEdit выбора транспортов (49) больше не отправляется presence type="subscribe" при редактировании контакта сообщения авторизации пока тоже считаются как непрочитанные входящие (51) фикс переименовывания контакта 09.05.2005 (52) форма подтверждения удаления контакта, удаление контакта с сервера. сервер присылает подтверждение, у контакта появляется значок "корзина" разделение команды Contact:Info на Contact:Client Info и Contact:vCard subject из входящих сообщений. добавляется первой строкой, выделяется цветом замена разделителя заголовков c 0x01 на 0xA0. 0xA0 (неразрывный пробел) не нарушает xml-поток (53) subject раскрашивается в MessageView сохранение subject в версии m55 команда MessageList:Quote квотит только тело, без subject 0.1.12 (55) улучшено поведение формы ContactEdit, дополнение окончания JID. (57) fix: строка, следующая за Subject, неправильно резалась по ширине (это также влияло на наличие сливола > в MessageView) fix: убрана дублирующаяся строка Client info fix: неправильно работало дополнение JID, если не был введён '@' допереименован Contact:Info в Contact:Client Info (59) bug? S65 - не совсем понятно, почему этот телефон иногда не позволяет переключить Display.setCurrent непосредственно перед работой с сетью (SetCurrent и сеть были вызваны в цикле обработки событий Canvas, в обработчике keyPressed). возможно, это связано со значком GPRS (60) оптимизация работы choisegroups в ContactEdit (61) пароль в редакторе аккаунта виден только при вводе. если пароль редактировать, то он будет виден только если очистить поле ввода fix: вызваное меню пропадало при вызове focusedItem - постоянно удалялась и добавлялась команда Contact > вероятность, что меню исчезнет, остаётся, если контакт, на котором стоит курсор, уйдёт в оффлайн, и после этого курсор окажется на группе 11.05.2005 (62) Add Contact: перед вводом JID транспорт установлен в полноcтью переделано хранение subscription и ask. команда Contact:Subscription, выдаёт форму, содержащую: текущее состояние Subscription команды Request subscription, Send subscription, Remove Subscription. команды Contact:Auth * удалены. в Contact:Delete и Contact:Subscription используется представление имени контакта как "nickname " YesNoAlert: замена типа команды cmdNo на Command.BACK (siemens red button) в vCard добавлен JID платформа MIDP1 у Siemens не поддерживает добавление команд в Alert переход с класса Alert на класс Form (63) пробный фикс проблемы форм и ChoiceGroups m55 - если ChoiceGroup без заголовка, то при перемещении селектора (radio) ChoiseGroup перемещалась вверх, в конце концов затирая вышерасположенные Item. добавлены заголовки. 0.1.14 (64) версия 13 традиционно пропущена :D (66) Команда MessageView:Authorize - только в запросах на подписку. (пока ошибочно и в "You are now authorized") посылает "from"+"to" fix: не пересчитывался ростер при входящем сообщении (не виден контакт с сообщением, если контакт оффлайн и выключен показ оффлайнов) fix: при удалении онлайн-контакта его значок не менялся на корзину fix: Form (на m55) не любит пустые строки. (визуальные глюки в форме Subscription) fix: авторизация контакта, находящегося в инвизе, не меняла значок ask на offline 12.05.2005 (67) Add Contact - если курсор стоит на контакте группы Not-In-List, его JID помещается в форму нового контакта fix: статус контакта в группе Not-In-List теперь не Online, а unknown контакты Not-In-List показываются независимо от Options:offline contacts (68) сохранение приоритета ресурса в статусных сообщениях проба сортировки: [Status][Nick|JID][priority] (для повышения скорости у Nick|JID сравниваются только 2 первых символа) (69) fix: NullPointerException@MessageView не пишутся Priority у контактов, не возвращающих priority внутри presence 14.05.2005 (70) fix: первый presence от self-contact ресурса не-Bombus теперь записывается в свой ресурс, а не в ресурс бомбуса fix: у транспортов правильно показывает subscription Status:Set priority и All priorities - ограничение ввода: только цифры в presence-сообщениях указываются статусные сообщения и для offlines fix: при испорченом файле аккаунтов или неправильном индексе текущего аккаунта не виснет (x55), а входит в редактор аккаунтов (71) отменил фикс форм m55 (63). imho, так неправильно. (72) проба настройки TextField в Add/Edit Contact 15.05.2005 0.1.15 (73) отмена изменений (71) раскраска контактов в ростере Bold для online contacts смайл :-" 16.05.2005 (74) удаление контактов из списка not-in-list блокировка клавиатуры при длинном нажатии keyLock. переключение при длинном нажатии keyVibra профилей Default<->Vibra (пока не рассматривается вариант Default=Vibra) атрибуты jar: keyLock: * keyVibra: # (для версии m55 значения по умолчанию - # и * соответственно) (75) fix: выправлена особенность работы keyLock, возникшая из-за особенностей эмуляторов оптимизация работы Roster: предзагрузка объектов Font. иначе на некоторых телефонах приводит к существенному торможению прорисовки. (Alcatel 756, эмулятор S65). (77) изменение поведения удаления контакта при при ответе Yes на вопрос "Delete contact?": если контакт в ростере, то: статусный значок меняется на "корзину", обозначая отправленый запрос на удаление. после подтверждения сервером удаления контакта происходит удаление контакта из памяти телефона. если контакт в Not-in-list, то: контакт удаляется из памяти телефона сразу. (в ростере на сервере контакты Not-in-list не хранятся 0.1.16 (78) подсчёт числа сообщений и огни M55 флаг наличия сообщений сбрасывается, если: все новые сообщения были показаны на экране в MessageList, и курсор установлен на последнее сообщение в MessageList, и это сообщение поместилось полностью в одну строку, либо при входе в MessageView. также, флаг наличия сообщений сбрасывается, если: все новые сообщения были показаны на экране в MessageList, и произошёл выход из MessageView. (80) стабильная версия 0.1.16 для Alcatel 17.05.2005 (81) fix: обработка keyLock идентично работает на имеющихся эмуляторах и Alcatel 756. Жду проверки на M55 fix: Home, End (1/7) не вызывали focusedItem. подсчёт числа сообщений и огни M55. изменение поведения: если все новые сообщения показаны, и курсор находится на последнем новом сообщении или после него, снять флаг новых сообщений. поведение (78) отменено переименованы атрибуты jar: теперь key_lock и key_vibra для self-contact недоступны команды Contact:Edit, Contact:Delete, Contact:Subscription (82) значок новых сообщений в заголовке MessageList. та же функциональность, что и у огней m55 (83) косметика - изменение цветов ростера. (84), (85) обработка времени отправки оффлайн-сообщения. атрибуты: time_gmt_offset - часовой пояс, в котором расположен Bombus по умолчанию равны TimeZone.getDefault(); (этот часовой пояс установлен в телефоне) time_loc_offset - смещение для часов. используется, если GMT телефона не совпадает с реальным GMT. по умолчанию =0 формат параметров: [-]H примеры: 4 - летнее время для Москвы (GMT+4:00) 3 - зимнее время для Москвы (GMT+3:00) -5 - Нью-Йорк (GMT-5:00) 25.05.2005 (86) форма редактирования статуса StatusForm, команда Status:Edit вместо Status:Message, Status:Priority, Status:All Priorities (87) оптимизация размера на 1 килобайт :) (88) атрибут vibra_len: 500 (длительность сигнала по умолчанию - 500 мсек) 28.05.2005 0.1.17 (91) команда Contact:vCard - если vCard отсутствует, выдаётся соответствующее сообщение Contact:vCard и Contact:Client Info поменялись местами при загрузке ростера увеличение progress на сплэше. пользователи с размером ростера ~150 контактов очень скучали. управление подсветкой для e398 - гасится при блокировании кнопок в заголовке ростера (онлайны/всего контактов) "всео контактов" - не число уникальных JID, а общее количество контактов ростера, в т.ч. и невидимые в данный момент контакты переход между сообщениями из MessageView. осуществляется кнопками Left/4 и Right/6 при условии нахождения окна просмотра в начале и конце сообщения соответственно. (92) MessageView теперь тоже отключает индикацию нового сообщения (огни m55/значок нового сообщения в MessageList). 30.05.2005 0.1.18 (95) получение и хранение просмотр vCard:PHOTO. пока не работает на m55 (96) fix: base64 reader (97) fix: управление подсветкой для e398 - гасится при блокировании кнопок stub для чтения vCard:PHOTO на m55 (полностью отключено для m55) для устранения подвисаний. зелёная кнопка сименса - New Message. активный экран после выхода из New Message: при входе из ростера - ростер при входе из MessageList - MessageList при входе из MessageView - MessageList (98) fix: вылетание курсора за пределы ростера (чистый экран) например, Show Offlines+, переместить на один из последних оффлайнов, Show Offlines- 01.06.2005 0.1.19 (99) сортировка ростера - non-case-sensitive. fix: гашение огней m55 в MessageView. изменено хранение аккаунтов. Желательно удалить Storage, либо файл accounts (m55) редактирование ресурса аккаунта fix: если аккаунт модифицирован и сохранён, то изменения в AccountSelect произойдут сразу, а в ростере вступят в силу только после перевыбора аккаунта! возможность установить имя аккаунта (опционально) - будет работать равнозначно Nickname для контактов. к примеру, в ростере вместо myJID@server/resource будет accName/resource Logon/Logoff для транспортов 0.1.19 (100) fix: русские имена в никах не позволяли редактировать контакт fix: длинные JID не позволяли редактировать контакт 03.06.2005 0.1.19 (102) // празднование юбилейного commit не прошло незаметно fix: опция Show offline contacts в отключеном состоянии приводила к исключению теперь по умолчанию включена группа not-in-list (103) fix: зелёная кнопка больше не сворачивает/разварачивает группы посылка транспорту logon/logoff не меняет значок статуса в заголовке у транспортов теперь нет Contact:Edit на показ транспортов теперь не влияет show offlines 05.06.2005 (104) Service Discovery. пока нет форм, просто прогулка по дереву сервисов. (105) fix: форма Status:Edit не изменяла приоритет у одиночных статусов, групповое изменение работало. (глюк с версии 86) (106) форма регистрации транспортов JEP-0077 (in-band registration) пока нет поддержки jabber:x:data обработка ошибок регистрации (107) Service Discovery: запоминание списка сервисов предыдущего уровня при раскрытии вложения сервиса. не производится повторный запрос при перемещении назад по дереву сервисов. расширение информации об ошибке для сообщений presence (requires testing) 06.06.2005 0.1.20 (108) завершённость Service Discovery 55% нет формы Search, нет Join Groupchat 07.06.2005 (110) переход на NetBeans 4.1 (111) корректно обрабатываются все манипуляции с контактами, хранимыми на сервере в виде JID/resource отключен звук у Alert 08.06.2005 (112) fix: обновление заголовка ServiceDiscovery при выполнении Back fix: Service Discovery на ы65 не работал. значки для Service Discovery (113) удалены команды Logoff и Reconnect - теперь Status:Offline производит разрыв соединения; остальные статусы производят подключение при отсутствии соединения 11.06.2005 (114) fix: при перемещении между сообщениями в MessageView перед отображением следующнго сообщения показывалось предыдущее 13.06.2005 (115) выход из сплэша в ростер (SplashScreen:Hide Splash) fix: при реконнекте в состоянии Failed значок offline 14.06.2005 (122) оптимизации XML-парсера 15.06.2005 (124) fix: зактрытие MessageEdit при посылке сообщений (проблема x65 переключения displayable + значок gprs) 16.06.2005 (126) возможность приостановить/продолжить написание сообщения (MessageEdit:Suspend, MessageList:Resume) fix: клавиатура остаётся заблокированной, если был реконнект 17.06.2005 (127) единообразие поведения зелёной кнопки - срабатывает как Resume (если есть что продолжать) или New Message. возврат всегда в MessageList fix: Status - курсор перемещается на текущий статус 18.06.2005 (129) fix: при выборе аккаунта на S65 не происходил выход в ростер fix: отобращение значка коннекта fix: статусное сообщение от контакта с ошибкой теперь содержит текст ошибки. fix(?): глюки ростера при переключении аккаунтов. могло происходить при переключении аккаунтов в момент сортировки ростера проверить не могу - я не сталкивался с этими глюками fix: подвисание загрузки ростера на неправильном контакте (контакты без @ и . например, "123456789" - ошибочно введённый ICQ-контакт без транспорта) формально такие контакты попадают под категорию "транспорты", поэтому и оказываются в группе транспорты fix: улучшен алгоритм сравнения JID-ов Status - отмена фикса "курсор перемещается на текущий статус" 0.1.21 (130) выводится в self-contact: сообщение об ошибке Failed сообщение об аварийном прерывании связи в progress выводится сообщение Disconnected, если произошёл обрыв соединения (132) fix: Resume Message иногда оставляло в буфере ещё одно сообщение. MessageList: команды New Message и Resume Message поменялись местами - теперь Resume идёт впереди (133) выводится в self-contact: сообщение об ошибке Login Failed 18.06.2005 (140) для версии MIDP1 другие смайлы команда Quit в AccountSelect при вызове в начале загрузки. 19.06.2005 0.1.22 (141) fix: ToggleSmiles не перемешает фокус на Home Message Composing - в MessageList изображается значок статуса composing отправляется composing при начале/продолжении написания сообщения, снимеется при Cancel/Suspend fix: после ошибки коннекта (если ростер не прочтён) Status:Online запрашивает ростер 24.06.2005 (150) fix: jid транспортов в Add Contact 27.06.2005 (152) fix: при добавлении/редактировании контакта на x65 не происходил выход в ростер 28.06.2005 (153) спецверсия MIDP1 с лог-файлом если в jad задан один из атрибутов: syslog_stream: true syslog_exceptions: true syslog_msg: true пишется файл _syslog.txt syslog_stream - запись xml-блоков syslog_exceptions - запись исключений. syslog_msg - запись сообщений Login, Roster Request, ... 29.06.2005 (155) некоторая оптимизация xml - сокращённая форма блоков без вложенности, т.е. вместо теперь отправляется 30.06.2005 (156) fix: проблема x65 переключения displayable + значок gprs попытка решить проблему кардинально 03.07.2005 (157) fix: заработал на SE k700i. inputStreamReader( is, "UTF-8") - происходило блокирующее чтение из-за буферизации. (особенность реализации UTF-8 в k700i) отключен вызов outStream.flush() класс OutputStreamWriter заменён на OutputStream. возможно, решит проблемы с чрезмерным миганием значка gprs и с большим потреблением трафика. (158) burst-обработка входящих данных. значительно повысилась скорость обработки XML нуждается в тестировании 0.2.0.159-RC (159) присвоение номера версии 0.2.0.159-RC (release candidate) 04.07.2005 (161) версия для SonyEricsson: минимизация приложения (проба реализации) 06.07.2005 (162) Contact>: изменён порядок команд для транспортов команда Minimize - фоновоая работа Bombus (SE). автодетект платформы SonyEricsson (для команды Minimize) команда Resolve Nicks. по этой команде производится запрос ников из vCard контактов, работающих через этот транспорт, и у которых ник пока пустой. полученый ник запоминается в ростере. по многочисленным пожеланиям временно убрана Options:Clock 08.07.2005 (164) Service Discovery - добавлена команда Server - ввод адреса просматриваемого сервера 11.07.2005 0.2.1 (167) заработал Search в Service Discovery. поддержка jabber:x:data в формах Register, Search инструкции в формах Register, Search теперь выводятся в начале формы правка Midlet-Version в manifest.mf (169) снова версия без outStream.flush() (непроверено, необходим ли вызов на Nokia, другие телефоны безболезненно обходятся без него) 17.07.2005 (170) MIDP1: автодетект платформы M55, изменение поведения led_pattern: 0=off, ... 5=RUNWAY (default), ... 13=IDLE т.е. теперь, если телефон M55, то led_pattern по умолчанию включен на RUNWAY, на других телефонах led_pattern выключен теперь для входящего запроса авторизации используется другой значок (конверт с "?") горячая клавиша toggle offlines - удерживание "0" горячая клавиша minimize - удерживание "9" (SonyEricsson) 18.07.2005 (171) MessageList: команда Clear List - очищает список сообщений у контакта Service Discovery - результаты поиска сохраняются в ростере в группе Search Results. теперь, после выхода из Service Discovery, возможно запросить подробные vCard для найденных контактов, посылать им сообщения, ... очистка результатов поиска производится командой Discard Search (команда приписана к группе Search Results) 18.07.2005 (172) fix: после завершения Contact>Edit выход в ростер fix: не теряется текущий jid в рерультатах поиска (в Service Discovery) после просмотра данных о контакте атрибуты key_hide: 9 key_offlines: 0 19.07.2005 (173) fix: MIDP1: происходила запись всех найденых контактов в history. рекомендуется почистить в телефоне папку с файлами истории оптимизация класса ростера - по размеру в памяти телефона 24.07.2005 (174) из Version Reply убрана локаль. начальная функциональность groupchat. интерфейса ещё нет. 07.08.2005 (177) fix: Motorolla - автодетект платформы приводил к NullPointerException fix: SE - смайлы вставлялись в начало сообщения (не в позицию курсора). теперь вставка всегда в конец сообщения. смайлы дополняются пробелом справа. автоматически дополняется пробел слева от смайла (если нет, и если смайл - не первый в строке). fix: время оффлайн-сообщений (особенность singleton Calendar) 08.08.2005 (178) конференции - первая юзабельная версия 09.08.2005 (179) fix: после ввода конференций дополнялись никами ВСЕ сообщения fix: composing event не работал из-за конференций fix: из меню не исчезала команда Leave room fix: имя комнаты не меняется на ник последнего участника, изменившего статус 18.08.2005 (181) fix: Nokia 60 series - требуют OutputStream.flush() все Nokia - заблокирована функция flashBacklight из-за глюка с подсветкой в 60 series 22.08.2005 (182) fix: исходящие Composing events работают соответственно с одноимённой опцией fix: увеличены размеры буферов ввода для room и host в меню Join conference 24.08.2005 (183) fix: теперь своё эхо в конференции не выдаёт сигнализацию src: JavaDoc на VirtualList и VirtualElement (184) fix: корректно работает на presence, содержащих более одного блока fix: отправка сообщений в конференции, не содержащие в имени сервера "conference" 25.08.2005 (185) поддержка ssl соединений (через порт 5223). только на телефонах MIDP2, да и то не на всех :( сделано для работы с talk.gmail.com (когда нормально запустят) возможность plain-text авторизации (отключение шифрования пароля для тех же google) fix: теперь своё эхо в конференции не выдаёт сигнализацию (было испорчено в 184) 26.08.2005 (186) расширена поддержка jabber:x:data - заработала форма register в mod_irc fix: отключены неиспользуемые команды контактов конференций (меню Contact >) 27.08.2005 (187) в комнате пишутся статусные сообщения контактов, а также роли участников и их реальные jid (видимые только модераторами) начата реализация Privacy Lists. что умеем - создаём список с именем Ignore-List - блокирующий все исходящие presence и iq для контактов из группы Ignore-List. можно назначить этот список на сессию (activate) или на все последующие сессии (default) внимание! при активации списка Ignore-List НЕ ПОСЫЛАЕТСЯ offline контактам, попадающим под фильтрацию. пока активный список фильтров НЕ ПРОЧИТЫВАЕТСЯ С СЕРВЕРА при входе в Privacy Lists. (188) fix: снова заработала команда leave room для очистки оффлайн-контактов группы теперь достаточно свернуть группу. удаляются дублирующиеся контакты, у которых нет сообщений. также, при сворачивании неактивной конференции, конференция удалится из ростера. 30.08.2005 (189) значки модераторов test: сборщик мусора gc() - вызывается при блокировке клавиатуры (проверка поведения на нокии) попытка решить проблему подвисания на Siemens x65 при входящем сообщении во время активного меню телефона (Flyspray task #26) 31.08.2005 (190) новые атрибуты для midp1 msg_log_conf_presence: false - записывать в историю presence от контактов групчата msg_log_conf: false - записывать в историю сообщения в групчате fix: повторное подсоединение к конференции с новым именем, либо после Leave room теперь работает корректно (Flyspray task #39) 05.09.2005 (191) fix: возможность входа в конференции, требующие пароля (FS#50) поле ввода пароля в форме Join conference fix: исключение ArrayIndexOutOfBounds при Pageup/Pagedown в пустом VirtualList (FS#28) Bombus теперь умеет показывать статусные сообщения вида: User is now known as user2 user was kicked (reason) user was banned (reason) в случае полученя kick/ban себе, Bombus производит выход из конференции МОДЕРАТОРСКИЕ ИНСТРУМЕНТЫ: Contact>Kick - кикнуть юзера из комнаты Contact>Ban - забанить юзера. ВНИМАНИЕ! Bombus не умеет пока снимать бан. Пользоваться с осторожностью! Для снятия бана придётся пользоваться компьютерным клиентом! (192) fix: пароли теперь запрещено добавлять в T9/iTap (MIDP2) (TextField.NON_PREDICTIVE) (пока за исключением форм в ServiceDiscovery) 06.09.2005 (193) обновление иконок (197) информационное окно About. показ статистики по heap 09.09.2005 (198) проба реализации часов на экране блокировки. период перерисовки часов - 20 секунд пробный автодетект моторолы. отмена атрибута moto_e398. моторолы теперь входят в общую версию MIDP2.0 fix: один из багов со временем исправлен. ранее у принятых presence/message было неправильное время до первого входа в MessageList 10.09.2005 (200) fix: Service Discovery - значок для conference.* снова показывается корректно попытка локализовать ArrayIndexOutOfBounds в VirtualList Options:GMT offset - поле содержит поясное смещение времени, с учётом летнего времени (+1) к примеру, Москва(GMT+3): летнее смещение 4, зимнее - 3 это значение используется для коррекции времени принятых Offline-сообщений Options:Clock offset - исправлять ПОСЛЕ установки GMT. посмотреть, насколько ошибаются часы. если часы спешат, то вводить ОТРИЦАТЕЛЬНОЕ время. если отстают - ПОЛОЖИТЕЛЬНОЕ это значение используется для коррекции времени Online-сообщений и показаний внутренних часов. MIDP1: из-за необходимости вводить и отрицательные числа при вводе смещения не запрещён ввод букв (201) fix после fix: значки участников конференции, что были порушены в 200. (202) *ВРЕМЕННО* на контакт комнаты в группе конференции не распространяется Show offlines (203) JEP-0090 Время клиента (jabber:iq:time) 11.09.2005 (205) Privacy Lists - получает состояние active/Default печать символа 0x09 в MessageView как 0x20 (206) форма редактирования правила в PrivacyList возможность просмотра и редактирования правил. 0.2.2.207 первая рабочая реализация Privacy Lists ограничения - нельзя удалить активный список, нет вывода сообщений об ошибках. 14.09.2005 (212) fix: NullPointerException в Privacy Lists - при изначально пустом Privacy lists и невидимый обрыв соединения. при создании правил автоматически заполняется поле group/jid по контакту в ростере, на котором стоит курсор (215) fix: обрезаются пробелы у ников в комнате и при попытке регистрации jid при написании сообщение в конференцию появилась возможность добавлять ник в текст война с исключениями на Nokia продолжается (216) рефакторинг - getChildBlockText рефакторинг - setQuerySign рефакторинг - EventOk оптимизация - userKeyPressed (поиск нового сообщения) рефакторинг - JabberDataBlock.textData команда Contact > добавлена в MessageList (218) попытки оптимизации использования памяти. 18.09.2003 (223) начальная реализация JEP-0048 bookmarks (224) fix: исправлено добавление закладки в пустой список bookmarks закладки *ПОКА* запрашиваются с сервера при *КАЖДОМ* входе в bookmarks. в следующих версиях будет 1 раз за сессию, плюс по refresh. (227) fix: XML-парсер некорректно обрабатывал xml-атрибуты, содержащие " касается и входящего, и исходящего потока. с этим багом был связан, в частности, обрыв соединений при Resolve Nicknames (228) автофокус в ростере сделан менее агрессивным. теперь после очередного перемещения курсора выполняется таймаут 21.09.2005 (229) fix: кнопка 0 не перемещала курсор на контакт с сообщением, если автофокус находился в состоянии таймаута bookmarks теперь прочитываются один раз за сессию. (233) fix: проблемы с загрузкой ростера на телефонах Motorola. (пробная реализация) Privacy Lists - добавлен тип правила ANY - выполняемое в случае, если не сработали правила до правила типа ANY. 23.09.2005 (234) fix: невозможность добавления в уже скэшированные закладки (235) privacy lists - упорядочивание правил при помощи команд Move Up / Move Down 25.09.2005 (238) команда Contact > переименована в Actions >, теперь будет содержать и команды для групп. Команды Leave Room и Discard Search теперь находятся внутри Actions > Требуется тестирование на Сименсах x65 - подвисание в меню при получении новых сообщений дожно быть устранено. подробности в FS#26 28.09.2005 (239) отправка статусных presence в конференцию. сортировка контактов в конференции. порядок сортировки пока такой: статус, модератор, ник fix: ники в конференциях больше не начинаются с '/' команда Actions>Re-Enter Room для группы, содержащей оффлайн-комнату. 29.09.2005 (240) fix: сортировка контактов в конференции fix: поведение Leave Room fix: отправка presence в конференции (242) небольшие оптимизации кода 02.10.2005 (243) fix: использование Service Discovery блокировалось после присоединения к конференции при помощи Service Discovery fix: NullPointerException при отрисовке ростера при неудачном присоединении к конференции (244) значок "запрос серверу" в Bookmarks и Privacy Lists (246) расширение понимаемых полей в vCard, подготовка к редактору vCard (247) фикс vCard 06.10.2005 (248) fix: FS#20 Переход последнего контакта в оффлайн fix: FS#66 "Leave room" на группе контактов. fix: resolve nicknames не работал после 246 изменён порядок модераторских команд в Actions 08.10.2005 (249) настройки сохраняются при выходе из формы Config по команде OK fix: считались одинаковыми ники Nick и nick в конференциях fix: теперь нет проблем при использовании в имени комнаты символов верхнего регистра (FS#81) 09.10.2005 (250) пробная поддержка "зелёной кнопки" на Nokia и Motorola поддержка fullscreen во всех окнах типа VirtualList 10.10.2005 (251) fix: ограничение ввода в поле Service Discovery:Address установлено в TextField.URL конфигуратор комнаты (Actions>Configure Room на группе конференции). работает только для Owner known issue: команда видна и админам, но не выполняется ими. 15.10.2005 (253) fix: FS#101 MessageView: Ошибка парсера сообщений при перемещении между сообщениями. Задача закрыта (Исправлено) fix: FS#99 Поиск - возврат результата. Задача закрыта (Исправлено) fix: FS#96 Ошибка NullPointerException в ростере. Требуется тестирование 19.10.2005 (254) оптимизации MessageParser (смайлы), перевод на паттерн Singleton (ускорение старта приложения) fix: FS#96 часть 2. NullPointerException при нажатии в пустом ростере асинхронная обработка ростера (255) Service Discovery: начаты Ad-Hoc Commands (JEP-0050) Service Discovery: fix x:data - не работали формы на mod_irc 22.10.2005 (256) fix: снова работает конфигурирование комнаты x:data - обработка типов boolean и list-single (checkbox & pulldown) (258) возможность установки subject в конференции 23.10.2005 (259) fix: FS#45 - присоединение к конференциям с одинаковым именем комнаты на разных серверах fix: FS#42 - не переносятся пробелы на новую строку в MessageView fix: Ad-Hoc Commands не использовали sessionId удалённое управление jabber-клиентом self-контакта (Actions>Commands) 24.10.2005 0.2.3 (261) fix: запрет отправки пустого subject vCard редактор. теперь vCard не сохраняется как сообщение. повторный просмотр vCard происходит без загрузки с сервера. для перезагрузки очистить сообщения. для редактирования собственного vCard необходимо включить Self-Contact и запросить у него vCard. ВНИМАНИЕ! Bombus НЕ СОХРАНЯЕТ имеющееся в vCard фото! (262) fix: MIDP1 и обработка vCard с фото (263) fix: не все поля vCard отправлялись на сервер fix: FS#105 в скрытую группу Not-In-List сообщения не сохраняются fix: FS#106 очистка сообщений у контакта не приводила к сбросу счётчика непрочитанных сообщений у контакта fix: NullPointerException при выполнении OK в пустом Actions 28.10.2005 (264) fix: FS#104 При добавлении через Add Contact нового icq-контакта при выборе в поле транспорта icq.jabber.ru приложение падает с ошибкой StringIndexOutOfBounds. (Nokia-specific bug) команда Refresh в форме vCard - перечитать vCard с сервера (265) fix: Исключение при Resolve Nicknames 30.10.2005 0.2.4.266 fix: у контактов, содержащих сообщения об авторизации, все новые сообщения показывались сообщениями об авторизации. история в конференции теперь приходит без сигналов. сообщения считаются при этом НЕПРОЧИТАННЫМИ. сигнал выдаётся при получении subject редактирование affiliations (членство в комнате) Actions>Owners, Actions>Admins, Actions>Members, Actions>Outcasts(Ban) возможно как добавление новых jid, так и редактирование членства у уже имеющихся. [WARNING] для owner! Будьте очень осторожны с манипулированием своим jid. можно запросто лишиться членства в комнате в качестве хозяина (owner). owner - это высшее звание в комнате. также можно лишиться owner, если попытаться себя добавить, к примеру, в админы. членство в комнате НЕ МОЖЕТ быть одновременно и owner, и admin. [/WARNING] (267) fix: увеличен максимальный размер полей вввода в формах до 200 символов 04.10.2005 (274) //заплатка для конференций, не совместимых с jep-0045 начиная с 1.19. //в частности, заплатка для pub.jabber.amanda.radom.net, использующего //MU-Conference 0.6.0 //(в версии стандарта 1.19 у списков admin & owner изменился namespace с //muc#owner на muc#admin): для того, чтоб на старых muc-серверах owner мог редактировать списки owners и admins, в jad-файл добавить атрибут muc_119: 0 05.10.2005 (276) описание звуковых ресурсов в файле /sounds/res.txt переключение звукового файла в Config убран атрибут msg_snd изменение формата текстового файла /vcard.txt FS116: команда "- (sign)", ассоциированная со строками GMT offset и Local offset (на моторолах ограничение TextField.DECIMAL не подразумевает ввод отрицательных чисел) (280) fix: освобождение ресурса Player по окончании проигрывания звука (FS#73) (281) расширение формата описания ресурса - столбец "описание", комментарии (//) (282) fix: пустое поле GMT offset или Local offset вызывало исключение 06.10.2005 (284) при поиске в JIT (icq) в списке найденных контактов значок отображает статус найденного контакта (онлайны видны в поиске только те, что разрешают добавлять себя без авторизации) fix: fullscreen при блокировке клaвиатуры звуковой сигнал (tone sequence). устанавливается в config выбором соответствующего sound (285) регулятор громкости звука в Options при изменении типа звука или громкости вызывается проигрывание звука fix: сломалась vibra_only в версии 284 08.10.2005 (288) приём forwarded messages (remote controlling clients) команда Options:Test sound, ассоциированная с выбором звукового файла и регулятором громкости. теперь изменение файла или регулирование громкости происходит беззвучно. (289) fix: исправлен автофокус (290) fix: снова исправлен автофокус 11.11.2005 (291) закрыты все задачи, блокировавшие выход версии 0.3 отключен регулятор громкости перенос курсора через конец списка в VirtualList (за исключением MessageList и MessageView) fix: при повторном входе в конференцию нет сигналов на сообщениях истории (292) в режиме vibra отключено мигание (293) fix: XML-парсер зависал на последнем атрибуте в тэге, содержащем пробел. например, abc проявлялось, в частности, на html-форматированных сообщениях Gaim (295) "у Мэри был ягнёнок" - mary.seq для телефонов, поддерживающих только audio/x-tone-seq 14.11.2005 0.3.0.300 - стабильная версия. 16.11.2005 (302) VirtualList: устранено моргание отрисовки при отсутствии двойной буферизации экрана 21.11.2005 (303) подчистка репозитория на предмет удаления непубличной инфы начало реализации скроллбара 23.11.2005 (308) SVN-репозиторий. (https://opencvs.csie.org/bombus/trunk) (309) начальная реализация отключения автологина при старте 24.11.2005 (311) лицензия modified BSD license теперь паковка происходит в zip 26.11.2005 (315) обработка событий стилуса на скроллбаре: перетаскивание ползунка, нажатие вне ползунка - pageup/pagedown 27.11.2005 (316) обработка одинарного нажатия на элементе списка (выбор) и двойного нажатия (действие) (317) jad: снова введён атрибут moto_e398 (т.к. в некоторых прошивках моторол теперь на запрос платформы возвращается не null, как раньше, а j2me Options: Keep-Alive. одноимённый атрибут из jad используется только в том случае, если rms-настройки пусты 28.11.2005 (318) fix: список Existing Groups в форме Add/Edit Contact теперь не содержит названия конференций 30.11.2005 (319) fix: (ad-hoc) лишние команды Execute при работе с disco rss.jabber.ru немного рефакторинга в конференциях 01.12.2005 (320) fix: на эмуляторе некорректно работало преобразование в utf-8 (конфигурация release) класс Config переведён на паттерн Singleton (321) рефакторинг класса Account 02.12.2005 (323) состояние Show/Hide offlines, изменённое кнопкой 0, не сохраняется при выходе 03.12.2005 (326) по многочисленным просьбам в ростере команды меню Actions и Contacts поменялись местами пустое меню Actions больше не вызывается (327) keep_alive в jad более не имеет эффекта. устанавливать период в настройках экспериментальный атрибут keep_alive_type, значения: 0 - посылка " " (значение по умолчанию) 1 - посылка "" (328) Options: [ ] popup from background - настройка для SonyEricsson - не открывать окно бомбуса при новом входящем сообщении 04.12.2005 (329) fix: MIDP1-версия зацикливалась при старте (ошибка с версии 320) 05.12.2005 (330) в профиль vibra вернулось мигание подсветки в Options добавился флаг [ ] flash backlight - глобальный запрет мигания подсветкой heap monitor - индикатор в заголовке окна, показывающий количество свободной памяти в куче (экспериментальная функция) в Options добавился флаг [ ] heap monitor - включение индикатора кучи. (331) расширенная информация о платформе. (экспериментальная функция) собираем статистику откликов телефонов (332) fix: были перепутаны с точностью до наоборот значения атрибута keep_alive_type (333) категория Options:Aplication теперь доступна и на MIDP1 06.12.2005 (334) fix: сохранение default AlertProfile (было сломано в 320) 08.12.2005 (337) убрано extInfo из ответа jabber:iq:version ещё один фикс Ad-Hoc при обрывах соединения (не выбор статуса Offline) в self-contact записывается сообщение об ошибке (Exception) (338) перемещение по заголовкам групп ростера клавишами 3/9 (339) фикс атрибута moto_e398 10.12.2005 (340) диапазон Priority -128..128 диапазон Keep Alive 30..600 секунд (341) изменения порядка мэпинга команд в форме набора сообщения, в формах Service Discovery, в форме редактора vCard (т.е. везде, где есть ввод текста) 11.12.2005 0.3.1.347 первая рабочая реализация архива сообщений. в редакторе MessageEdit добавлена команда Archive - выбор сообщения из архива для добавления к набираемому в списках сообщений добавлена команда to Archive - скопировать сообщение в архив меню Tools - перенесены вглубь Service Discovery и Privacy Lists откат назад изменений версии 341 - многочисленные нарекания по работе как на Nokia, так и на самом SE (350) Actions->Commands разрешён для всех элементов ростера. (полезно для @rss.jabber.ru) (351) отключена паковка для MIDP1. сильно вырос размер, но мидлет на M55 ведёт себя намного шустрее ждём отзывов от пользователей 18.12.2005 (357) фиксы разрыва соединения сохранение в архиве темы сообщения возможность вставки из архива не только тела сообщения, но и jid, и subject Account>Login - текущий аккаунт переводится в оффлайн, выбранный аккаунт активируется и переходит в онлайн Account>Select - текущий аккаунт переводится в оффлайн, выбранный аккаунт активируется БЕЗ перехода в онлайн. 20.12.2005 (358) fix: в конференциях правильно отображает user has joined the channel, если до этого выходил из комнаты фиксы управления подсветкой при блоке клафиатуры на моторолах (при первом использовании) MIDP1 - проба управления подсветкой при блокировке клавиатуры fix: IllegalArgumentException при переполнении буфера ввода вставкой из Archive 22.12.2005 (359) fix: IndexOutOfBounds в ростере после приёма запроса авторизации (глюк в 358) 0.3.2.360 парсинг URL, подчёркивание найденых URL команда Goto URL в Message View - запуск встроенного браузера 25.12.2005 (365) fix: перенос подчёркивания url fix: не добавлялся в список последний в строке url fix: в списке url длинные строки не скроллировались поскольку метод platformRequest(url) отсутствует в MIDP1, в версии MIDP1 убрана команда Goto URL 29.12.2005 (366) архив сообщений сохраняется сразу после добавления сообщения 5.01.2006 (368) ПРОЕКТУ BOMBUS исполнился 1 год :) архив сообщений сохраняется сразу после добавления сообщения переименовано поле Server addr/IP в Host name/IP сплэш 1Y (с) Go:st 14.01.2006 0.3.3.370 возможность логина аккаунта без загрузки ростера и отправки presence (используется для работы бомбуса только с конференциями) MessageList>Active Contacts - список активных контактов. активным контактом считается контакт, содержащий хотя бы одно сообщение (НЕ presence). fix: правильная привязка указателя (стилуса) к скроллеру fix: FS#171: при покидании конференции по команде Leave Room записывалось статусное сообщение user has joined the channel as _none_ вместо user has left the channel fix: FS#138: при смене ника не происходило переименовывание контакта участника в конференции. старый контакт уходил в оффлайн, новый - становился online. fix: FS#149: Kick - выгонял по старому нику войти в конференцию с jid/res1 и ником nick1 (ok) войти в конференцию с jid/res2 и ником nick1 (conflict) войти в конференцию с jid/res2 и ником nick2 (ok) kick nick1 -> nick2 вышел из конференции (требуется тестирование) 16.01.2006 (372) размеры иконок в skin.png вычисляются по следующим правилам: - количество иконок по горизонтали постоянно, и равно 8 - количество иконок по вертикали постоянно, и равно 10 - высота всех иконок одинакова - ширина всех иконок одинакова icon_width=skin.png_width/8; icon_height=skin.png_width/10; размеры иконок в smiles.png вычисляются по следующим правилам: - количество иконок по горизонтали постоянно, и равно 16 - количество иконок по вертикали не более 16 - последняя строка иконок может содержать менее 16 элементов. - ширина всех иконок одинакова - высота всех иконок одинакова и равна ШИРИНЕ icon_width=smiles.png_width/8; icon_height=icon_width; - для платформы midp1 ширина skin.png и smiles.png не должна превышать 256 пикселей (373) добавлена команда Tools>My vCard - запрос собственного vCard и открытие формы редактирования. fix: FS#180 - NullPointerException в MessageList на сообщении, начинающемся с url, полностью помещающегося в одну строку fix: в группах конференций контакт конференции не учитывается при подсчёте участников конференции (374) дублирование в некоторых меню кнопки джойстика OK(5) софт-клавишей 18.01.2006 (375) в сообщениях с type="error" выводится не только , но и (376) fix: xml-парсер спотыкался на конструкциях вида ' и " (377) кнопка OK продублирована в меню в service discovery (Browse) в заголовке Service Discovery добавилось число элементов в текущем узле (378) вход из MessageList в список ActiveContacts по удержанию кнопки "3" (379) пробное гашение подсветки при блоке клавиатуры на самсунгах. (385) новый скин 16*16 в MIDP2 Версия 0.3.3.385 зафиксирована в стабильные. (388) переезд svn на svn.xmpp.ru (389) цвета курсора и скроллбара изменены (391) fix: поведение кнопки Back на SE k750i некоторое изменение внешнего вида MessageView (393) в заголовке MessageList показывается статус контакта (394) начало переработки VirtualList под layout-модель (395) fix: подсветка на мотороле теперь гасится вызовом display.flashBacklight(1) (396) начато переписывание автофокуса. (398) первый работающий механизм новой отрисовки ростера и списка сообщений внимание! в данный момент НЕ РАБОТАЕТ выбор url из сообщения (399) включение нового VirtualList в главную ветвь (400) fix: неполное отображение архива сообщений fix: невозможность проскроллировать длинное последнее сообщение fix: концы строк наползают на скроллбар fix: задержка отрисовки распарсенного сообщения (сообщение некоторое время выглядит пустым, либо до нажатия на кнопку, либо 1.5-2 секунды) fix: курсор "оставляет след" в меню выбора смайлов (401) fix: в версию MIDP1 возвращены старые цвета курсора и скроллбара (402) fix: Quote в пустом списке сообщений приводило к NullPointerException пробная раскраска сообщиний чередованием реакция pageup/pagedown на нажатия стилусом на скроллбар fix: гашение значка непрочитанных сообщений (403) доработки pageup/pagedown (405) начало ветви для RIM Blackberry рефакторинг MessageParser (406) Nickname по в форме Conference устанавливается в значение username, если не указано имя аккаунта. 6.02.2006 (407) закончили празднования дня рождения Bombus (410) пробная реализация Balloon tips (414) на баллонах подвешены: в ростере - число непрочитанных сообщений у контакта в MessageList - время сообщения (420) в баллоне при выборе смайлов выводится текстовое представление данного смайла исправлено поведение стилуса при выборе смайлов (421) на пиксель вправо сдвинут тексты сообщений *временно* в jad-файл добавлены атрибуты: fontsz_balloon: 8 fontsz_roster: 0 fontsz_msg:0 размеры medium=0; small=8; large=16; (422) fix: NullPointerException при перемещении по пустому MessageList (423) патч от toon: Grant/Revoke voice в Muc 20.02.2006 (429) переключение шрифтов внесено в опции. a) фонт для баллонов фиксирован, и выбран минимальным b) фонт заголовка ростера сменится только после перезапуска (bug) c) jad-атрибуты font_* более не работают d) на некоторых телефонах присутствуют не все фонты. fix: пропадание курсора с экрана при pageup/pagedown 21.02.2006 (430) fix (CRITICAL): групповой вылет контактов из конференции при последовательности [0:05:09] *** evgs_желтолицый (*****) has joined the channel as a participant [0:05:32] *** evgs_желтолицый is now known as kickme [0:05:47] *** kickme was kicked 22.02.2006 (431) fix: FS#217: в формах регистрации по jep-0077, в частности, в форме регистрации icq.jabber.ru отображалось поле registered, доступное для редактирования, и затем отсылаемое в запросе регистрации. теперь диапазон значений для keep-alive от 20 до 600 секунд построчный скроллинг длинного сообщения 28.02.2006 (432) build.xml теперь не привязан к TortoiseSvn (C:/Program Files/TortoiseSVN/bin/SubWCRev.exe), используется svnversion 03.04.2006 (441) пробная реализация proxy HTTP CONNECT для proxy отправляется заголовок вида: CONNECT hostname:port HTTP/1.0 HOST hostname:port Pragma: no-cache и ожидается ответ от proxy: HTTP/1.0 200 Connection Established ... 09.04.2006 (449) fix: пропадание Leave Room при последовательности: войти в конференцию, Leave Room свернуть конференцию, войти в эту же конференцию в midp2 установка опции сокета keep-alive оптимизации хранения групп ростера в бомбусе исходники: Ability DISABLE_AUTOFOCUS увеличен размер шрифта часов (450) typo: Connect to_ (452) fix: пропадание Leave Room при последовательности: войти в конференцию под занятым ником (conflict) свернуть конференцию, войти в эту же конференцию fix: NullPointerException в Service Discovery (456) Options>Autofocus - включение/выключение автоматического перемещения курсора на контакт, получивший новое сообщение (457) fix: принимались пустые сообщения из конференции при использовании tkabber whiteboard (458) fix: моргание подсветки на моторолах при блоке клавиатуры (459) fix: исключение при работе с полями x:data более 200 символов. ограничение сохранено, длинная строка обрезается (463) Локализация интерфейса (пока только русский и английский языки) изменение языка интерфейса происходит при перезапуске Bombus Расширение инструментов администратора конференции (c)toon: grant/revoke Membership grant/revoke Moderator Privileges grant/revoke Admin Privileges grant/revoke Ownership Privileges (466) фиксы lang.txt (zet) 23.04.2006 0.3.5.473 Многоязычная версия: English, Russian, Czech, Polish описания языков хранятся в файлах /lang/??.txt список установленных языковых ресурсов сохраняется в /lang/res.txt Для проверки правильности языковых ресурсов в эмуляторе рекомендуется компилировать отладочную версию с ability LOCALE_DEBUG. При этом в консоль выдаётся список всех строк, которые не удалось прочесть из файла ресурсов (477) Добавлена команда Clear в поля NumberField Украинский язык (483) обработка ошибки загрузки иконсетов. теперь bombus не вылетает при отсутствии иконок NumberField>Clear - дополнительная опция для числового поля ввода - очищает поле (актуально для S75) исправления локализации Модификация сообщений presenсe и error в MUC (c)toon: - При смене статуса его содержимое отображается в сообщении - При смене, Affiliation полностью отображается в сообщении - Ошибка 403 отображается в виде простого сообщения. (488) инструменты модератора становятся доступны сразу по назначении список инструментов содержит действия, доступные пользователю в отношении данного участника (492) fix: невозможность присоединиться к конференции при наличии "псевдозакладок" в ростере (например, jid вида room@conference.jabber.ru) - до 488 билда такие закладки приводили к неправильному расположению контактов участников fix: невозможность присоединиться к конференции после обрыва связи, рестарте Bombus и реконнекте, при котором выход повисшего в конференции контакта сопровождался 'Replaced by new connection' 30% от invite - Bombus принимает приглашение и создаёт группу конференции, в которую был приглашён. Для входа воспользоваться командой Re-enter временные ограничения - невозможность входа в запароленные конференции через Re-enter 18.05.2006 (494) вывод в jabber:iq:version языка интерфейса Bombus (FS#236) Subscription: переименование Request "from" в Ask subscription, Send "to" в Grant subscription (FS#224) имена файлов истории MIDP1 теперь кодируются в UTF-8. (FS#163) ВНИМАНИЕ!!! ЭКСПЕРИМЕНТАЛЬНАЯ НЕПРОВЕРЕННАЯ ФУНКЦИЯ! ограничение для пароля TextField.URL заменено на TextField.ANY (FS#245) команды Quote и To Archive сделаны статическими (памятуя о проблемах x65, безглючно сделать не получится из-за асинхронного прихода сообщиений). (FS#247, FS#254) (495) обновления локализаций ru, ua, cz (496) добавлена форма Actions>Invite - доступна только для контактов ростера при условии подключения как минимум к одной конференции в форме набора сообщения обмен местами команд to Archive и Set Subject (zet) (513) полнофункциональная команда invite при Re-enter room теперь появляется форма входа в конференцию, позволяя перезайти с желаемым ником fix: подвисание бомбуса при запросах двух разнотипных форм без ожидания получения первой формы, например, запрос формы конфигурирования комнаты и service discovery Actions>Client Info переименована в Actions>Client Version fix: FS#258 - Motorola - при закрытии флипа приложение падает с ошибкой SonyEricsson: кнопка C с кодом -8 очищает список контактов, предварительно задавая вопрос. (520) fix: FS#5 — проблемы с offline-сообщениями self-contact fix: FS#199 Array Index Out Of Bounds @ Commands>Get list of shared files обновление языковых пакетов ru и ua Options: Join conference->join conferences Options: room presences - отключение сохранения презенсов в конференции Тема конференции не дублируется в пределах одного сообщения заблокированы Invite для транспортов (525) возможность добавления наборов иконок пользовательских транспортов. для примера смотреть файлы images/transports.txt и images/mrim.txt добавлены иконки транспорта mrim fix: отрисовка VirtualList c малым количеством элементов при нажатии кнопки "вправо" на моторолах вызывается System.gc() при сохранении сообщения. экспериментальная функция (527) смещён фонт на 1 пиксель вверх возможность посмотреть список участников конференций, сохранённых в bookmarks, без присоединения к конференции: Conference>Bookmarks>Participants (528) ТОЛЬКО ДЛЯ РАЗРАБОТЧИКОВ, А ТКАЖЕ БЕТА-ТЕСТЕРОВ, ЗАНИМАЮЩИХСЯ САМОСТОЯТЕЛЬНОЙ СБОРКОЙ. возможность включения вывода в System.out xml-дампа соединения с сервером, включая некоторые отладочные сообщения. необходимо в конфигурации Release (!) добавить Ability XML_STREAM_DEBUG не рекомендуется использовать версии со включенным XML_STREAM_DEBUG ввиду возможного замедления работы клиента. (530) иконка Composing теперь отображается и в ростере, приоритет отображаемой иконки: непрочитанное сообщение / composing / статус контакта Slovak langfile подготовка к локализации статусных сообщений в конференции (535) * фиксы локализации * обновления польской локализации * патч "ожидание готовности чтения сокета" активен только для моторол (проверка влияния на S75) * фикс смайла :( * изменение поведения кнопки KEYVIBRA - теперь запоминается текущий профиль при выборе вибры, а не переключается между профилем "по умолчанию" и виброй + экспериментальная модификация свойств ввода в форме набора сообщения - автоматический ввод с заглавной буквы -- * locale fixes * Polish langfile update * InputStream.available() polling enabled only on Motorola phones (s75 incompatibility?) * smile :( recognition fixed * KEYVIBRA behaviour changed - now it performs switch between current alert state and vibra, not between default state and vibra. + experimental: MessageEdit form now has INITIAL_CAPS_SENTENCE property (device dependent behaviour) (537) + экспериментальная опция Options:Abcd и команды MessageBox:Abcd и abcd для переключения автоматического ввода предложения с заглавной буквы * обновление файлов локализации -- + experimental: Options:Abcd and commands MessageBox:Abcd & abcd to switch INITIAL_CAPS_SENTENCE property * localization update ATTENTION! langfiles cz.txt, pl.txt and sk.txt should be corrected to show native strings (545) * исправлен NullPointerException при вызове Actions> в пустом ростере + расширение набора смайлов в MIDP2: @};- , :-/ и :-* + болгарская локализация * обновление чешской локализации * обновление русской локализации -- * fix NullPointerException if Actions> called in empty roster + MIDP2 smiles @};- , :-/ and :-* + Bulgarian langfile * Czech langfile update * Russian langfile update (548) + экспериментальное управление подсветкой для моторол (только в ростере): нажатие '*' - включение/выключение подсветки нажатие любой клавиши - включение подсветки + дополнительные кнопки motorola e680: volumeUp - курсор в начало списка volume- - курсор в конец списка real player - в ростере функционирует подобно кнопке '0' + Service Discovery>Features - служебная команда, показывает все возможности открытой в disco ноды -- + experimental: motorola backlight control (only in roster): pressing '*' - toggle backlight on/off pressing any key - switch backlight on. + motorola e680 keys: volumeUp - moves cursor home volume- - moves cursor end real player - in roster acts like '0' + Service Discovery>Features - this service command shows all features of discovered node (549) * изменено поведение атрибута jad-файла gc_room. gc_room определяет имя комнаты и адрес сервера для формы Join conference gc_room: room@server - заполняет соответственно имя комнаты и адрес сервера значениями room и server gc_room: room - в качестве имени комнаты используется room, адрес сервера получается добавлением поддомена conference к имени сервера, на котором зарегистрирован аккаунт пользователя. по умолчанию - gc_room: bombus@conference.jabber.ru -- * new behaviour of jad attribute "gc_room": gc_room defines default room name and server address used in Join conference form gc_room: room@server - parameter will be splitted into substrings "room" and "server", this values will be used as room name and server address gc_room: room - "room" will be used as room name; subdomain "conference" will be added to user's server address, and this new address like "conference.jabberserver" will be conference server address default value - gc_room: bombus@conference.jabber.ru (563) * MessageEdit>Nicknames - вставка ника производится с добавлением хвостового пробела (при вставке не в начало текста) + MIDP2: xmpp v1.0 SASL аутентификация: механизм DIGEST-MD5 + MIDP2: experimental: механизм SASL-аутентификации X-GOOGLE-TOKEN для GTalk. Появляется возможность работы с GTalk без ssl-сокетов, но требуется https-соединение при логине. -- * MessageEdit>Nicknames - Nickname appending with trailing space when appending nick to the end of message + MIDP2: xmpp v1.0 SASL authentication: mechanism DIGEST-MD5 + MIDP2: experimental: SASL mechanism X-GOOGLE-TOKEN for GTalk. now login may be done without ssl socket, but using https connection to get that token. (566) * исправлено исключение NullPointerException при доступе к закрытому сокету некоторыми командами. ServiceDiscovery, Privacy Lists, VCard и т.д. теперь недоступны при отсутствии соединения с сервером * сохранение правил из privacy lists с правильным полем order (порядок применения правил) -- * NullPointerException if accessing to closed socket. ServiceDiscovery, Privacy Lists, VCard, etc... are blocked if there are no active xmpp connection * Privacy List's rules now will be stored with correct 'order' field (568) * отформатирован заголовок списка Active contacts -- * formatting space in Active contacts list 0.3.6.570 * новое расположение иконок в скине skin.png -- * new skin.png iconset layout 21.07.2006 (572) + MessageList>Goto URL - вернулся запуск встроенного телефонного браузера вызывается список линков, содержащихся в текущем сообщении в списках сообщений контакта, конференции, и в архиве -- + MessageList>Goto URL - internal phone's browser launch returned back this command shows URLs, contained in focused message in Contact/Conference Message List, and in Archive (573) * ограничения размера истории конференции (значения временно фиксированы): максимальное число сообщений = 20; максимальный объём истории = 32 КБ; при повторном входе запрашиваются только сообщения, поступившие в период отсутствия (с учётом вышеуказанных ограничений) -- * MUC history limiting (experimental, fixed values): maximum messages=20; maximum history size=32KB; only new messages if reenter conference, but limiting with upper conditions (574) (xmpp core) + jabber:iq:last reply - возвращает время бездействия (которым считается время, прошедшее с момента последней отправки сообщения). * возврат ошибок на неправильные IQ-запросы * вернулось скрытие пароля в форме Account + команда Account>Show password -- (xmpp core) + jabber:iq:last reply - returns idle time (time passed after last message sent) * error replies on invaild IQ's * password hiding in account form + Account>Show password command (575) * NullPointerException при создании аккаунта (ошибка версии 574) -- * NullPointerException on creating account (576) + автодетект телефонов Motorola по результату работы Class.byName("com.motorola.multimedia.Lighting") ВНИМАНИЕ! ЭТА ФУНКЦИЯ МОЖЕТ ПРИВЕСТИ К ПАДЕНИЮ ПРИЛОЖЕНИЯ ВО ВРЕМЯ СТАРТА, И ДАЖЕ ВЫЗВАТЬ НЕВОЗМОЖНОСТЬ УСТАНОВКИ МИДЛЕТА В ТЕЛЕФОН!!! ПРОСЬБА СООБЩИТЬ О РЕЗУЛЬТАТАХ РАБОТЫ ДАННОЙ ФУНКЦИИ. + SASL: PLAIN mechanism * поля password в Service Discovery теперь скрывают свои значения звёздочками ***** (только в формах, соответствующих jep-0004 disco forms) -- + autodetect Motorola phones by Class.byName("com.motorola.multimedia.Lighting") WARNING! THIS FUNCTION MAY CRASH DURING STARTUP OR EVEN MIDLET MAY NOT BE INSTALLED ONTO YOUR PHONE AT ALL!!! PLEASE REPORT ABOUT SUCH PROBLEMS + SASL: PLAIN mechanism * password fields in disco is now hide its values by ***** (only in jep-0004 disco forms) (577) * добавлен детект по com.motorola.funlight.FunLight (578) * подсветка на Motorola переключается нажатием * и включается нажатием любой кнопки в Roster -- * Motorola backlight is now toggled by '*' and switched on by any key in Roster (587) * переписан механизм детекта телефонов Motorola (588) + Balloon для контактов конференции показывает реальные jid участников. доступно в полу-анонимных комнатах только для модераторов, и всем - в неанонимных комнатах -- + Balloons for MUC-contacts now contains real jids. Available for moderators in semi-anonymous room, also available for all in non-anonymous rooms. 8.08.2006 (590) + сообщения в конференции, содержащие собственный ник, выделяются жирным шрифтом -- + MUC-messages with self-nick now are highlighted with bold font (593) + сообщения конференции на телефонах Моторола выделяются цветом, т.к. на моторолах в Java недоступен шрифт Bold -- + MUC messages are higlited by purple-color instead of Bold-font on Motorola because it hasn't such font (595) * Сообщения в архиве свёрнуты + поле Add Contact>Jid заполняется jid-ом контакта конференции, на который наведён курсор (только в случае модератора или неанонимной конференции) -- * Messages in Archive are now collapsed by default + Add Contact>Jid field will be filled with real Jid of focused conference participant (only for moderators or non-anonymous rooms) (598) * исправлено дополнение Add Contact>Jid (см. билд 595) * скорректировано отображение ошибок conflict/forbidden при входе в комнату -- * fixed Add Contact>Jid field completion (see build 595) * error states conflict/forbidden on joining room (602) * Были перепутаны местами команды Ask subscription и Grant subscription * Учтено поведение стандартного элемента формы ChoiceGroup на телефонах Nokia В форме Edit Contact к полям ChoiceGroup присоединена команда "Update". Пользователь подтверждает выбор элемента формы при помощи команды Update, модифицируя соответствующие текстовые поля. -- * Ask/Grant subscribe were messed * Nokia ChoiceGroup behaviour workaround (Java machine does not send notification to parent form if ChoiceGroup selection was changed) Edit Contact now has "Update" item command attached to each CoiceGroup. User should issue this command to accept his choice to affect another form fields Also Bombus takes group name from TextField only if value is selected in ChoiceGroup. (603) * Tools>My vCard не позволял редактирование, если в ростере на сервере сохранён собственный jid -- * Tools>My vCard was uneditable if roster contains self-jid 20.08.2006 (606) * Вызов формы Options передвинут вглубь подменю ростера Tools * команда Active Contacts теперь доступна и в ростере - через меню, либо при удержании нажатой кнопки '3' -- * Options form moved into Tools submenu * Active Contacts now Available in roster use menu>Active Contacts or hold key '3' (608) * Slovak langfile updated (610) * при отсутствии возврата версии клиента (оффлайн или списки приватности) выдаётся сообщение "No version available" + Упорядочивание групп в ростере (сортировка): 1. self-contact 2. General 3. < группы ростера в лексикографическом порядке, без учёта регистра > 4. конференции в порядке присоединения 5. Ignore-List 6. Not-In-List 7. Transports * Размер MessageEdit увеличен до 1024 символов * Команда "Update" переименована в "Set" (см. билд 602) -- * if client does not return version reply (offline or privacy lists) Bombus will display "No version available" + Roster groups appearance (sorting added): 1. self-contact 2. General 3. < here is roster groups sorted in lexicographical case-insensitive order> 4. conferences in join order 5. Ignore-List 6. Not-In-List 7. Transports * MessageEdit form is extended up to 1024 symbols length * "update" command is renamed to "Set" (see build 602) (611) * исправление подвисания архива (см. FS#311) * попытка исправления FS#111 (отсутствие команды Back в Search results и Service Discovery (614) + поле "Message limit" в форме Join conference - максимальное число загружаемых с сервера предыдущих сообщений конференции -- + "Message limit" field in "Join Conference" form - maximum number of conference history messages to request from server (616) * в билде 610 был сломан возврат версии * команда Tools>My vCard ошибочно показывала форму Options (билд 606) * Tools>Options в состоянии дисконнекта был недоступен (билд 606) -- * version reply was broken in 610 * Tools>My vCard mistakenly invoked Options form (606) * toils>options was unavailable if disconnected (606) (620) * EditContact - выпадающий список "Group" был сломан в билде 610 -- * EditContact - droplist "Group" was broken in build 610 (621) * VirtualList - фиксы скроллинга больших элементов -- * VirtualList - fixing scrolling issues (625) + В несколько видоизменённой форме вернулась функция отключения смайлов. Команда вызывается либо через меню, либо кнопкой '*'. Данная команда выполняет переключение режима отображения смайлов только для сообщения, на котором установлен курсор. Также можно установить состояние смайлов для всего MessageView через Tools/Options + Опция "Ask subscription" в форме "Add Contact" позволяет разрешить/запретить запрос подписки для добавляемого контакта. В предыдущих версиях данный запрос выполнялся и не мог быть отключен. * Перемещение фокуса окна на курсор после сворачивания сообщения (FS#328) (broken) -- + Toggling smiles is returned to MessageList - via menu or '*' key This command applies to single focused message. Also smiles can be disabled in options form + "Ask subscription" option in "Add Contact" form allows/disables automatic subscription request (on by default). Subscription request was always performed in previous version. * Focusing view to cursor after collapsing or expanding message in MessageView (FS#328) (broken) 26.08.2006 (628) * Перемещение фокуса окна на курсор после сворачивания сообщения * исправлено выключение смайлов по '*' + больше информации о телефонах siemens в version reply - убрана вторая (правая) иконка Composing в MessageList -- * Focusing view to cursor after collapsing message now works correctly * Toggling smiles with '*' key + More details in version reply for Siemens phones - Double icon "Composing" in MessageList (629) * автопрокрутка контакта и баллон при перемещении по '0' (630) * Message Composing core fix (jabber:x:event now contains child) 27.08.2006 (632) * Для Siemens изменено назначение клавиш KEYVIBRA=* и KEYBLOCK=# * подчёркивание url исчезало при отключении смайлов * ускорение работы парсера смайлов на свёрнутых сообщениях * Actions> - устранён NullPointerException в состоянии Offline -- * key bindings KEYVIBRA=* and KEYBLOCK=# for Siemens phones * url underlinig was disabled if smiles were disabled * parser boosting for collapsed messages (single line parsing) * Actions> NullPointerException if disconnected state (634) * Сортировка контактов: в качестве ключа сортировки используются полные отображаемые имена контактов (регистронезависимо). Ранее использовались первые 2 буквы имени контакта как ключ * Сортировка контактов конференции: роль контакта теперь более приоритетна, чем статус. (модераторы всегда сверху) -- * Contact sorting: full screen names as sort keys (non case-sensitive) * Conference contact sorting: role is used prior to status and string 29.08.2006 (636) * ошибка 503: composing events теперь запрещено посылать offline * сортировка контактов после модификаций ростера (например, переименовывание) * более информативные сообщения в процессе логина (особенно SASL) * аватары в vCard: защита от загрузки картинок размером более 100 КБ * Goto URL корректно воспринимает последнюю ссылку в сообщении * запрет автоповтора клавиши '*' (Toggle smiles) в MessageList -- * error 503: composing events to offline entity are forbidden * sorting contacts after roster push * login messages now are more informative * vCard avatar: size is now limited by 100KB * Goto URL now also handle last url in message * disabled autorepeat of '*' (Toggle smiles) in MessageList 31.08.2006 (640) + Опция "Remove registration в формах Service Discovery jabber:iq:register для возможности отмены регистрации на транспортах (jep-0100) + Service Discovery: иконка ошибки в заголовке окна при невозможности обработки запроса -- + New option "Remove registration" in disco forms jabber:iq:register to cancel registration on legacy gateways (jep-0100) + Service Discovery: ERROR icon if query was failed (643) + Service Discovery: jid-ы во всплывающих баллонах + Service Discovery: сортировка (лексикографическая, регистрозависимая) -- + Service Discovery: jids in balloons + Service Discovery: lexicographical case-sensitive sorting (646) * jabber:x:data was broken in 640 * disco nodes was broken in 643 03.09.2006 (648) * Отремонтирована SASL-авторизация * Контакты из псевдо-групп Not-In-List и Search results более не учитываются в счётчике в заголовке ростера (FS#10) * Обработка ошибок в Service Discovery (FS#344) * Кэширование ресурсов изображений на телефонах Nokia (FS#343) -- * SASL login was broken * Contacts in Not-In-List group and in Search results will not be counted in roster title anymore (FS#10) * Error handling in Service Discovery (FS#344) * Image caching on Nokia devices (fixing one of numerous memory leaks) (FS#343) (651) * Add Contact: поле ввода jid отсутствовало в форме, вызванной при курсоре, наведённом на контакты конференции * Add Contact: глюки группы General на телефонах Nokia * VirtualList: отключение скроллбара для пустых списков -- * Add Contact: jid field missed in form invoked if cursor was focused on conference contact * Add Contact: group General issues on Nokia * VirtualList: Scrollbar now is disabled on empty lists (653) + MessageList:Authorize - упрощённая процедура подписки. Команда доступна при наведении курсора на сообщение с запросом на подписку. -- + MessageList:Authorize - Simplified subscription procedure, works if subscription request is focused (FS#326) (655) * ArrayIndexOutOfBoundsException при попытке открыть MessageList пустого контакта 08.09.2006 (656) * иконка программы - 15*15 -- * Bombus icon size now is 15*15 (657) + если возраст сообщения более суток, то время в баллонах пишется в формате dd.mm.yy hh:mm -- + balloons will show time of messages elder than 24 hours in format dd.mm.yy hh:mm (658) * игнорируются презенсы от контактов вне ростера, не попадают в Not-In-List (FS#367) -- * FS#367 - ignoring presences from contacts not in roster (660) ? для тестирования ошибки http://technom.ru/flyspray/task/111#comment614 временно команда Authorize появляется ТОЛЬКО после перемещения курсора в MessageList -- ? looking for bug http://technom.ru/flyspray/task/111#comment614 16.09.2005 (661) * изменение формирования контекстно-зависимого меню в MessageList - проверяем http://technom.ru/flyspray/task/111#comment614 на Symbian S60 * FS#348 Белый экран в ростере при удержании 0 - IndexOutOfBounds * FS#125 сообщения в скрытых спецгруппах - теперь группа транспортов отображается, если у одного из транспортов есть непрочитанные сообщения -- * FS#348 IndexOutOfBounds when toggle displaying offline contacts * FS#125 Disabled "Transports" group will be shown if this group contains tramsport has unreaded messages (663) * пробная оптимизация загрузки графики для SonyEricsson -- * trying to prefetch images into dedicated videoram for SonyEricsson (664) * FS#260 Повторный вход в конференцию с другим ником и сворачивание группы конференции приводило к потере контакта конференции -- * FS#260 Reentering into conference with another name, then collapsing conference group causing conference to disappear (668) * устранено пропадание курсора в некоторых списках, например, bookmarks и service discovery (ошибка появилась в 664) -- * cursor was out of list in some cases (error made in build 664) 17.09.2006 0.4.0.669RC 18.09.2006 (673) * исправлена проблема залипания фокуса в формах Service Discovery на Java-машине JP6 в телефонах SonyEricsson (например, невозможность редактировать текстовые поля при регистрации транспортов ICQ и Yahoo) * исправление размножения self-contact в конференциях при повторных входах -- * fix disco forms with instructions on SonyEricsson JP6 * muc-reenter 21.09.2006 0.4.0.675 версия застабилизирована 22.09.2006 (679) * FS#372 [end of vcard] preceeded with \n\n * FS#377 Exception in Config form (680) * fullscreen fix (687) * подготовка бета-версии с jzlib 24.09.2006 (698) * Небольшая оптимизация Zlib - теперь потребляет свободной памяти меньше примерно на 30 КБ. -- * Zlib lite optimizations - reduced memory consumption in runtime (aprox. 30KB) 25.09.2006 (700) + вывод подробностей ошибки при неудачном соединении (название исключения и текст исключения) возможны следующие исключения: IllegalArgumentException - синтаксическая ошибка в написании адреса сервера ConnectionNotFoundException - ошибка DNS, либо нет поддержки протокола (в случае SSL) IOException - другие ошибки сетевого уровня SecurityException - у приложения недостаточно прав для доступа к сети (либо к указанным protocol/host/port) -- + detailed error message if connection failed (exception name and exception message) exception types: IllegalArgumentException - may occurs if malformed server/hostname was specified ConnectionNotFoundException - DNS error or protocol (for examle, SSL) not supported IOException - some other kind of network error SecurityException - application is not allowed to use network (or specified protocol/host/port) 29.09.2006 (705) + Data forms: поддержка полей list-multi. протестировано на удалённом управлении Ткаббером * Ad-Hoc: исправлен переход в состояние "Complete" -- + Data forms: list-multi fields now are supported. Tested on Tkabber's Remote Controlling * Ad-Hoc: "Complete" state fix 30.09.2006 (707) * оптимизация операций с xml -- * xml stream refactoring (708) * не происходит потеря фотографии при редактировании собственного vCard из Bombus -- * VCard: Photo will be preserved if vCard has been modified (709) * максимальный размер статусного сообщения увеличен с 50 до 100 символов -- * Status message size limit increased from 50 to 100 chars (711) * SASL-логин теперь правильно обрабатывает username и password, состоящие из не-ASCII символов -- * SASL login if username or password contains non-ASCII chars (UTF-8 encoding performed) (712) + FS#338: в заголовке Archive указывается число записей архива * FS#387: обновление счётчика сообщений после удаления контакта, содержащего непрочтённые сообщения -- + FS#338: Archive title now includes total message count * FS#387: New message counter will be updated after removing contact with unreaded messages (714) * FS#368: обработка ошибки при запросе vCard с серверов jabberd2 -- * FS#368: VCard-not-found for contacts at jabberd2 (716) + FS#323: вложенные в сообщения url по схеме jabber:x:oob (к примеру, хэдлайны от rss.jabber.ru) * vCard, содержащий фотографию, не мог быть модифицирован (ошибка билда 708) -- + FS#323: jabber:x:oob attaches (url) in messages (like headlines from rss.jabber.ru) * vCard editor was broken in build 708 - can't publish data if photo is present (719) + Options>Text Wrapping - переносы текста по словам в списке сообщений (с) Dion -- + Options>Text Wrapping - Text wrapping by words in MessageLists - (с) Dion (722) * Исправление ошибок переносов Экспериментальные функции: + Файловый браузер(проводник). пока только реализация JSR-75. временно доступен в Tools>root + Tools>My vCard>Photo - добавление фотографии в vCard, изображение загружается из файловой системы телефона. для передачи на сервер требуется команда Publish + Tools>My vCard>Clear Photo - удаление из vCard фотографии. аналогично требуется Publish -- * Text Wrapping fixes Experimental features (available only in ZLib version): + JSR-75 filesystem browser (temporary at Tools>root) + Tools>My vCard>Photo - inserting photo into vCard. Publish required + Tools>My vCard>Clear Photo - removing photo. Publish required (727) + com.motorola.io.FileConnection support 7.10.2006 (742) * Исправлено несколько ошибок парсера сообщений: отрисовка URL, символов TAB, StringIndexOutOfBounds * Service Discovery - исправления чуствительности Bombus к регистру jid + отображение размера фотографии в vCard -- * message parser bugfix: StringIndexOutOfBounds * disco fix: case-sensitive comparing of jids removed * message parser url fix * message parser tab fix + photo size shown as photo label (749) * MessageParser: \n + экспериментальная поддержка com.siemens.mp.io.File (платформа x65) -- * MessageParser: \n + com.siemens.mp.io.File experimental support added. (756) + Сортировка списков jid в редакторе Conference Affiliations + Счётчик jid в редакторе Affiliations -- + Conference Affiliations: jid list sorting + Affiliations: jid list size (757) * correct cursor position while browsing file structures (758) * сброс иконки Composing у контакта, приславшего presence -- * reset composing icon if presence received 14.10.2006 0.4.2.759 + Бета-версия файл-браузера. На данный момент поддерживаются JSR-75, com.siemens.mp.io.File, com.motorola.io.FileConnection -- + File browser beta version. Next File i/o layers are supported: JSR-75, com.siemens.mp.io.File, com.motorola.io.FileConnection 15.10.2006 (760) * Отцентрована картинка на SplashScreen + регистронезависимое сравнение jid теперь работает для юникодов кириллицы -- * Image centered on SplashScreen + case-insensitive jid-comparing now works for cyrillic unicode chars 19.10.2006 (769) + выделение темы конференции * коррекция выравнивания текста в баллонах для контактов конференции -- + Conference subject is always highlighted * Muc contact's balloon text now is properly aligned (775) + My vCard>Camera - съёмка фото при помощи встроенной камеры для вставки в vCard. актуально для MIDP2-устройств, не имеющих доступа к файловой системе * ZLib: исправлена работа счётчика "Stream: Sent" -- + My vCard>Camera - capturing photo using phone's built-in camera for use in vCard * Zlib: "Stream: Sent" counter now works correct 7.11.2006 0.4.3.814 Накопительные изменения с r776: * vCard>Camera отображается только в случае поддержки камеры в Java + File Browser>Info - отображение размера файла и просмотр изображения для jpg, png, gif * всплывание Bombus на SonyEricsson: однократное ложное переключение отображаемого экрана на ростер, происходившее при входящем сообщении, если Bombus был вручную выведен из фонового режима * base64 декодер - ошибка выравнивания '=' * MessageList: минимальная высота сообщения устанавливается по шрифту, а не жёстко заданная 12 пикселей (FS#355) * закладки конференций (bookmarks) загружаются автоматически при логине только в версии JZLIB: + Actions>Send file - отправка файла с использованием схемы In-Band-Bytestreams (XEP-0047 & XEP-0096) + Tools>File Transfers - менеджер закачек. Используется для приёма ожидающего входящего файла, а также для наблюдения за процессом передачи. -- Cumulative changes since r776: * vCard>Camera command is sown only if camera available + File Browser>Info shows file size and image preview for jpg, png, gif * application popup on SonyEricsson: display was switched once to roster on incoming message if Bombus was raised manually. * base64 decoder - '=' padding issue * MessageList: minimal message height is set to font height rather than 12 pix (FS#355) * conference bookmarks is now loaded automatically on login JZLIB version only: + Actions>Send file - sends file to contact using In-Band-Bytestreams scheme (XEP-0047 & XEP-0096) + Tools>File Transfers - file transfer manager. Used to accept file and view transmission progress (816) * fix: загрузка Bookmarks теперь не зависит от "join conferences" -- * fix: Bookmarks loading is not dependent from option "join conferences" (820) * исправлена запись файлов модуля совместимости с файловой системой Siemens + ограничение использования полосы пропускания при передаче файлов (шейпер) * не указывался параметр bolck-size при старте потока ibb -- * FileSiemens writing module fixed + Send file: outgoing traffic shaping. * ibb iq open stanza now contains bolck-size attribute 8.11.2006 (822) * исправлена запись файлов модуля совместимости с файловой системой Siemens -- * FileSiemens writing module fixed 10.11.2006 0.4.4.828 + История ввода для некоторых текстовых полей: Service Discovery>Server Status>Edit>Message Conference>Nickname Transfers>Accept File>Save to Actions>Send File>File Каждое такое текстовое поле содержит команду Recent. Последнее введённое значение сохраняется в начало списка, остальные смещаются вниз. Максимум 10 строк. -- + Recent List for some text fields: Service Discovery>Server Status>Edit>Message Conference>Nickname Transfers>Accept File>Save to Actions>Send File>File Theese fields have context-sensitive command Recent. There are maximum 10 stored values for each field. Most recent value is added to begin of list. 11.11.2006 (836) * NullPointerException при вызове Search Results>Ok в пустом списке * xep-0100: отмена регистрации транспорта в случае использования форм jabber:x:data * TextFieldCombo: при инициализации поля пустой строкой и отсутствии истории ввода возникало исключение -- * NullPointerException at Search Results>Ok if empty list * xep-0100: unregister in the case of jabber:x:data used in registry form * TextFieldCombo: exception was thrown if both initial value and recent list were empty (843) + сообщения об ошибках передачи файлов + установка отдельных статусов для конференций и контактов ростера. + команда Reply для сообщений в конференции -- + Transfer error messages + Direct Presence for roster contacts and MUC + MUC: Reply command 12.11.2006 (852) * исправлено использование некоторых строк локализации + возможность указания причин для kick и ban * File Browser: команды Cancel и Back теперь назначены на софткнопки так же, как и в Service Discovery * File Browser: команда Back и переход в директорию "../" теперь полностью равнозначны. При вызове Browser происходит переход в последнюю использованную директорию (пока используется только в FileTransfer) -- * locale usage fix + kick and ban reasons * File Browser: commands Cancel and Back now are mapped to softkeys like in Service Discovery * File Browser: command Back and OK at directory "../" are fully equals now. Browser can be started at specified path (used in FileTransfer) 23.11.2006 (858) * Окна класса Alert FileBrowser>Info, Connection Error, Disco>Error теперь содержат команду закрытия окна с типом Command.BACK + ContactMessageList: новая иконка "для этого контакта скэширован vCard". (temporary used "search" icon) * Поле Account:Account name переименовано в Nickname * Исправлена передача файлов при логине в состоянии "только конференции" * Исправлено получение закладок при логине в состоянии "только конференции" * Для телефонов Nokia команда Active Contacts в ростере назначена на неиспользованную софт-клавишу (Back) -- * Alert screens FileBrowser>Info, Connection Error, Disco>Error now have dismiss command with type=BACK + ContactMessageList: new icon "has cached vCard" (temporary used "search" icon) * Field Account:Account_name is renamed to Nickname * File Transfer now works in Conference-only mode. * Bookmark qurey fixed for Conference-only mode * Active Contacts mapped in roster to "Back" softkey. Only for Nokia * config: history option removed until feature to be implemented 27.11.2006 (868) + ArchiveList: кнопка C удаляет выбранное сообщение, дублируя команду меню Delete * FS#425 - исключения при удалении ресурсов из Bombus.jad/*/res.txt * MessageList:Reply - теперь команда может быть выполнена и для сообщений из истории конференции * vCard: [No vCard available] при отсутствии vCard у контакта * исправление зависаний окон Alert * запрос vCard отправляется с использованием jid контакта без указания ресурса + TextFieldCombo:Clear - очищает историю ввода для данного поля * по умолчанию причина kick/ban пустая, а не последняя выбранная * корневая точка файловой системы отображается как "", а не как "/" -- + ArchiveList: key C removes focused message * FS#425 - exceptions when loading enumerated resource file * MessageList:Reply - enable replying to history messages * vCard: [No vCard available] if contact has no vCard * Alert screens fixup * vcard request is querying now with bare jid instead of jid/resource + TextFieldCombo:Clear - destroys input history for associated field * Empty kick/ban reason by default * File system root is now '' rather than '/' (869) * исправлена загрузка языковых пакетов -- * langfile loading fix (after 868) 29.11.2006 (873) * устранено исключение в форме My vCard при наличии длинных строк в полях vCard длинные строки vCard обрезаются до 500 символов * исправлено расположение и выравнивание надписи [no vCard available] * vCardForm:Clear Photo - фото удаляется сразу из отображаемой формы * FS#447: исключения в пустом списке Search Results -- * exception in My vCard form caught if large string encountered. now large strings will be truncated to 500 chars * [no vCard available] fixed and aligned * vCardForm:Clear Photo - photo will be removed from this form immediately * FS#447: Exceptions in empty Search results 30.11.2006 (875) * Изменена идеология работы с закладками и присоединением к конференциям. Список закладок доступен непосредственно по команде "Join Conference". + Добавлена команда Bookmarks:"New conference" (название подлежит обсуждению) - открывает форму присоединения к конференции, заполняязначениями по умолчанию + Если список закладок пуст, вместо списка Bookmarks открывается форма присоединения к конференции. * выбор закладки в списке Bookmarks открывает форму присоединения к помеченой закладкой конференции. -- * Join conference redesigned. Bookmarks list is now available directly by roster's command "Join Conference". + Bookmarks list has a command "New conference" (subject to change) + If there are no any bookmarks Join Conference form with default values will be invoked instead of Bookmarks list * Selecting bookmark is followed by Join Conference form. - SASL Handshake message removed 4.12.2006 (884) + Обработка всех сообщений об ошибках присоединения к конференции * Форма Add/Edit Contact: длина поля JID увеличена до 150 знаков * исправлено отображение отрицательных приоритетов в статусных сообщениях * Команда Join в списке Bookmarks переименована в Select + Возможность перейти к корню файловой системы в файлбраузере - команда "Root". поможет вернуть значение Recent в случае приёма и передачи файлов в правильное значение (старый путь может неправильно обрабатываться после версии 868 * vCardForm: удалена метка [no photo available] из пустого vCard -- + all MUC error codes now are handled * Contact form: JID field length increased up to 150 chars * displaying negative priority in status messages fixed * command Join in Bookmarks list is renamed to Select + new command "Root" in file browser. will help to reset buggy path after r868 * vCardForm: removed [no photo available] from empty vcard (888) * блокировка отправки сообщений, манипулирования контактами ростера и остальных запросов, инициированных пользователем начиная с установки соединения до успешной авторизации -- * blocking user communication and network queries until success login 12.12.2006 (892) * Доделан Resource binding. Теперь корректно работает self-contact при указании в Account:Resource пустого ресурса и использовании SASL. В этом случае сервер назначает клиенту на время сессии уникальный ресурс. То же справедливо для GMail, добавляющего к ресурсу уникальный идентификатор. + Actions>Outcasts (Ban): вывод причины во всплывающем баллоне. (инструменты администратора конференции) + AffiliationModify: возможность просмотра и редактирования причины Ban * Вставка смайлов, записей из архива и ников в конференциях производится в позицию курсора. замечание. некоторые java-платформы могут не возвращать правильную позицию курсора, указывая всегда на конец введённой строки -- * Resource binding complete. now Resource in Account may be left empty, and server will assign random resource for each session + Actions>Outcasts (Ban): reason in balloons + AffiliationModify: reason can be modified * inserting smile, archive record and nickname into cursor position. note: some platforms (ex: WTK emulator) always report end-of-line as caret position (893) + обработка jabber-сообщений c типом type="error" -- + message type="error" handling; (894) * Исправлено Actions>Owners - удаление owners -- * Actions>Owners fixed * no empty balloons if no ban reason 13.12.2006 (902) * Исправлена работа Reply для ников, содержащих пробелы, т.е. "nick name" * вставка смайлов и пр. происходила в начало буфера ввода на Моторолах (кроме EZX) (особенность работы getCaretPosition() на Моторолах) + Управление подсветкой для Siemens S75 - удержание '9' в ростере. (введено по многочисленным просьбам для устранения падений S75) + Options>Authorize new contacts - автоматическая подписка при добавлении новых контактов + ContactMessageList>Decline - отклонение запроса на подписку -- * Replying to "nick name" * MessageEdit: insertion point forced to end of textbox for Motorola (excepting EZX) (Motorola getCaretPosition() issue) + Holding '9' in roster - toggle backlight for S75 (S75 crash) + Options>Authorize new contacts - automatically replies "subscribed" to incoming "subscribe" request + ContactMessageList>Decline - command to send "unsubscribed" to incoming "subscribe" request. 14.12.2006 0.4.5.909 + Начальный вариант выполнения повторного соединения при обрывах. Реконнект производится при всех исключениях, кроме SecurityException (приложению запрещён доступ в сеть). после каждого обрыва выполняется 5 попыток реконнекта. интервал между попытками - 5 секунд. все значения пока жёстко заданы, реконнект в настройках не выключается. реконнект может быть отменён в течение 5-секундной паузы. + RosterToolsMenu: "Break Connection" - команда присутствует временно для имитации обрыва связи * AlertBox.java - таймаут по умолчанию - 15 секунд. (окна ошибки и просмотра инфо о файле) * конференции - вернулись сообщения о присутствии, пропавшие в r902 -- + Reconnect.java - draft. + RosterToolsMenu: "Break Connection" for debug reasons only. starts reconnection * src/ui/AlertBox.java - default timeout is 15 seconds now * MUC: presenses fixed (after r902) 15.12.2006 (918) * Многочисленные исправления ошибок входа-выхода в конференциях - удалена отладочная команда "Break Connection" * перестают посылаться события Composing контакту, ушедшему в оффлайн * автоматически отключается иконка Composing у контакта, изменившего статус * поддержка соединения keep-alive начинает работать после успешного логина + активная проверка живого соединения (in-band ping сервера), реконнект при обнаружении обрыва. Внимание! Privacy Lists могут повлиять на работу этой функции. -- * Multiple conference presence/leave/reenter fixes - "break connection" removed * status=offine always resets acceptComposing * any status resets composing icon * keep-alive enabled only after success login + check for connection alive - periodically sending jabber:iq:version to self-side connection will be reinitialized if there will be no answer. WARNING! privacy lists may affect this function (921) * исправлена ошибка сворачивания конференции в процессе входа * исправлена ошибка смены ника на ник, находящийся в комнате -- * collapsing conference while entering room * changing nickname to already used (923) * не дублируются элементы ростера конференции при следующей последовательности: =Войти в комнату, =выйти из комнаты =попытаться войти в комнату с ником участника, присутствующего в конференции (момент раздвоения, 2 элемента с одним ником) -- * Avoiding duplicating MUC-roster entries: =Enter room, =leave room, (duplicating here:) reenter with nick in-use and in current room 20.12.2006 (938) * Recent>Clear - теперь сохраняются очищенные истории текстовых полей * FS#207 - Account>Select (no login), вызванный из-за отключенного автологина аккаунта, оставлял активным экран SplashScreen, а не Roster * исправлена невозможность выбора статуса при ошибке логина "Login Failed" + FileComMotorolaIo.java: отладочный вывод в System.out для диагностики FS#499 * исправлено поведение "двоеточие после ника" при Append nickname на телефонах Моторола + настройки keep-alive передвинуты из Tools>Options в настройки аккаунта. теперь эти настройки могут устанавливаться индивидуально для каждого аккаунта * исправлено выделение собственных исходящих сообщений в конференциях после смены ника * сообщения типа headline по умолчанию свёрнуты -- * TextFieldCombo.java:Recent>Clear now removes associated records from rms * FS#207 - no more splashscreen after Select (no login) if automatic connection is disabled * correct stream state after 'Login failed' + FileComMotorolaIo.java: debug output for task FS#499 * motorola append nick fix (fs#498) + keep-alive settings moved into account form, stored individually for each account * my message highliting after nick change * Headlines collapsed by default 23.12.2006 (944) + non-sasl auth: автоматический выбор способа отправки пароля: зашифрованным или открытым текстом (в зависимости от настроек сервера) * опция "plain-text password" теперь разрешает использование отправки пароля открытым текстом, если не поддерживаются безопасные способы отправки (как для sasl, так и для non-sasl auth) * кнопка ContactMessageList:Clear - не выдаётся запрос при попытке очистить уже пустой список сообщениц * исправлена проблема входа в конференции по приглашениям (invite). ошибка с версии 921 * Motorola - исправлено дублирование слэшей '/' в пути при перемещении по директориям (dion) -- + non-sasl auth: verifying capabilities before sending password. * "plain-text password" now means "enable usage of plain-text passwords if no hashes is supported at server-side" both for sasl and non-sasl logins * ContactMessageList:Clear button - not ask to clear already empty list * fixed problem with join conference where you has been invited * Motorola: patching slash doubling when reading directory (dion) (947) * Всплывающее окно ServiceDiscovery:Result при регистрации не закрывалось на некоторых моделях телефонов. * Корректное закрытие сокета, если поддержание keep-alive неактивно. Проявлялось в зависании регистрации нового аккаунта. -- * Alert ServiceDiscovery:Result replaced to AlertBox (FS#504) * correct stream closing if no keep-alive activated (broken in 918) 30.11.2006 0.4.6.956-RC1 * Окно Reconnect после закрытия не переключается только в ростер, но возвращает окно, работа которого прервалась реконнектом + все попытки реконнектов занося в selfcontact * Корректная обработка ошибки "conflict" при регистрации аккаунта и установленной опции SASL. * Конференции: ограничение размера получаемой истории при повторном входе в конференцию вычисляется только по времени последнего сообщения, презенсы не учитываются. * Выполнение Reply заблокировано для темы конференции + В списке аккаунтов отображается в баллоне jid аккаунта * Восстановлен вызов Join Conference из корневых узлов серверов конференций ! файл smiles.txt ДОЛЖЕН содержать перевод строки в последней строке -- * experimental: alert Reconnect will return into previous screen + logging reconnection attempt into selfcontact * Registering new account using SASL: Error "conflict" now handled correctly * Conference: History period is calculated only by time of messages, not presences * Conference: Reply disabled for room's topic + Account: uses jid for its tip string (balloon) * invoking Join Conference form from root nodes of muc-servers in disco ! smiles.txt MUST have final \n, else last synonym will not be included. if there are no synonyms and \n, smile in last line will be discarded. 31.12.2006 0.4.6.960-RC2 -> https://svn.xmpp.ru/repos/bombus/branches/ny2007 + Новогодний сплэш-заставка (с)talvi + Конференции: статусное сообщение nick+" has been unaffiliated and kicked from members-only room" * XMLParser.java: исправлена обработка тэгов вида и - - содержащих перед хвостовым слэшем пробел (встречается на шлюзе CGP-jabber sipnet.ru:5222 -- + New Year splashscreen (с)talvi + MUC: nick+" has been unaffiliated and kicked from members-only room" * XMLParser.java: fixed parsing xml tags like this: (e.g. with space before ending slash) 4.01.2007 0.4.6.963-RC3 5/01/2007 - Проекту Bombus 2 года :) -- 5/01/2007 - Bombus Birthhday - 2 years old :) 16.01.2007 0.4.6.973-RC4 * Корректно работают приглашения (Invite) в уже активную конференцию * Обновление списков членства (affiliations) Owners, Admins, Members, Outcasts * Снято ограничение на ширину элементов в 255 пикселей при отрисовке списков (например, ростер) * отключено динамическое меню в Archive из-за проблем с Symbian. требуется дополнительное экспериментальное исследование проблемы (FS#542). * дополнительная задержка после отправки presence перед разрывом соединения * переписан механизм прокрутки длинных элементов - предположительно, использование классов Timer и TimerTask на Motorola приводит к memory leaks * доработка механизмов авторизации для успешной работы с google-hosted доменами (FS#536) Host name/IP=talk.google.com port=5223 [v] SSL [v] Plain-text password [ ] SASL и Host name/IP=talk.google.com port=5223 [v] SSL [v] Plain-text password [v] SASL этот вариант логина проверен и на домене gmail.com, и на google-hosted domain ratsy.ru. другими словами, при использовании SSL c talk.google.com теперь работают и SASL логин (XMPP1.0) и Non-SASL логин. в обоих случаях ОБЯЗАТЕЛЬНО использование Plain-text password. на данный момент у меня нет информации о способах использования X-GOOGLE-TOKEN для google-hosted domains, поэтому пока обязательно использование SSL для таких доменов. + Суффикс "(NSG)" в названии платформы телефонов Benq-Siemens, основанных на NewSGold * Управление подсветкой разрешено для всей линейки NewSGold, не только S75 -- * invitations if already in room wouldn't change room status anymore * updating affiliation list after modifications * removed hardcoded IconTextElement width (255) * Symbian problem Command Back in message archive (FS#542) * timeout between presence unavailable and * TimerTaskRotate rewritten to use threads instead of timers (avoiding memory leaks on Motorola) * fix for google-hosted jabber-domains currently works with port=5223 [v] ssl [v] plain-text [v] sasl + Suffix "(NSG)" for NewSGold-based Benq-Siemens phones in platformName * Backlight control for Siemens is enabled for all NewSGold phones 0.4.6.975-RC4 * повторное использование объекта "rotator" (поиск memory leaks на Motorola) * отремонтированы баллоны (сломаны в 973) -- * reusing rotator object (searching memory leaks on Motorola) * balloons repaired 31.01.2007 0.4.6.986 **Stable** * оптимизирована работа скроллера длинных jid и отображение баллонов * блокировка "зелёной клавиши" (новое сообщение на некоторых моделях телефонов) в состоянии Offline + jid во всплывающих баллонах в ростере у контактов с непустым полем "имя" (name) -- * TimerTaskRotate thread redesigned to state machine * block green key in roster when disconnected * block green key in message list when disconnected + jid in balloons if nickname is not empty (e.g. jid is not visible in roster) 9.02.2007 (998) + Для овнеров конференций: вызов конфигуратора комнаты из bookmarks (без входа в конференцию) + Quote: символ цитирования ">>" и перевод строки в конце цитируемого сообщения + Roster: удаление контактов при помощи кнопки "C" (clear). * конференции: увеличен размер поля ввода причины Kick/Ban с 64 до 256 символов * NumberField: устранена проблема пропадания >" - need to be tested \n after quoted message + Roster: delete contact with key "C" (clear) * MUC: Kick/ban reason increased from 64 up to 256 chars * NumberField - minValue * NumberField at S75: на текстовое поле, в котором и нужно ввести имя новой группы * FS#547: убрано заполнение поля Account.nick значением username * XMPP:Roster push: проверка отправителя ростера (RFC3921 7.2) * XMPP:Roster pushes: ответная станза iq result (RFC3921 7.4-7.6) + отображение в конференции в статусном сообщении jid кикнутого или отправленного в бан пользователя (показывается для модераторов) * улучшено автоопределение Motorola EZX and ROKR, кнопка RealPlayer срабатывает как BACK * увеличен размер поля редактирования сообщения до максимально возможного в используемой java-машине, но не более 4096 символов + VirtualList: заполнение заголовка окна при использовании java-машины J9 на Windows Mobile * VirtualList: начат поиск взаимного блокирования threads в J9. зависания наблюдаются только в J9, проявляются после фикса тредов для Motorola. временно заблокирован скроллинг длинных jid. баллоны выводятся постоянно (только для J9) -- * Add/Edit Contact: new dynamic Group field (switching droplist into editbox if selected) * FS#547: bug with Account.nick * XMPP:Roster pushes: verifying source (RFC3921 7.2) * XMPP:Roster pushes: reply with iq result (RFC3921 7.4-7.6) + show jid in presence when user was kicked or banned * Motorola EZX and ROKR detection, RealPlayer key acts like BACK * attempt to expand editbox up to 4096 chars + VirtualList: workaround to eliminate empty window title for J9 * VirtualList: searching for J9 hangup after Motorola threads fix. (still balloons, no long jid scrolling) 5.03.2007 (1025) * замена лицензии BSD на GNU GPL v2 Public license + экспериментальная функция - работа с флипом (для телефонов-раскладушек) при закрытии флипа (складывании телефона) Bombus сменит статус на 'away' в течение 5 минут. при открытии флипа Bombus немедленно сменит статус на 'online' состояние флипа определяется на телефонах Motorola, SonyEricsson(JP6 и выше), Siemens. (список будет определён позже) * игнорирование Composing events от offline-контактов + xml:lang - глобальная установка языка сообщений сервера для всей сессии. * Конференции: улучшение локализации сообщений об ошибках -- + experimental active-flip feature for shell-calm phones. if flip is closed, status will be changed to 'away' in 5 minutes. if flip is opened, status will be changed to 'online' immediately active flip works on Motorola, SonyEricsson(JP6 and higher), Siemens (list - TBD) * BSD license replaced by GNU GPL v2 Public license * drop composing events in error messages sent by offlines + xml:lang - global setting for whole stream. enables localization in all stanzas * error stanzas: using error description in MucContact if provided 8.03.2007 (1038) + Автоматическая смена статуса, настройки в Tools>Options: Automatic Away: disabled - автоматика отключена keylock/flip - смена статуса произойдёт через указанное число минут после блокировки кнопок или закрытия флипа/слайдера idle - смена статуса после указанного периода неактивности (при этом должен быть активен экран ростера) Minutes before away - время неактивности/задержка смены статуса после закрытия флипа нажатие любой кнопки переводит телефон в состояние Online Известная ошибка автостатуса - idle-таймер запускается при первом отображении ростера не автоматически, а после нажатия любой кнопки (режим автоматики idle) * предотвращенгие дублирования текста сообщений во время разбора смайлов (FS#600) * убраны ведущая "[" и хвостовая "] " скобки из баллонов с временем сообщений -- + autostatus settings in Tools>Options: Automatic Away: disabled - no autoaway feature keylock/flip - autoaway after some minutes after keylock or closing flip/slider idle - autoaway after some inactivity period (roster screen sould be active) Minutes before away - amount of minutes before status change (idle or keylock/flip) any key pressed raises status from autoaway to online known issue: when roster has been shown first time (on Bombus' start) idle timer will be paused until keypress * preventing double message parsing (FS#600) * removed leading "[" and trailing "] " in message time balloons 28.03.2007 (1050) + пользователь может приглашать участника конференции в другие комнаты, при условии, что jid участника виден пользователю (например, если пользователь - модератор, или комната - неанонимная) * устранено исключение NullPointerException при удалении регистрации транспорта через Service Discovery * команда транспорта Resolve Nicknames теперь использует и поле vCard Full Name (FN), если поле Nickname (NICKNAME) пустое * при вставке фотографии в vCard указывается mime-тип файла в поле TYPE * увеличена длина имени файла в форме подтверждения приёма файла до 48 символов + если удалённая сторона шлёт файл с длиной имени более 48, имя укорачивается по принципу longfilena~.ext * таймер idle продолжает работать при заблокированной клавиатуре * автостатус не изменится на online при разблокировке клавиатуры и следующей непосредственно после этого повторной блокировке -- + devoicing with reason implemented, but commented out due ejabberd bug + muc: user can invite another participant if room expose jid of this participant (if user is moderator, room is non-anonymous or other cases from XEP-0045) * fix: NullPointerException if unregistering transport * nickname resolving probes NICKNAME, then FN if no NICKNAME * vCard stanza fix: element now contains mime-type. known mime-types are image/jpeg, image/png, image/gif, image/x-ms-bmp * FileIO.MAX_NAME_LENGTH=48 + TransferAcceptFile: trimming whitespaces from filename, if name is longer than FileIO.MAX_NAME_LEN name will be cuted like longfilena~.ext * continue idle timer when keys locked * don't change status to online when keys unlocked and locked again consecutively 31.03.2007 (1053) * Патч определения моделей моторол серий E/L/V http://bombus-im.org/flyspray/task/615#comment1364 + Service Discovery: список ранее запрошенных серверов перед началом обзора -- * Patch for detecting motorola E/L/V series http://bombus-im.org/flyspray/task/615#comment1364 + Service Discovery: nice Recent server list before discovering (1054) * разрешён приём direct presences от контактов вне ростера (из not-in-list), если включена опция Tools>Options>Not-In-List. (ранее такие презенсы не отображались, принимались только сообщения. отбрасывания презенсов, но приёма сообщений от контактов вне ростера можно добиться через privacy lists) -- * direct presences from not-in-list contacts are allowed if option Tools>Options>Not-In-List activated. Use privacy lists to block theese presences 02.04.2007 (1056) + Создание закладок конференций (Bookmarks) с пометкой для автовхода + При запуске Bombus производится автоматический вход в конференции, помеченные в закладках как "autojoin". Необходимым условием автовхода в конференции является активная опция Tools>Options>Startup actions:"join conferences" + При реконнекте происходит повторный вход в конференции, которые были активны до отсоединения от сервера, и в которые не посылался direct presence (send presence) -- + Bookmarking conference with label "autojoin" + Entering room if it's bookmark is labeled "autojoin" (only after bombus' launch) and option Tools>Options>Startup actions:"join conferences" is checked + On reconnect: Reentering conferences wich was active before going offline. Also conference will not be reentered if direct presence was sent into it. 10.04.2007 (1062) * FS#559: корректность работы в Service Discovery с транспортами, не соблюдающими стандарт XEP-0030 (service discovery) + FS#546: отображение действий правила из списка приватности в виде баллона * FS#633: сохранение позиции курсора в закладках при удалении закладки * совместимость флага закладки autojoin c реализацией в Tkabber (значения атрибуба autojoin в соответствии с типом xs:boolean {true, false, 1, 0}) -- * FS#559: workaround for gateways violating XEP-0030 (service discovery) + FS#546: privacy rule description in it's balloon * FS#633: keep cursor position after bookmark erasing * autojoin attribute fixed to handle xs:boolean values {true, false, 1, 0} 15.04.2007 (1065) * Обновление русскоязычной локализации ( (c)zet ) * Обновление таблицы локализуемых строк. ждём обновления перевода на другие языки. -- * Russian langfile updated ( (c)zet ) * Translation tables updated. Russian langfile may be used as reference. Translators are welcome 20.04.2007 (1069) - управление подсветкой телефонов Siemens-NSG убрано из версии 0.4.6.1069 (не-zlib) из-за проблем совместимости с некоторыми моделями телефонов иных вендоров * улучшение обработки XMPP-пакетов, отбрасывание < iq type="get"/ > и < iq type="set"/ > в виде ошибки < feature-not-implemented/ > * обновление чешской локализации -- - Siemens-NSG backlight control disabled in non-zlib version due built-in class preverification in some phones. (SIEMENS_BACKLIGHT ability) * fully handling attributes id and type in any stanza. rejecting unknown < iq type="get"/ > and < iq type="set"/ > stanza with < feature-not-implemented/ > error * Czech langfile updated (c) jenda.69 23.04.2007 (1074) * блокирование рассылки presence-invisible в конференции, в частности, нет автоприсоединения к конференциям при смене статуса offline->invisible + реакция на аппаратную кнопку Back для Sony Ericsson M600 * исправлено jabber:iq:version (было сломано в 1069) -- * Block multicasting presence-invisible into conferences + reaction for hardware "Back" key at m600i * jabber:iq:version fix (broken in 1069) 9.05.2007 (1082) + праздничный сплэш * улучшение определения версии телефонов Motorola * исправлена возможная ошибка NullPointerException при определении модели и версии устройства * немного ускорена обработка полученного ростера * заблокирована клавиша 'C' (удаление контакта) для контактов конференций -- * 'Victory' patriotic splash * Motorola phones detection improoved * fixed potential NullPointerException on device version detect * roster stanza processing made faster * block C key (delete contact) for Muc-contacts 13.05.2007 (1086) * исправлена ошибка с непредвиденной сменой активного аккаунта при удалении аккаунта + вывод текста статусных сообщений при входе/выходе участника конференции * блокировка всплывания запрошенного vCard на экране блокировки клавиатуры, при наборе сообщений, в других экранах, построенных на базовых формах java-машины * игнорирование события "Composing" в общем чате конференции + автоматическое открытие менеджера передачи файлов для контроля процесса после иницииации отправки файла -- * keep active account number on action "delete account" + status text in join/liave MUC-presences * vCard popup blocked in screens other than VirtualList * composing events dropped in MUC + auto-opening File Transfer Manager after sending file is initiated 23.05.2007 (1093) - Удалена опция "Tools>Options->Not-In-List". Теперь все сообщения и презенсы, отправленные контактами вне ростера, будут отображаться в Not-In-List. Фильтрация таких сообщений возможна через списки приватности. * исправлена работа команды "Authorize" для контактов вне ростера, отправивших запрос на подписку (контакты в Not-In-List) + опция "shared platform info" - разрешение/блокировка отправки информации о версии java-машины и модели телефона в ответе на запрос версии клиента (см. XEP-0092) * изменение защитного антифлуд-барьера в xml-парсере до 8К знаков * более жёсткая проверка максимального размера передаваемого блока данных при приёме файлов. отказ приёма файла, если размер блока превышает антифлуд-барьер -- - option "Tools>Options->Not-In-List" removed. now all not-in-list events will be processed and displayed. unwanted messages from contacts not in list may be blocked via Privacy Lists * "Authorize" command works correctly if not-in-list contact sends presence subscribe + "shared platform info" - option to enable/disable platform version/hardware according to XEP-0092 (5. Security Considerations) * XMLParser.java: increased anti-flood limit up to 8192 chars + File Transfers: check ibb block-size to be less than anti-flood limit. if exceeds, transfer will be rejected (to avoid file corrupting) 24.05.2007 (1095) * размер текстовых полей в редакторе аккаунта увеличен с 32 до 64 символов -- * all textfields in account form are extended up to 64 chars (was 32) 27.05.2007 (1098) * более корректное закрытие сокета при разрыве соединения (ожидание завершения отправки всех данных в течение 10 секунд) + хранение состояния свёрнутости групп на сервере -- * more gracefull stream termination + server-side storage for group states (expanded/collapsed) 12.06.2007 (1110) + запрет реконнекта для ошибок - почти все эти ошибки тербуют вмешательства пользователя. Фактически, реконнект теперь производится только при обрыве соединения на уровне сокета (и ниже) * Исправление ошибочной работы автостатуса idle. требуется тестирование. + Bookmarks: Команда присоединения ко всем конференциям с меткой autojoin (название команды будет уточнено). + Закладки конференций "по умолчанию" - хранятся в файле /def_bookmarks.txt внутри мидлета. в стандартной версии это bombus@conference.jabber.ru и bombus-talks@conference.jabber.ru. эти закладки появляются только при отсутствии сохранённых на сервере закладокэ формат строки файла: roomJidnickpass + автоопределение языка приложения по локали телефона. может быть изменено в опциях. * код языка хранится в опциях в текстовом формате, а не числовым индексом * индикатор прогресса загрузки ростера при достижении 100% не перескакивает на 60% -- + handling - reconnection disabled for this error. Actually, reconnection works only for EndOfXMLException and IOException * trying to fixup autostatus hangs + Bookmarks: autojoin command (name TBD) in bookmarks - join to all autojoin-marked conferences + default bookmarks: file /def_bookmarks.txt in jar. this file contains bookmarks will be loaded if no any bookmarks stored on the server. format is roomJidnickpass + language autodetection, used System.getProperty("microedition.locale"); * language code stored as string, not as index * saturation for roster progress - no jumps to 60% if reached 100% 12.06.2007 (1114) * переписан механизм автостатуса для устранения зависаний -- * autostatus refactoring 17.06.2007 (1117) + Подтверждение доставки сообщений (xep-0184 & xep-0022). + опция для включения уведомлений о доставке Подтверждение доставки работает только с клиентами, поддерживающими один из двух стандартов (xep-0184 или xep-0022) -- + Message delivery: xep-0184 and old xep-0022. (xep-0184 has higher priority) + Option "message delivery" to enable delivery notifications (1119) + реализация entity caps * запрет уведомлений о доставке для общего чата в конференции * отправка текста статусного сообщения при входе в конференцию -- + entity caps * multicasting presence message while entering conference room * blocking x:events push into conferences 25.06.2007 (1130) * устранено исключение NullPointerException при пустых закладках конференций * обход глюка платформы SonyEricsson JP6, приводивший к отключению вибры при закрытом флипе * подтверждение доставки работает и при отключении уведомлений о наборе сообщений * подтверждение доставки производится теперь только по xep-0022, xep-0184 заблокирован. * в Entity Caps добавлена информация о наличии поддержки передачи файлов * небольшие изменения в локализации ru.txt -- * fixed NullPointerException on empty bookmarks (FS#703) * workaround for SonyEricsson JP6 - closing flip will not blocks vibra * namespace jabber:x:event fix (no 'delivered' notifies when composing events were disabled) - XEP-0184 delivery notifications temporary blocked (xep-0022 still works) * Entity caps: advertising file transfer features * some fixes in ru.txt 26.06.2007 (1131) * уведомления о доставке - исправлена ошибка, приводившая к зацикленному получению ошибки при попытке отправить приватное сообщение контакту, покиувшему конференцию. * Регистрация аккаунта: команда Cancel заменяется на OK при успешной регистрации. -- * bugfix for delivered - no cyclic error messages if private message sent to conference contact leaved room * Registering account: command label 'cancel' changed to 'ok' if registration was successfull 2.07.2007 (1138) * блокировка отчётов о доставке сообщений в состоянии невидимости * окончательно отключён неподдерживаемый xep-0184 * Service Discovery: корректная обработка нод во входящем запросе disco#info * Service Discovery: команда присоединения к конференциям разрешена только для нод-конференций * Service Discovery: дополнительное исправление обзора нод для gateway (в частности, j2j) + возвращен упрощённый выбор блокировки входящих присутствий и сообщений для Not-In-List контактов: 3 возможных состояния drop all events (отбрасывать и сообщения и присутствия), drop only presences, (отбрасывать присутствия), receive both messages and presences (принимать всё) ВНИМАНИЕ! данная опция управляет только поведением клиента, входящие сообщения по-прежнему могут создавать трафик -- * blocking delivery notification if invisible * delivery: handshake removed, used only xep-0022 mechanism * disco#info replies only to blank node; * disco: "join conference" command enabled by identity category="chatroom" instead of features * extra fix for gateways + returned client-side filtering of not-in-list events. now there are configurable behavior: drop all events, drop only presences, or receive both messages and presences * ContactMessageList: reordering commands Reply and Quote - now Reply is placed before Quote 27.07.2007 (1145) * КРИТИЧЕСКОЕ исправление: ошибка чтения из потока символов utf-8 из диапазона U+10000...U+1FFFFF. Фактически, эти символы заменяются на '?', поскольку не могут быть преобразованы из utf-8 в тип 16-битный тип char в Java. * в поле Message limit формы Join conference увеличен лимит ввода с 20 до 100 сообщений. значение по умолчанию по-прежнему 20. + команда About->Versions позволяет получить с сервера http://bombus-im.org список последних версий, а также загрузить и установить выбранную версию. * исправлено одно из полей времени, выдаваемого на запрос локального времени jabber:iq:time. (см. FS#721) * поправлено взаимодействие с конференциями на серверах, использующих модуль mu-conference (в-основном, jabberd 1.4) (namespace http://jabber.org/protocol/muc#user) -- * CRITICAL: fix utf-8 parsing for chars U+10000...U+1FFFFF. Actually this chars is substitued by '?' - Java type char is 16-bit width * message limit field in form Join conference: limit increased up to 100 messages. default value is still 20 + Upgrade.java: retriving available links for versions on http://bombus-im.org, installs selected version * fixed Time.utcLocalTime() used in jabber:iq:time stanza (see FS#721) * fixed namespace http://jabber.org/protocol/muc#user for correct interacting with mu-conference-based groupchats 17.08.2007 (1154) * исправлена загрузка ростера при незаполненном ресурсе (серверы ejabberd) + поддержка XEP-0203 (время отправки сообщения при отложенной доставке). заменяет устаревший стандарт XEP-0091 (старый стандарт по-прежнему поддерживается) + поддержка XEP-0202 (локальное время клиента). заменяет устаревший стандарт XEP-0090 (старый стандарт по-прежнему поддерживается) * исправлено время UTC, отправляемое по XEP-0090 + списки ранее введённых значений для полей "room" и "host" в форме "Join conference" * замена названия команды "Cancel" на "Back" в "Active Contacts" и "Registering Account" -- * roster loading was broken if binded resource differs from resource stored in account. (ejabberd binds random resource if no resource specified) + support for XEP-0203 Delayed delivery (XEP-0091 is still supported until become obsolete) + support for XEP-0202 Entity Time (XEP-0090 is still supported until become obsolete) * fixed utc time child stanza in old time reply (XEP-0090) + MRU (MostRecentlyUsed) ability added in "Join conference" for fields "room" and "host" * "Cancel"->"Back" in "Active Contacts" and "Registering Account" 20.08.2007 (1160) * Для текстовых полей с историей ввода команда "Recent" смещена вниз * Расширение локализации. Ждём переводчиков ;) * исправлено отображение ошибок присоединения к конференции -- * MRU-fields - lower priority for item command * Localization extended. Translations are welcome * fixed namespace in muc presences (join errors) (1164) * КРИТИЧЕСКОЕ исправление/безопасность: устранена возможность получения сообщений с поддельным адресом. * смещение часового пояса по xep-0082 отправляется с явно указанным знаком смещения + или - -- * CRITICAL/Security: address spoofing via xep-0033 disabled * timezone offset always with sign + or - (XEP-0082) 27.08.2007 (1171) + защита от ников-двойников в конференциях - не-ASCII символы ников выделяются цветом * по многочисленным просьбам /me теперь отображается как *nick * по многочисленным просьбам возвращена возможность "ответа" на презенс * smiles.txt - модификация некоторых синонимов для смайлов * XEP-0115 Entity Caps: обновление до версии 1.4 -- + non-ASCII chars in nicknames and jids (in conferences) are rendered in different color (nick-spoofing prevention) * /me is now substituted by *nick * enable replying to presences * smiles.txt: aliases changed * Entity Caps v1.4 03.09.2007 (1176) + читабельные сообщения об ошибках (теперь без xml) * завершение реализации xep-0086 (Error conditions mapping) * Сообщения длиной более 512 символов теперь отображаются свёрнутыми * Обновлены локализации, спасибо нашим друзьям из Чехии и Индонезии (jenda.69 и ayes) -- + human-readable xmpp-compliant error messages (no more raw xml) * xep-0086 (Error conditions mapping) 100% complete * Czech translation updated. thanks jenda.69 + Indonezian translation added. thanks Irfan Mahfudz Guntur (ayes) * messages longer than 512 chars is now collapsed (limit will be optional in future) 16.09.2007 (1186) * Конференции: закладки отсортированы в алфавитном порядке; + Гости (visitors) в ростере конференции отображаются специальным значком (белая звезда); * Забаненные участники получают специальную иконку; * Изменён порядок сортировки контактов в ростере конференции: модераторы, участники, гости, покинувшие комнату или выгнанные. В пределах своей категории сортировка производится по статусам. * Польская локализация обновлена (спасибо Marcin Michalak (salskY)); * skin.png конвертирован в 24-битный формат (16 млн. цветов); * Уведомления о доставке не отправляются контактам, находящимся в состоянии "offline/отключен" * Исправлено подвисание события "Composing" в результате приёма сообщения, состоящего из различных пробелов (в т.ч. \n) * Исправлено возникновение исключения при попытке установки темы конференции -- * muc: bookmarks displayed in alphanumerical order; + muc: visitors is shown with their own iconset (white stars); * muc: banned contact has a special error icon; * muc: modified sorting order: moderators by status, participants by status, visitors by status, offlines and outcasts; * Polish langfile updated (thanks Marcin Michalak (salskY)); * migrating to 16M-color skin from 256 colors (syncing to bombus-ng); * delivery request ignored if contact's status is offline (FS#756); * no more hanged composing events when receiving messages with whitespaces only; * fixed NullPointerException generated by messages with missing 17.09.2007 (1190) * вернулись назад к 256-цветному skin.png - проблемы с siemens x65 * xep-0172 User Nickname. Ник пользователя может быть взято из presence в том случае, если не указано в ростере. Также ник, указанный в настройках аккаунта, отправляется в исходящих presence * убрана лишняя иконка из списка профилей сигналов Alert Profile -- * reverting to 256-colored skin due siemens' x65 problems * xep-0172 User Nickname * AlertProfile.java: index validation 18.10.2007 (1195) + замена xep-0022 Message events (deprecated) на xep-0085 Chat state Notifications и xep-0184 Message Receipts. + xep-0199 urn:xmpp:ping * исправлена ошибка обработки stream:error * события composing и delivered теперь включены в опциях по умолчанию (влияет только на "чистые" установки Bombus (не обновления) -- - (deprecated) xep-0022 Message events + xep-0085 Chat state Notifications + xep-0184 Message Receipts + xep-0199 urn:xmpp:ping * fix: stream:error handling * composing and delivery events are enabled by default (affects only fresh installations) 4.11.2007 (1208) + siemens: правая софт-кнопка обрабатывается как "Назад" (ad) * обновление и дополнение локализации (voffk) + указание в настройках размера сообщения для автоматического сворачивания (voffk) + команда "Change nickname" для конференций (затычка-вызов формы присоединения к конференции) (voffk) * уменьшение расхода памяти при обработке больших jabber xml пакетов * исправление типа устройства в ответе EntityCaps (mobile->phone) * исправление обработки ников по xep-0172 (игнорирование в не-онлайн презенсах -- + siemens: right softkey acts as "Back" in VirtualList (ad) * localization updates (voffk) * capsState=false by default (voffk) + auto-collapse message size limit in options (voffk) + command "Change nickname" (re-enter stub) (voffk) * reducing heap overhead while constructing DOM-XML objects JabberDataBlock: replacing Hashtable with Vector; trimming vector finally * EntityCaps: mobile->phone (due http://www.xmpp.org/registrar/disco-categories.html) * ignoring xep-0172 nickname in non-online presences (like error presences. see FS#779) (1212) * исправление инвайтов + автоматическое управление подписками. варианты действий: давать подписку автоматически, ручное управление, игнорирование запросов, автоматическое отклонение запросов подписки * исправление конфликта сименсовской софт-кнопки Back и джойстика на SonyEricsson -- * fixing invites after r1208 + automatic subscription management. actions: autosubscribe, manual (default), drop, automatic rejecting * fix: siemens softkey conflict with SE joypad left 12.11.2007 0.5.1225-RC0 * Отображение ошибок при использовании X_GOOGLE_TOKEN + Цветовые темы. пока ТОЛЬКО для ZLib-версий + Переключение цветовых тем на лету * Обновление локализаций ru и cz - Убрана история ввода для поля Join Conference:room * Исправлена поломка сортировки контактов ростера после поиска * Результаты поиска отображаются со статусом "оффлайн" * Сортировка псевдо-групп конференций. Теперь располагаются после группы транспортов * Правильная обработка ошибок в Service Discovery -- * displaying auth error for X_GOOGLE_TOKEN * Google token exceptions handling + Color themes ONLY FOR ZLib-versions + Hot-switching color-themes * cz.txt updated (jenda 69) * ru.txt updated (zet) - input history removed from Join Conference:room (zet) * roster sorting was broken * search results are offline contacts in roster * sorting muc-pseudo-groups * ServiceDiscovery: error message in alert box 18.11..2007 0.5.1230-RC1 * Обновление локализации (zet) * Privacy Lists: исправление редактирования фильтра "по подписке" - FS#765 * исправление сломанной в RC0 Resolve Nicknames -- * russian translation updated (zet) * FS#765 fixed (subscription filter) * fixed broken Resolve Nicknames 0.5.1233 + опциональный компонент - HTTPPOLL, не включён в сборку 0.5.1234 notes for HTTPPOLL (experimental): 1. Ability HTTPPOLL should be added into the corresponding target 2. HTTP Polling url MUST contain protocol prefix: http://httppoll.jabber.ru/ - example for jabber.ru 3. use keep-alive type="1 byte" and keep-alive period lower than 250 seconds to avoid session termination 26.11.2007 0.5.1238-RC2 * запрет отправки приглашений в конференции для контактов из "Search Results" * некоторые обновления синонимов смайлов - HTTP CONNECT перемещён в опциональные компоненты, и теперь не входит в официальную сборку -- * disabled invites for "Search Results" * smiles.txt updated - HTTP CONNECT is now removed from Release builds 22.12.2007 (1243) * исправлено исключение в xml-парсере * отрезание незначащих пробелов в именах нод в service discovery -- * fixed exception in xml parser * trimming whitespaces for node names in disco 25.01.2008 0.6.1258 * обновление локализаций * исключение при создании правила в списке приватности * исправлена поддержка xep-0203 Delayed Delivery * обновлены url скачивания bombus.jar внутри дескрипторов jad * переход на нумерацию бета-версий 0.6.SVNREV * устранён нежелательный автовход в конференции по получению приглашения * в чатлоге конференций теперь всегда отображаются сообщения о kick/ban, независимо от состояния хранения презенсов * muc: размер поля jid в формах модификации членства увеличен до 1000 символов, в соответствии с требованиями RFC. возможны проблемы на некоторых моделях телефонов * исправлено определения формата изображений для png, gif и bmp при загрузке изображения на сервер в свой vCard * исправлен код украинского языка: ua->uk -- * localizations * exception when creating privacy rule * fixed xep-0203 Delayed delivery * jar downloading urls fixed . svitching current version number to 0.6 - refactoring: removing unused moveCursorTo parameter * fixing autojoin after invites + always showing administrative kick/ban presence in conference (TODO: all role/affiliation changes) * muc: maximum jid length in affiliation editor is 1000 chars WARNING!!! 1000 is experimental value. this length is required by RFC (reference?), but may not supported by some phones * fixed image type detection for png, gif and bmp (when uploading) * xml:lang : ua->uk 17.02.2008 0.6.1266 * КРИТИЧЕСКОЕ ИСПРАВЛЕНИЕ: проблема загрузки ростера на новых версиях ejabberd. теперь Bombus обрабатывает ростер в строгом соответствии с rfc3921/7.2 * исправление проблем загрузки ростера FS#712 * lang/ua.txt -> lang/uk.txt -- * CRITICAL: fixed bug with ejabberd roster pushes and roster retriving. now bombus proceeds roster stanza according to rfc3921/7.2 * workaround for FS#712 - correct roster loading if buggy server sends presences BEFORE client receives roster and SENDS INITIAL PRESENCE (usually it is direct presences from buggy transport services) * lang/ua.txt -> lang/uk.txt 18.02.2008 0.6.1270 * Ошибка XML-парсера при обработке во входящем потоке символов ' и " (встречается у gtalk) -- * XmlParser: correctly parsing of non-escaped single and quotes in xml attributes (like " ' " and ' " ') and in text section 04.03.2008 0.6.1286 + Информационное сообщение "New room created" при входе в свежесозданную комнату. Не забудьте её правильно сконфигурировать * Пробное исправление проблем с зависанием процесса установки соединения на xenium 9@9 + Опция аккаунта "No compression" для ZLib-версии. Запрещает использование сжатия - Прекращена поддержка устаревшего стандарта xep-0078: non-sasl-authentication (deprecated) * Исправлен порядок инициализации XMPP-соединения (проблема очень быстрого клиент-серверного канала) * Обновление поддержки xep-0115 Entity Caps до v1.5 * Возврат в ростер из диалога отправки direct presence * Resolving nicknames: контакты выбираются и обрабатываются по имени сервиса, а не по типу транспорта * Изменение порядка полей в форме присоединения к конференции * Снято ограничение на ввод имени конференции только латиницей для некоторых моделей SonyEricsson -- + Status message "New room created" for muc (todo: nasty hack, will not work if multiple status codes are nested in presence) * trying to fix connection hangs on xenium 9@9 + option "No compression" - removed xep-0078: non-sasl-authentication support (deprecated) * fixed JabberStream initialization order (race conditions on very fast client-server connections) * updated to xep-0115 Entity Caps v1.5 * StatusSelect: return to roster * resolving nicknames by sever name, not by transport type * reordering fields in ConferenceForm * room name constrains in join form: TEXTFIELD_URL ->TEXTFIELD_ANY * fixed attribute loss for stanzas from non-jabber:client namespace 08.04.2008 0.7.1305 * начало нумерации версии 0.7 * исправлена раскраска ников в сообщениях с отключенными смайлами, устранены "квадраты" + Service Discovery - отложенная загрузка списка конференций по команде - теперь нет необходимости загружать список конференций перед регистрацией ника на muc-сервисе + новый быстрый xml-парсер. самое серьёзное изменение в данной бета-версии. -- * version 0.7 * fixed nick coloring when smiles are disabled * fixed result answer for invalid/fake roster pushes * lang fixes + Service Discovery: Delayed roomlist loading + new fast xml parser model 28.04.2008 0.7.1318 + экспериментальный внешний SRV-ресолвер (упрощает настройку аккаунта, но могут быть проблемы с http-запросами) * version-ping теперь использует xep-0199-пинг вместо запроса версии у самого себя * исправлена несовместимость entity caps v1.5 * актуализирован список возможностей не-zlib-версии в caps * проверка поддержки сервером механизмов аутентификации SASL и вывод сообщения об ошибке в случае неудачи -- + external dns srv resolver (no caching mechanisms implemented) * Using xep-0199 ping (urn:xmpp:ping) to check connection alive instead of jabber:iq:version * Roster.java refactoring * fixed entity caps node value (caps v1.5 compliance) * Fixed caps list for non-zlib version * SASLAuth.java: checking if SASL is supported by server 10.05.2008 0.7.1358 + Поддержка Captcha (xep-0158) + PEP - персональные уведомления + Приём событий User tune + Настроения (User mood) + Иконки настроений (used http://www.famfamfam.com/lab/icons/silk/ icons, http://bombusmod.net.ru/c/data/moods/silk/images/moods.png ) * Entity Caps: обновление списка при изменении некоторых опций (уведомления о доставке, уведомления о наборе сообщений, PEP) * обновление локализации -- + Captcha (xep-0158) + PEP - listening for events + listening for User tune + User mood + Mood images (used http://www.famfamfam.com/lab/icons/silk/ icons, http://bombusmod.net.ru/c/data/moods/silk/images/moods.png ) * Entity Caps: updating caps if corresponding option is switched (ex: Message delivery notifications, Chatstates, PEP) * localization updated 22.06.2008 0.7.1375 + Локализация полей vcard. Пока только русский и английский варианты локализации + Явное указание лицензии GPL в "About/О программе" + Включение текста GPL-лицензии в zip-пакет, дополнительно к имеющемуся changelog * Исправлено закрытие сокета при обрыве соединения до успешного логина * Исправлен счётчик контактов ростера (thanks Daniel Apatin) * Полная обработка ошибок SASL-аутентификации * Исправлено исключение NullPointerException при попытке установки User Mood из состояния offline * Не отображается команда User Mood при отключенном в опциях PEP -- + vcard langfiles added + GPL notify in About window + including GPL license into zip package * Fixed freein theStream if connection was broken before login success * fixed contact counting bug in roster (thanks Daniel Apatin) + SASL error handling ( http://www.xmpp.org/rfcs/rfc3920.html#sasl-errors ) * fixed null-pointer exception when publishing mood when client is offline * don't show "user mood" if pep option is switched off * updated changelog.txt: vibra issues on symbian phones 06.07.2008 0.7.1380 + Простой буфер обмена. В окнах, базирующихся на VirtualList (к примеру, ростер, чат, редактор privacy lists, и даже некоторые меню), возможно скопировать текст, на котором находится курсор. Практически во всех окнах копируется именно отображаемый текст, за искллючением ростера, где для контакта всегда копируется JID, а не ник. содержимое буфера обмена можно вставить в поле редактора сообщений (команда "paste"), а также в редакторе правил privacy lists и в окне смены настроений. * исправлено автоопределение mime-типа файла фотографии для снимков, содержащих exif-данные. такой файл определяется как image/jpeg. (известная ошибка - возможно ложное определение TIFF с exif-заголовком как jpeg. скорее всего, исправляться НЕ БУДЕТ, т.к. фотографии в формате TIFF просто будут отвергнуты бомбусом ввиду гигантского объёма) -- + simple clipboard. for copy focused item use (#) key in VirtualList-based classes. all data would be copied as displayed, except roster. only jid will be copied from roster, not nickname. "paste" command presents at New/Resume Message form, Privacy editor, Mood editor. * fixed Exif header detection in JPEG files. known issue: TIFF images with embedded Exif header may be treated as JPEG. (won't fix because TIFF will be rejected by huge size) 10.08.2008 0.7.1393 * Локализации, за исключением русской, временно исключены из jar для уменьшения размера (критично для Nokia S40). Локализации по-прежнему доступны в онлайн-конструкторе http://bombus-im.org/c * Исправлена обработка ошибок Stanza error для старых серверов, несовместимых с xmpp1.0 (например, jabberd1.4.3) * Более подробный вывод текста ошибки регистрации аккаунта, если такой текст предоставлен сервером. * По многочисленным просьбам возвращена поддержка устаревшего стандарта аутентификации jabber:iq:auth (non-SASL auth). этот механизм выбирается автоматически, если сервер не поддерживает xmpp1.0 * Workaround для серверов, умеющих нарушать rfc3920/14.7 и отключать SASL: использование iq-auth, если в features заявлена поддержка * Исправлено отправление описания (description) при передаче файлов * Для телефонов Motorola отключено использование шрифтов BOLD в ростере * Теперь факт игнорирования большой фотографии в VCard отмечается [large photo was dropped] * Исправлена возможность копирования в буфер обмена полного пути файла в файлбраузере * Удалено дублирующееся время при копировании в буфер обмена сообщения о присутствии (presence) -- * localizations was temporary moved out to reduce jar size (size is critical for Nokia S40) localizations still available via on-line constructor http://bombus-im.org/c * fixed stanza error handling for legacy (non-xmpp-1.0) jabber servers (like jabberd1.4.3) * registering new account: verbose error description if available * returned jabber:iq:auth (aka non-SASL auth) for legacy servers. will be activated automatically if attribute version='1.0' has not specified in protocol header + support for non-SASL auth (iq-auth) if advertised in features like note: SASL auth has higher priority than deprecated iq-auth. * fixed forgotten field "description" when sending file * blocked BOLD font style in roster for Motorola phones * More informative large photo dropping - using message [large photo was dropped] instead of [no photo available] * experimental: setSocketOption(SocketConnection.LINGER, 60); - enable SO_LINGER option for socket. Socket option for the linger time to wait in seconds before closing a connection with pending data output * build.xml updated for netbeans-6 compatibility. please note that nbproject/build-impl.xml is still incompatible with netbeans-6. remove nbproject/build-impl.xml when migrating to nb6, open your project and wait this file to be autogenerated :) for more details see http://bombus-im.org/wiki/bombus/svn#вопрос_6как_скомпилировать_bombus_в_netbeans_6 * full path copying to buffer in filebrowser * removed duplicating presence time when copying to buffer 24.11.2008 0.7.1405 * исправлено отображение нестандартных презенсов, отправляемых глючными клиентами * исправлена интерпретация поля list-multi в формах javbber:x:data * при обработке ошибочных ситуаций более не отвечает ошибкой на станзы, отличные от iq * при регистрации Bombus мог затирать запрос телефона на подтверждение доступа к сети * исправлено исключение, возникавшее при попытке вставить в редактор сообщений большой текст из буфера обмена * снято ограничение TextField.URL в полях ввода AccountForm.username, а также в редакторе списков приватности и списков членства в конференциях -- * fixed non-rfc-compliant presence handling (unknown->online instead of unknown->null) * fixed jabber:x:data list-multi field * dispatching unhandled stanza: should not return errors for stanzas other than iq * AccountRegister: workaround for race conditions droping phone's security dialogue (FS#864) * fixed exception if trying to paste huge text from clip buffer to MessageEdit * AccountForm.username: TextField.URL->TextField.ANY, also for AffiliationModify and PrivacyForm 21.12.2008 0.7.1416 + Кэширование записей SRV, время жизни записи в кэше определяется политикой jabber-сервера + "пальцевое" управление для телефонов с сенсорными экранами (Привет, Nokia 5800 ;)) * Более широкий скроллбар на сенсорных экранах * Зона чувствительности скроллбара шире, чем его графическое изображение (TODO: подобрать оптимальное значние) * Изменение мапинга софткнопок в ростере на нокиях (Menu|Active contacts ->Menu|Actions) * Account и Alert Profile перенесены в меню Tools * экспериментальное определение телефонов Samsung (для последующих платформенно-специфичных исправлений) -- + Caching SRV records + fingertip-control: VirtualList may be dragged up/down (Hi, Nokia 5800 ;)) * wide scrollbar for touchscreen-devices * scrollbar sensing zone is double scrollbar screenwidth * remaping softkeys on nokia's roster to common bombus pattern (Menu|Active contacts ->Menu|Actions) * Account > and Alert Profile moved into Tools menu * trying to detect various Samsung devices for platform-dependent bugfixes * SSLExceptionDecoder.java - helper class to detailed CertificateException decoding 0.7.1422 * Исправлено возможное падение Bombus при загрузке локали (периодически воспроизводилось на nokia 5800 * Результаты поиска не попадают в Active Contacts, если с ними не ведётся переписка * Устранено залипание всплывающих баллонов при удалении сообщений из архива -- * fixed NullPointerException while loading locale * no more search results in Active Contacts * fixed balloon behavior when message was deleted from archive 0.7.1423 * returned to old good proguard 3.5 0.7.1428 * Новогодняя версия -- * Let it snow, Let it snow, Let it snow... ------------------------------------------------------------------------ known issues: - невозможна установка смещения времени в минутах. - невыключающийся динамический свет и значок, если сообщения пришли из оффлайна - при переключении аккаунтов в пятый раз Bombus виснет с белым экраном. (присутствует, по крайней мере, на M55) - Nokia 60 series - не работает vibra. глюк java-машины до Symbian 7.х включительно. Начиная с 8.х симбы всё работает. - другие ошибки теперь записываются в flyspray