LINUX.ORG.RU

Conversations Classic 2.2

 , , , ,


1

3

Тихо и незаметно пилящийся уже пару лет форк Conversations вышел на свет – встречайте Conversations Classic.

На релиз (и название) вдохновило кардинальное изменение UI под новомодный «Material 2.0» в апстрим-проекте, а также своеобразные реакции Даниэля, автора Conversations, на багрепорты и пуллреквесты.

Список изменений для версии 2.2.2

Бэкпорты из Cheogram

  • DTMF при звонках (может быть полезно в случае звонков на номера PSTN)
  • Начальная реализация XEP-0444 (Реакции на сообщения)

Новые возможности

  • Добавлен встроенный фоторедактор при отправке картинок и фотографий.
  • Реализован мультивыбор для сообщений с возможностью копирования или форвардинга.
  • Добавлены автор и дата при копировании нескольких сообщений.
  • Добавлены сохраненные сообщения как отдельный пункт контекстного меню (чат с самим собой).
  • Добавлен жест смахнуть для ответа (swipe-to-reply).
  • Введена группировка контактов по тегам и группировка бесед по тегам (группам в ростере).
  • Добавлена поддержка действия «Сохранить в загрузках» для вложений.
  • Добавлена поддержка множественного выбора сообщений на экране «Поделиться с».
  • Добавлено длительное нажатие на беседу с меню действий для выбранного контакта.
  • Добавлена функция выбора основного цвета (акцента).
  • Добавлена настройка для автоматической загрузки всех файлов при подключении к WiFi.
  • Добавлена поддержка XEP-0061 (Message Replies) с возможностью перехода на отвеченное сообщение

Улучшения

  • Улучшена обработка сохраненных сообщений.
  • Улучшено отображение сообщений в чате – теперь это не монолитный список.
  • Улучшено поведение кнопки прокрутки к низу диалога.
  • Улучшены ответы на сообщения с файлами или изображениями.
  • Улучшен поиск сообщений: теперь можно перейти на конкретное место в диалоге на нужном сообщении.
  • Улучшена обработка уведомлений и настройки ограничения уведомлений для каждого контакта.
  • Улучшена настройка звуков уведомлений.
  • Улучшен жест смахивания для ответа (swipe-to-reply) – теперь он работает.

Исправления

  • Исправлена работа голосовых вызовов для поддержки всех существующих клиентов, поддерживающих AV-звонки с DTLS-SRTP.
  • Исправлено потребление памяти и аккумулятора при длительной работе с большим количеством открытых чатов.
  • Исправлена проблема с многострочными цитатами в ответах.
  • Выброс исключения invalid viewType для лучшей обработки ошибок.
  • Исправлены проблемы с жестом смахивания для ответа.
  • Улучшена вертикальная прокрутка при жесте смахивания для ответа.
  • Исправлена проверка правильности JID домена (временно отключена).

Улучшения UI/UX

  • Новые иконки запуска приложения.
  • Новая категория пользовательского интерфейса в настройках эксперта.
  • Изменен цвет светодиодов в соответствии с основным цветом текущего приложения.
  • Обновлено название приложения.
  • Новый основной цвет по умолчанию.
  • Изменен акцентный цвет по умолчанию.
  • Улучшена обработка индикатора объединенных сообщений.
  • Улучшена группировка разговоров на экране ShareWith.

Разное

  • Изменен код версии и идентификатор приложения.
  • Обновлена версия до 2.2.2.
  • По умолчанию отключено обязательное шифрование OMEMO.
  • Увеличены лимиты синхронизации MAM.
  • Разделение ростера по разным аккаунтам.
  • Добавлена кнопка для копирования JID контактов.
  • Добавлена кнопка восстановления резервной копии из контекстного меню на экране приветствия.
  • Изменена функциональность сообщений об ошибках – теперь используется экспорт в текстовый файл вместо отправки в конференцию автора.
  • Удалена старая система сообщений об ошибках.

В планах ещё много улучшений и нововведений.

Нашей конечной целью является создание удобных и современных свободных Jabber-клиентов на все платформы (Linux/BSD, Android, iOS, MacOS, Windows) с поддержкой всех возможностей Jabber – таких как сквозное шифрование с возможностью синхронизацией между всеми своими (доверенными) девайсами, шифрованные аудиовидеозвонки, обмен файлами, и прочие радости жизни современных мессенджеров.

