Bug 48212

Summary: Что-то не так с подчеркиванием ;-(
Product: Sisyphus Reporter: ruslandh <ruslandh>
Component: telegram-desktopAssignee: Vitaly Lipatov <lav>
Status: REOPENED --- QA Contact: qa-sisyphus
Severity: normal    
Priority: P5 CC: aen, delphicoder, lav, oleg, ruslandh, x1z53, zerg
Version: unstable   
Hardware: x86_64   
OS: Linux   
Attachments:
Description Flags
Сливается с предыдущими строками
none
Как должно выглядить
none
Весь текст сообщения ссылка.
none
всё ок с нормальными системными шрифтами
none
Проблема с форматированием текста, в версии telegram-desktop-4.11.2-alt1.x86_64
none
Все шрифты в системе, команда fs-list
none
Стили. Пример 1
none
Стили. Пример 2
none
Гиперссылки. Пример 1
none
Гиперссылки. Пример 2
none
Гиперссылки. Пример 3
none
Гиперссылки. Пример 4
none
Гиперссылки. Примечание
none
Блоки кода. Пример none

Description ruslandh 2023-10-27 07:17:53 MSK
Created attachment 14905 [details]
Сливается с предыдущими строками

Странно что-то с подчеркиванием
Comment 1 ruslandh 2023-10-27 07:20:31 MSK
Created attachment 14906 [details]
Как должно выглядить

Выдача /opt/Telegram/Telegram
Comment 2 Олег Щавелев 2023-10-27 09:27:54 MSK
Created attachment 14907 [details]
Весь текст сообщения ссылка.

Стенды с ошибкой:
=================
* ALT Regular Sisyphus x86_64
* Kernel: 6.5.8-un-def-alt1 
* GNOME 45.0 
* AMD Ryzen 7 4800HS with Radeon Graphics (16) @ 4.300GHz 
* AMD ATI 04:00.0 Renoir 
* 1: 1920x1080~144Hz 2: 1280x720~60Hz
* Wayland

Версия программы:
=================
telegram-desktop-4.10.5-alt2.x86_64

Шаги, приводящие к ошибке:
=================
* Открыть мессенджер
* Открыть канал
* Найти сообщение

Результат:
==========
Весь текст сообщения является ссылкой.

Ожидаемый результат:
====================
Сообщение должно быть текстом.
Comment 3 Sergey V Turchin 2023-10-27 10:29:53 MSK
Настройте свои шрифты. У меня всё ок.

$ rpm -qa --qf '%{NAME}\n'| grep ^fonts
fonts-ttf-latex-xft
fonts-ttf-google-noto-common
fonts-ttf-dejavu
fonts-ttf-google-droid-serif
fonts-ttf-google-noto-sans-mono
fonts-bitmap-misc
fonts-ttf-google-noto-sans
fonts-ttf-google-crosextra-carlito
fonts-ttf-roboto
fonts-ttf-google-noto-sans-symbols
fonts-type1-urw
fonts-ttf-google-crosextra-caladea
fonts-ttf-google-noto-serif
fonts-ttf-google-droid-sans
fonts-ttf-google-noto-sans-symbols2
fonts-ttf-google-noto-emoji-color
fonts-ttf-google-noto-emoji
fonts-ttf-google-droid-sans-mono
fonts-ttf-material-icons
Comment 4 Sergey V Turchin 2023-10-27 10:30:49 MSK
Created attachment 14908 [details]
всё ок с нормальными системными шрифтами
Comment 5 Олег Щавелев 2023-11-02 12:23:09 MSK
Created attachment 14952 [details]
Проблема с форматированием текста, в версии telegram-desktop-4.11.2-alt1.x86_64

На текущий момент получается воспроизвести проблему на текущий момент.
https://t.me/yabrowser/181

[root@alt-gnome ~]# rpm -qa --qf '%{NAME}\n'| grep ^fonts
fonts-bitmap-misc
fonts-otf-adobe-source-sans-pro
fonts-ttf-gnu-freefont-common
fonts-ttf-lxgw-wenkai
fonts-ttf-google-noto-emoji-color
fonts-ttf-google-croscore-arimo
fonts-bitmap-terminus
fonts-ttf-google-lato
fonts-ttf-gnu-freefont-serif
fonts-ttf-gnu-freefont-sans
fonts-otf-abattis-cantarell
fonts-ttf-gnu-freefont-mono
fonts-otf-adobe-source-code-pro
fonts-otf-mozilla-fira
fonts-ttf-dejavu
fonts-ttf-liberation-narrow
fonts-type1-urw
fonts-ttf-liberation
Comment 6 Олег Щавелев 2023-11-02 12:38:18 MSK
Created attachment 14953 [details]
Все шрифты в системе, команда fs-list

Дополнение к предыдущему сообщению.
Comment 7 Олег Щавелев 2023-11-02 12:40:22 MSK
Комментарий №4 и 5. Изменяю статус репорта.
Comment 8 Vitaly Lipatov 2023-11-02 12:54:11 MSK
1. Я думаю, что шрифты тут вообще ни при чём. Что подчёркивать, решает не шрифт.
2. В 4.11 необходимые шрифты уже внутри Телеграма, и набор внешних шрифтов на него не влияет.
Вы же сами пишете, что проблема с форматированием текста. Я пока могу предположить только то, что Qt не самый обновлённый у вас.
Comment 9 Олег Щавелев 2023-11-02 13:55:40 MSK
(Ответ для Vitaly Lipatov на комментарий #8)
> 1. Я думаю, что шрифты тут вообще ни при чём. Что подчёркивать, решает не
> шрифт.
> 2. В 4.11 необходимые шрифты уже внутри Телеграма, и набор внешних шрифтов
> на него не влияет.
> Вы же сами пишете, что проблема с форматированием текста. Я пока могу
> предположить только то, что Qt не самый обновлённый у вас.

1. Да безусловно я разделяю данный тезис. На репорт влияет в частности на его статус, так он закрыт с  комментарием всё ок с нормальными системными шрифтами. Поэтому я проиллюстрировал какие шрифты установлены.
2. Какой есть в Cизифе, система всегда в актуальном состоянии:

[oleg@alt-gnome ~]$ sudo apt-get update
[sudo] password for oleg:
Получено: 1 http://ftp.altlinux.org Sisyphus/x86_64 release [4238B]
Получено: 2 http://ftp.altlinux.org Sisyphus/x86_64-i586 release [1680B]
Получено: 3 http://ftp.altlinux.org Sisyphus/noarch release [2859B]
Получено 8777B за 0s (220kB/s).
Найдено http://ftp.altlinux.org Sisyphus/x86_64/classic pkglist
Найдено http://ftp.altlinux.org Sisyphus/x86_64/classic release
Найдено http://ftp.altlinux.org Sisyphus/x86_64-i586/classic pkglist
Найдено http://ftp.altlinux.org Sisyphus/x86_64-i586/classic release
Найдено http://ftp.altlinux.org Sisyphus/noarch/classic pkglist
Найдено http://ftp.altlinux.org Sisyphus/noarch/classic release
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
[oleg@alt-gnome ~]$ sudo apt-get dist-upgrade
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
Подсчет обновлений... Завершено
0 будет обновлено, 0 новых установлено, 0 пакетов будет удалено и 0 не будет обновлено.

Я не знаю в чем проблема, я просто изменил статус репорта, так я могу воспроизвести описанную Русланом проблему.

Единственное, что бы хорошо проверить, это Flatpak-версию. Что бы точно быть уверенным, что проблема не в самом телеграм. 

Я сегодня установлю и отпишусь.
Comment 10 Vitaly Lipatov 2023-11-02 14:03:28 MSK
(Ответ для Олег Щавелев на комментарий #9)
...
> Я не знаю в чем проблема, я просто изменил статус репорта, так я могу
> воспроизвести описанную Русланом проблему.
> 
> Единственное, что бы хорошо проверить, это Flatpak-версию. Что бы точно быть
> уверенным, что проблема не в самом телеграм. 
Это Руслан с самого начала написал, что в установленном через epm play telegram проблемы нет.
Comment 11 Олег Щавелев 2023-11-03 15:05:05 MSK
(Ответ для Vitaly Lipatov на комментарий #10)
> (Ответ для Олег Щавелев на комментарий #9)
> ...
> > Я не знаю в чем проблема, я просто изменил статус репорта, так я могу
> > воспроизвести описанную Русланом проблему.
> > 
> > Единственное, что бы хорошо проверить, это Flatpak-версию. Что бы точно быть
> > уверенным, что проблема не в самом телеграм. 
> Это Руслан с самого начала написал, что в установленном через epm play
> telegram проблемы нет.

Виталий, тогда в этом случае сопоставление с Flatpak-версии не имеет смысла.
Comment 12 Олег Щавелев 2024-01-11 10:36:14 MSK
Отловил, показываю на записи по ссылке:
https://disk.yandex.ru/d/B4E566gxRv9ISw

Приложение запущено в терминале:
[oleg@alt-gnome ~]$ telegram-desktop
qt.dbus.integration: Could not connect "org.freedesktop.NetworkManager" to "stateChanged" : Type not registered with QtDBus in parameter list: QNetworkManagerInterface::NMState
qt.dbus.integration: Could not connect "org.freedesktop.NetworkManager" to "connectivityChanged" : Type not registered with QtDBus in parameter list: QNetworkManagerInterface::NMConnectivityState
qt.dbus.integration: Could not connect "org.freedesktop.NetworkManager" to "deviceTypeChanged" : Type not registered with QtDBus in parameter list: QNetworkManagerInterface::NMDeviceType
qt.dbus.integration: Could not connect "org.freedesktop.NetworkManager" to "meteredChanged" : Type not registered with QtDBus in parameter list: QNetworkManagerInterface::NMMetered
QPainter::begin: Paint device returned engine == 0, type: 2
QWidget::render: Cannot render with an inactive painter
qt.core.qobject.connect: QObject::connect: No such signal QPlatformNativeInterface::systemTrayWindowChanged(QScreen*)
qt.gui.imageio.jpeg: Corrupt JPEG data: premature end of data segment
qt.gui.imageio.jpeg: Corrupt JPEG data: premature end of data segment
qt.gui.imageio.jpeg: Corrupt JPEG data: premature end of data segment
qt.svg: Error while inflating gzip file: SVG format check failed
qt.gui.imageio.jpeg: Corrupt JPEG data: premature end of data segment
qt.gui.imageio.jpeg: Corrupt JPEG data: premature end of data segment
Comment 13 ruslandh 2024-01-11 23:32:12 MSK
Попробовал собрать с параметром system_fonts 
https://packages.altlinux.org/ru/tasks/337981/
и
https://packages.altlinux.org/ru/tasks/337992/ 

эффект неправильного отображения пропадает 

Не очень понял, в комментариях к DESKTOP_APP_USE_PACKAGED_FONTS CMakefile написано:
Use preinstalled fonts instead of bundled one.

Не очень понял это комментарий, может надо в момент сборки пакета надо нужные шрифты куда-то подложить ?

И да, если установить пакет из этих заданиях и поставить пакет fonts-ttf-open-sans, эффект опять возникает.
Comment 14 Олег Щавелев 2024-02-28 14:58:35 MSK
(Ответ для ruslandh на комментарий #13)
> Попробовал собрать с параметром system_fonts 
> https://packages.altlinux.org/ru/tasks/337981/
> и
> https://packages.altlinux.org/ru/tasks/337992/ 
> 
> эффект неправильного отображения пропадает 
> 
> Не очень понял, в комментариях к DESKTOP_APP_USE_PACKAGED_FONTS CMakefile
> написано:
> Use preinstalled fonts instead of bundled one.
> 
> Не очень понял это комментарий, может надо в момент сборки пакета надо
> нужные шрифты куда-то подложить ?
> 
> И да, если установить пакет из этих заданиях и поставить пакет
> fonts-ttf-open-sans, эффект опять возникает.

Руслан, у нас воспроизводился проблема без шрифтов. Если будет минутка, собери повторно мы протестируем и в GNOME и в KDE
Comment 15 Vitaly Lipatov 2024-02-28 15:09:58 MSK
(Ответ для ruslandh на комментарий #13)
> Попробовал собрать с параметром system_fonts 
> https://packages.altlinux.org/ru/tasks/337981/
> и
> https://packages.altlinux.org/ru/tasks/337992/ 
> 
> эффект неправильного отображения пропадает 
> 
> Не очень понял, в комментариях к DESKTOP_APP_USE_PACKAGED_FONTS CMakefile
> написано:
> Use preinstalled fonts instead of bundled one.
> 
> Не очень понял это комментарий, может надо в момент сборки пакета надо
> нужные шрифты куда-то подложить ?
В данном контексте PACKAGED — это установленный в систему из пакета. Антоним для BUNDLED.
Comment 16 Aleksandr Shamaraev 2024-04-19 08:24:57 MSK
(Ответ для Vitaly Lipatov на комментарий #8)
> Я пока могу
> предположить только то, что Qt не самый обновлённый у вас.

Здравствуйте.

Поднял виртуальную машину с нуля, установил телеграмм и наблюдаю интересное поведение пакета.

При запуске (в моем случае через консоль) подчеркивания сливаются с текстом в некоторых топах, в некоторых нет, закрываем Ctrl+Q открываем заново уже часть идет нормально, чать с подчеркиванием, закрываем открываем полностью все ок, закрываем открываем, что-то подчеркивается, что-то нет.

Такое же поведение наблюдается на основной машине, не виртуальной.

Исходя из это позволю сделать себе предположение, что проблема не в пакете telegram-desktop, а в каком-то из пакетов зависимостей, возможно каком-то из qt6 в котором описана функция работы с системными шрифтами.

И если мое предположение верно, то надо понять в какой именно пакет/библиотека работает некорректно

Также периодически ловится ошибка в терминале
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f08baf86f80] Packet corrupt (stream = 0, dts = 152224).
[NULL @ 0x7f08b15e5400] Invalid NAL unit size (173902 > 2506).
[NULL @ 0x7f08b15e5400] missing picture in access unit with size 2510
Comment 17 X1Z53 2024-08-04 22:32:42 MSK
Всё ниже описанное проявляется только в контексте Публикации в канале


Стили

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

Приоритеты (названо так для удобства):
1. Цитата
2. Скрытый
3. Жирный
4. Курсив
5. Подчёркнутый
6. Зачёркнутый

Шаги:
1. Наложение стиля на какой-либо фрагмент сообщения
2. Наложения второго на другой фрагмент так, чтобы последний символ ранее стилизованного фрагмента был включён в данный

Пример 1:

1. Стиль <Курсив> наложен на всё слово <мягких>
2. Стиль <Подчёркнутый> наложен на последний символ предыдущего фрагмента - <х>

Итог: Стиль <Курсив> был применён ко всему остальному тексту

Пример 2:

1. Стиль <Курсив> наложен на всё слово <мягких>
2. Стиль <Подчёркнутый> наложен на последнюю букву слова - <и>

Итог: Стили отображаются корректно


Гиперссылки

Проблема подобна вышеописанной, однако проявляется иначе:
- Если применить два стиля внутри гиперссылки, то поведение соответствует выше описанной проблеме со стилями
- Если применить один и более стилей к последнему символу гиперссылки, то стили отображаются корректно
- Если применить один или два стиля к фрагменту, включающему текст до гиперссылки и хотя бы первый её символ, то гиперссылка будет продолжена до следующей гиперссылки (при наложении двух стилей, поведение стилей также будет соответствовать выше описанной проблеме со стилями)

Примечание: при наложении любого количества стилей на фрагмент, включающий текст до гиперссылки и какую-то её часть, она модифицируется - гиперссылка остаётся только в части, которая попала в фрагмент для стилизации

Пример 1:
1. Слово <мягких> преобразовано в гиперссылку
2. На буквосочетание <гк> наложен стиль <Подчёркнутый>
3. На буквосочетание <гк> наложен стиль <Курсив>

Итог: Поведение соответствует вышеописанной проблеме со стилями

Пример 2:
1. Слово <мягких> преобразовано в гиперссылку
2. На букву <х> наложен стиль <Подчёркнутый>
3. На букву <х> наложен стиль <Курсив>

Итог: Стили отображаются корректно

Пример 3:
1. Слова <мягких> и <булок> преобразованы в гиперссылки
2. На словосочетание <этих мягких> наложен стиль <Подчёркнутый>

Итог: Гиперссылка <мягких> продолжилась до гиперссылки <булок>

Пример 4:
1. Слова <мягких> и <булок> преобразованы в гиперссылки
2. На словосочетание <этих мягких> наложен стиль <Подчёркнутый>
3. На словосочетание <этих мягких> наложен стиль <Курсив>

Итог: Гиперссылка <мягких> продолжилась до гиперссылки <булок>, а стиль <Курсив> применился ко всему последующему тексту (см. проблему стилей)

Примечание:
1. Слова <мягких> и <булок> преобразованы в гиперссылки
2. На буквосочетание <этих мя> наложен стиль <Подчёркнутый>

Итог: Гиперссылка <мягких> в сообщении модифицировалась в гиперссылку <мя>


Блоки кода

Не работает функция копирования при нажатии на соответствующую иконку в правом верхнем углу блока

Если в блоке кода сработала подсветка кода, то этот и последующие блоки кода (вне зависимости от того, сработала ли в них подсветка) будут включать в себя весь остальной текст до конца сообщения

Шаги:
1. Вставить блок кода и установить поддерживаемый язык
2. Ввести корректную команду на указанном языке (для срабатывания) подсветки
3. Вставить текст после блока кода
Comment 18 X1Z53 2024-08-04 22:33:18 MSK
Created attachment 16544 [details]
Стили. Пример 1
Comment 19 X1Z53 2024-08-04 22:33:38 MSK
Created attachment 16545 [details]
Стили. Пример 2
Comment 20 X1Z53 2024-08-04 22:33:59 MSK
Created attachment 16546 [details]
Гиперссылки. Пример 1
Comment 21 X1Z53 2024-08-04 22:34:17 MSK
Created attachment 16547 [details]
Гиперссылки. Пример 2
Comment 22 X1Z53 2024-08-04 22:34:30 MSK
Created attachment 16548 [details]
Гиперссылки. Пример 3
Comment 23 X1Z53 2024-08-04 22:34:44 MSK
Created attachment 16549 [details]
Гиперссылки. Пример 4
Comment 24 X1Z53 2024-08-04 22:34:59 MSK
Created attachment 16550 [details]
Гиперссылки. Примечание
Comment 25 X1Z53 2024-08-04 22:35:14 MSK
Created attachment 16551 [details]
Блоки кода. Пример