Created attachment 11930 [details] скриншот адресной книги Пакеты: thunderbird-102.5.0-alt1 sogo-5.7.1-alt2 Настроено sogo по инструкции https://www.altlinux.org/SOGo В thunderbird добавлен календарь (протокол CalDAV) и адресная книга (протокол CardDAV) из sogo. В thunderbird не отображаются события и задачи из календаря sogo, при этом, если добавить задачу или событие через thunderbird, то оно отобразится в web интерфейсе sogo. Контакты из адресной книги тоже не отображаются, но с одним отличием: созданный через thunderbird контакт не отображается в thunderbird, а созданный через sogo контакт отображается в thunderbird (пример на скриншоте).
sogo-5.7.1-alt3 -> sisyphus: Thu Nov 24 2022 Andrey Cherepanov <cas@altlinux> 5.7.1-alt3 - Fixed empty patch to fix https://bugs.sogo.nu/view.php?id=5416 (ALT #44407).
С sogo 5.7.1-alt3 ошибка не воспроизводится.
Created attachment 12073 [details] Список контактов sogo 5.7.1-alt3 thunderbird-102.5.1-alt1 Ошибка воспроизводится для списков контактов. Шаги воспроизведения: 1. В sogo зайти в "Адресная книга" (верхний правыл угол) 2. Внизу нажать на Добавить (+) -> Создать новый список 3. Задать имя списка, опционально добавить участников, сохранить 4. Проверить отображение в Thunderbird Ожидаемый результат: информация отображается в thunderbird Реальный результат: отображается "пустая" запись (скриншот прилагаю) Дополнительно: 1. Ошибка воспроизводится для пустых список и списков с занесенными контактами 2. Ошибка не воспроизводится для отдельных контактов, они отображаются корректно
Переоткрываю
Воспроизводится с sogo-5.8.0-alt1
Ошибка также воспроизводится с sogo-5.8.0-alt3
По состоянию на thunderbird-141.0-alt0.p10.1.x86_64 + sogo-5.11.1-alt1.x86_64 пустых строк нет, но и никакой информации о списках всё так же нет.
Воспроизводится с sogo-5.12.4-alt1 , thunderbird 143.0-alt1 на p11 Аналогично, пустых строк нет, но и никакой информации о списках всё так же нет.
Воспроизводится с sogo-5.12.4-alt1 и thunderbird-146.0.1-alt1 Пустых строк нет, списки не отображаются
Воспроизводится с sogo-5.12.7-alt1 и thunderbird-148.0.1-alt1 Пустых строк нет, списки не отображаются
Ошибка с отображением списков в thunderbird после создания в веб-интерфейсе SOGO воспроизводится в версии thunderbird-150.0.2-alt1 на Sisyphus и thunderbird-150.0.1-alt2 на p11
Провёл расследование по этому багу с воспроизведением на стенде (SOGo 5.12.8 + Thunderbird 151). Ниже — что выяснилось и почему фикс средствами одного пакета thunderbird невозможен. == Воспроизведение == Стенд: сервер SOGo 5.12.8 (бэкенд PostgreSQL, CardDAV через Apache), клиент Thunderbird 151, адресная книга подключена по CardDAV нативными средствами TB. Создал в веб-интерфейсе SOGo список контактов с двумя участниками. В ответе CardDAV-запроса addressbook-query REPORT (именно его делает Thunderbird при синхронизации) этот список приходит так: BEGIN:VLIST UID:mylist-001 VERSION:1.0 CARD;EMAIL=carol@test.alt:7207-6A104280-1-11E043E0.vcf CARD;EMAIL=dave@test.alt:7207-6A104280-3-11E043E0.vcf END:VLIST Это «BEGIN:VLIST» — собственный (проприетарный) формат SOGo, а НЕ vCard. RFC 6352 (CardDAV) требует, чтобы тело address-data было vCard. SOGo здесь нарушает стандарт: отдаёт в CardDAV-коллекции не-vCard ресурс. == Поведение Thunderbird (матрица) == Проверил три формата, сняв базу адресной книги TB после синхронизации: * BEGIN:VLIST (список из веб-UI SOGo) — Thunderbird не может это разобрать как vCard и молча выбрасывает ресурс. В базе адресной книги TB его нет вообще. Это и есть «списки пропадают» из бага. * Корректный group-vCard с X-ADDRESSBOOKSERVER-KIND:group и X-ADDRESSBOOKSERVER-MEMBER — Thunderbird сохраняет карточку, но показывает её как ПУСТОЙ ОБЫЧНЫЙ КОНТАКТ, а не как список рассылки. Свойства KIND/MEMBER лежат в сыром _vCard, но TB их не интерпретирует. * vCard 4.0 с KIND:group / MEMBER — то же самое: пустой контакт. * Обычные контакты синхронизируются корректно. == Вывод: два независимых дефекта в двух пакетах == Баг заведён и на sogo, и на thunderbird — и это правильно, причин две: 1. SOGo отдаёт списки в проприетарном BEGIN:VLIST вместо стандартного vCard. Ни один CardDAV-клиент не обязан понимать этот формат. 2. Thunderbird не понимает vCard-группы (KIND:group) даже в корректном виде — превращает группу в пустой контакт. == Почему нельзя починить только в thunderbird == * Формат BEGIN:VLIST — не vCard. Thunderbird, отбрасывая невалидный ресурс, ведёт себя корректно по отношению к CardDAV. Чинить нужно сторону, которая этот формат ОТДАЁТ, то есть SOGo. Заставить TB разбирать чужой нестандартный формат — неверное решение. * Даже если бы мы научили TB показывать корректный group-vCard как список — это РЕАЛИЗАЦИЯ ОТСУТСТВУЮЩЕЙ ФИЧИ. Поддержки vCard-групп (KIND:group) в Thunderbird нет в принципе; это давно известная незакрытая задача апстрима (Mozilla bug 1807394, статус NEW, по словам разработчика Mozilla — «нужно реализовывать с нуля»). Тащить в пакет downstream-патч, реализующий крупную фичу впереди апстрима, мы не будем: такой патч затронет ядро адресной книги, будет сильно расходиться с апстримом и требовать сопровождения на каждом обновлении версии. Это не сопровождение пакета, а форк. Итог: средствами пакета thunderbird баг закрыть нельзя. Более того, даже починка одного SOGo проблему полностью не решит — список перестанет «пропадать», но появится в TB как пустой контакт, пока Mozilla не реализует KIND:group. == Что сделано / планируется == * Заведён feature request в апстрим SOGo: https://bugs.sogo.nu/view.php?id=6217 — отдавать списки по CardDAV как стандартный group-vCard (X-ADDRESSBOOKSERVER-KIND:group), а не VLIST. Это основной чинимый дефект. * В Mozilla bug 1807394 добавляется cross-reference на SOGo bug 6217 и результаты этого тестирования. Предлагаю основную (чинимую) часть бага вести по пакету sogo; по thunderbird — оставить как зависящую от апстрима (Mozilla bug 1807394), downstream-фикс невозможен. == Ссылки == Thunderbird / Mozilla: * https://bugzilla.mozilla.org/show_bug.cgi?id=1807394 — Cannot import vCard group with mailto members (KIND:group). Ключевой баг: поддержки KIND:group в TB нет. Статус NEW. * https://bugzilla.mozilla.org/show_bug.cgi?id=1793415 — Invalid vCards throw error messages and break the addressBook API. Объясняет, почему невалидный ресурс (VLIST) ломает синхронизацию. * https://bugzilla.mozilla.org/show_bug.cgi?id=546932 — (carddav) зонтичный баг поддержки CardDAV в Thunderbird. * https://bugzilla.mozilla.org/show_bug.cgi?id=1522453 — Not all members of mailing lists are displayed after restart of TB. * https://connect.mozilla.org/t5/ideas/use-native-vcard-4-0-quot-member-quot-attribute-for-lists-to/idi-p/30602 — предложение использовать нативный vCard 4.0 MEMBER для списков (чтобы списки вообще синхронизировались по CardDAV). Статус «idea». SOGo (трекер bugs.sogo.nu): * https://bugs.sogo.nu/view.php?id=6217 — feature request, заведённый по этому багу: отдавать списки по CardDAV как стандартный group-vCard вместо VLIST. * https://bugs.sogo.nu/view.php?id=3950 — problems with support of VLIST regarding VLIST entry and accidently created new VCARDs. Подтверждает проблемы формата VLIST и побочно создаваемые «обрубки» vCard. Статус New. * https://bugs.sogo.nu/view.php?id=2547 — SOGo Connector should also handle CardDAV responses with additional header lines before BEGIN:VCARD.
Ошибка не воспроизвелась На Sisyphus (thunderbird-151.0.1-alt1 и sogo-5.12.9-alt1) не воспроизвелась На p11 (thunderbird-151.0-alt4 и sogo-5.12.8-alt1) не воспроизвелась
Ошибка не воспроизвелась для версий пакетов thunderbird-152.0-alt1 и sogo-5.12.9-alt1