Мы открыты как к пожеланиям, предложениям и фичреквестам, так и к участию в разработке.

>>> Conversations 2.2.2 (Pre-Release)



Проверено: hobbit ()
Последнее исправление: hobbit (всего исправлений: 4)

Ответ на: комментарий от sinaps

там уже передачу over Jingle изобрели, и вроде как даже шифрованную, но вот это ещё точно ни один клиент нормально не поддерживает, поэтому ездим на http upload.

annerleen_temp
() автор топика
Ответ на: комментарий от hateyoufeel

Там трагичность в том, что делая «хорошо», не предусмотрели переезд и интероп и выяснилось, что уже работающее на новое менять никто не хочет.

Ну и пока его «рожали», интернет вырос и всё, и хана.

Dark_SavanT ★★★★★
()
Ответ на: комментарий от annerleen_temp

передачу over Jingle изобрели, и вроде как даже шифрованную, но вот это ещё точно ни один клиент нормально не поддерживает

Прекрасно, поскорее бы реализовали поддержку на клиенте.

ездим на http upload

Не плохо бы выбор какой-то добавить(как в Gajim). А то нет http upload на сервере, передаёт(если может) напрямую. Есть http upload – передаёт через него, а на прямую уже ни как. (Оригинальный Conversations, обсуждаемый пока не пробовал.)

sinaps
()
Ответ на: комментарий от Dark_SavanT

Там трагичность в том, что делая «хорошо», не предусмотрели переезд и интероп и выяснилось, что уже работающее на новое менять никто не хочет.

Ну как не предусмотрели. Там есть пачка костылей для интеропа с IPv4. Просто штука с IPv6 и прочими протоколами в том, что группы, которые их придумывают, на самом деле ненавидят друг друга. Удивительно, да? Например, Ethernet и около разрабатываются в IEEE, а IPv{4,6} – в IETF. И оба этих института старательно друг друга игнорируют и обкладывают друг друга гениталиями по периметру.

Хуже того, разрабы IPv6 упёрлись в свои дебильные идеи и отказываются видеть реальный мир, в котором их идеи не работают. Так например, на NAT66 положен большой болт несмотря на то, что авторы реализаций давно договорились о нём. Или то, что по стандарту IPv6 ты не можешь сделать подсеть меньше /64. Хочешь разбить свою /64 на 4 миллиарда /96? А вот нахрен пошёл! Зачем это всё? Ну вот так вот чувакам всралось.

Короче, IPv6 – это такой Wayland из мира сетей, только на 15 лет раньше Wayland. Можно прямо воочию наблюдать за развитием этого трешака, потому что IPv6 скоро будет 30 лет, а половина планеты до сих пор на него болт кладёт.

Если хочешь технических деталей, есть вот эта классная статья: The world in which IPv6 was a good design. Очень рекомендую.

hateyoufeel ★★★★★
()
Ответ на: комментарий от hateyoufeel

Короче, IPv6 – это такой Wayland из мира сетей

ля, вот не зря я из всего ЛОРа люблю только тебя (и бодюхрюхрю, но его с нами неть)

//no homo

annerleen_temp
() автор топика
Ответ на: комментарий от hateyoufeel

Хочешь разбить свою /64 на 4 миллиарда /96? А вот нахрен пошёл!

ты забыл важный нюанс - /64 нужна для SLAAC, с использованием DHCPv6 или статикой режь жоть на /127 кто ж запретит. Уж что DHCPv6 странно реализован бывает - щито поделать, бгг.

Например, Ethernet и около разрабатываются в IEEE, а IPv{4,6} – в IETF.

эм, а где там пересечение между физическим и канальным уровнями? через eth в общем случае похеру что гонять в фреймах, там поверх IP может и не быть даже. MTU?

Там есть пачка костылей для интеропа с IPv4.

Там нет главного костыля: чтобы ipv4-only приложение могло прозрачно открыть сокет и получить доступ к пусть v4 mapped подмножеству в ipv6-only среде. Такое можно черех 464 трансляцию сделать, но надо это полутора упорышам и всё равно это в итоге дуалстек. Вот на этом всё заткнулось в своё время и ещё довольно долго будет аукаться. Плюс разработчики в виду на виду имели разбираться с дуалстеком, а берклевские сокеты тебе требуют по разному адреса использовать. Нет, нынче уже уметь в дуалстек это хороший тон, но средний программист и с v4 сокетами-то лажает и за пределами connect/listen/bind хрен что знает про сеть.

Короче, IPv6 – это такой Wayland из мира сетей, только на 15 лет раньше Wayland.

Ну таки нет. У гномосеков мозгов совсем копеечка, ipv6 делается людьми с внутренней логикой, пусть и слегка инопланетной.

Про технические детали можешь не рассказывать, я был погружён в своё время больше чем хотелось бы.

Dark_SavanT ★★★★★
()
Ответ на: комментарий от Dark_SavanT

ты забыл важный нюанс - /64 нужна для SLAAC, с использованием DHCPv6 или статикой режь жоть на /127 кто ж запретит.

Я уже читал про пачку легаси (лол) софта, который считает /64 минимальным размером сети и ломается. Прикинь вот, протокол ещё даже не внедрили повсеместно, а уже вёдра говнолегаси в наличие!

эм, а где там пересечение между физическим и канальным уровнями? через eth в общем случае похеру что гонять в фреймах, там поверх IP может и не быть даже. MTU?

Примерно в районе ARP, DHCP и подобных протоколов. Но, на самом деле, ethernet фреймы просто не нужны. Ну, то есть, вообще не нужны. Они были нужны когда Ethernet был шиной с множеством хостов на ней, а это закончилось лет 25 назад, когда свитчи стали стоит дешевле говна. В итоге, сегодня вообще каждое ethernet-подключение имеет ровно два хоста, и всю эту тупую долбильню с мак-адресами и ethernet-фреймами можно выкидывать на мороз.

hateyoufeel ★★★★★
()

Улучшения UI/UX

Изменены иконки, цвета, название приложения.

Впечатляет прям.

А если серьезно, таким убогим интерфейсом никто не будет пользоваться. Сразу видно, что в UI вы нули полные.

neocrust ★★★★★
()
Последнее исправление: neocrust (всего исправлений: 1)
Ответ на: комментарий от neocrust

Изменены иконки, цвета, название приложения.
Впечатляет прям.

изменен default color accent, который теперь настраивается в приложении, а не при компиляции.
впечатляйся.

а ещё впечатлайся тем, что ЛС в MUC работают как отдельные чаты, а не как говно, как в оригинальной консерве, например. забыл упомянуть в чейнжлоге, но в jabber-конфе уже пара человек успело спасибо сказать.

annerleen_temp
() автор топика
Последнее исправление: annerleen_temp (всего исправлений: 1)
Ответ на: комментарий от annerleen_temp

изменен default color accent

Это должно впечатлить что ли?

Я об общем интерфейсе говорю, а он просто шляпа. Взяли дефолтный Material 2.0 и слепили эту поделку.

neocrust ★★★★★
()
Ответ на: комментарий от wandrien

Как говорил мой сокурсник, «можешь не писать код – не пиши».

Задолго до него, на рубеже 1970-1980 годов нечто подобное говорил Жванецкий: «Если можешь не писать — НЕ ПИШИ!..». :)

Somebody
()
Ответ на: комментарий от sinaps

А его возможно было установить?

И это тоже проблема. Это работало в пятницу 13-е на полнолуние. Но прецеденты были.

kirill_rrr ★★★★★
()
Ответ на: комментарий от cumvillain

А этот мир так устроен, что всё мало-мальски серьёзное делается в нём «за бабло», да. Ибо и еда, без которой никто почему-то не выживает, продаётся тоже за бабло... :)

Somebody
()
Ответ на: комментарий от hateyoufeel

Без бабла найти желающего программировать на чём угодно не самая тривиальная задача.

Найти желающего «программировать за еду», в общем-то, не такая уж и неразрешимая задача. Но вот найти такого человека, который программировать умеет, и при этом ещё и будет это делать сколько-нибудь значительный период времени — это уже задача почти невыполнимая...

Somebody
()
Ответ на: комментарий от Gentooshnik

Ну Rust вроде как пошёл по этой дорожке. Нещадных штрафов ещё не было, но ограничений они уже нагородили. Нельзя так просто взять, написать компилятор Раста и назвать его Растом.

А вот хорошо ли это — я что-то не уверен. С одной стороны против несовместимости ведётся борьба. С другой — слишком много, получается, зависит от одной конторы. И с Java тоже не так шоколадно стало, особенно когда Sun продался Ораклу. Ты историю с исками, что Java API это типа их интеллектуальная собственность, помнишь? Кстати, я что-то не вспомню даже, чем закончилось…

hobbit ★★★★★
()
Ответ на: комментарий от neocrust

нет,не должно, там помимо цветов иконок есть чему впечатляться.

annerleen_temp
() автор топика
Ответ на: комментарий от hobbit

А вот хорошо ли это — я что-то не уверен.

Хорошо, если язык позволяет не слишком сильно полагаться на его intrinsic’и и stdlib’у. Т.е. в случае разногласий с компанией чтобы была возможность просто сделать библиотеку со своим мнением. Не знаю насколько с этим хорошо/плохо у Раста.

Ты историю с исками, что Java API это типа их интеллектуальная собственность, помнишь? Кстати, я что-то не вспомню даже, чем закончилось…

Я тоже не помню. Но это Oracle, у них другая политика. Не такая как у Sun.

Gentooshnik ★★★★★
()
Ответ на: комментарий от Gentooshnik

Не знаю насколько с этим хорошо/плохо у Раста.

Ваще отлично. no_stdlib поддерживается из коробки. Свою stdlib присунуть можно тоже легко и ненапряжно.

hateyoufeel ★★★★★
()
Ответ на: комментарий от hateyoufeel

Но на самом деле вопрос больше в возможностях языка. Например, можно ли библиотекой реализовать паттерн матчинг как в Эрланге/Хаскеле. Или exception’ы. Я знаю, что в Rust их сознательно не завезли. Просто как пример.

Gentooshnik ★★★★★
()
Последнее исправление: Gentooshnik (всего исправлений: 1)
Ответ на: комментарий от Gentooshnik

Хотя, тут есть другая опасность. Сделает условный Microsoft условный Qt со всеми мыслимыми и немыслимыми свистелками, и без него языком уже никто не будет пользоваться. Вуаля, hostile takeover завершён.

Gentooshnik ★★★★★
()
Ответ на: комментарий от Gentooshnik

А можно при этом линковаться с кодом который использует другую stdlib?

Возможно? Но это какая-то очень всратая фантазия.

Например, можно ли библиотекой реализовать паттерн матчинг как в Эрланге/Хаскеле.

В Rust он из коробки.

Или exception’ы. Я знаю, что в Rust их сознательно не завезли.

Там есть Result<>, используй его. Проблема в том, что он не композируется из коробки, но эту проблему таки решили библиотеками. По расширяемости Rust где-то посередине между плюсами и хачкеллем находится.

hateyoufeel ★★★★★
()
Ответ на: комментарий от Gentooshnik

В Rust он из коробки.

Вопрос как раз в том чтобы можно было сделать свой если изкоробочный чем-то не устраивает.

А где-то такое вообще можно? Даже у лисперов с их чудовищной расширяемостью нормального pattern matching не вышло сделать.

Плюс, это как раз та вещь, которую лучше совать по-глубже в компилятор языка. Просто потому что когда у тебя в экосистеме 15 библиотек с паттерн-матчингом и каждый проект использует два-три несовместимых варианта, потому что они с зависимостями пришли, получается полная залупа. Ну примерно как в Common Lisp со всем.

Расширяемость языка – это хорошо, но когда язык слишком топорен и вынуждает по сути писать с нуля настолько базовые вещи, то это полное говно а не язык.

hateyoufeel ★★★★★
()
Последнее исправление: hateyoufeel (всего исправлений: 1)
Ответ на: комментарий от Gentooshnik

Ну на proc-macro можно хоть чёрта лысого сделать, но за такое надо на урановые рудники ссылать.

Dark_SavanT ★★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.