DarkHobbit / doublecontact

Offline DE-independent Qt-based contact manager primarily for phonebooks editing/merging. Beta.
GNU General Public License v3.0
52 stars 11 forks source link

Некорректная работа со свойством CATEGORIES #39

Closed dwlttpr closed 4 years ago

dwlttpr commented 5 years ago

В vCard уже есть стандартизированное свойство CATEGORIES (https://en.wikipedia.org/wiki/VCard), в нём разделителем тегов является запятая.

Doublecontact использует свойство X-CATEGORIES с разделителем ';'. Doublecontact может вычитать и свойство CATEGORIES, но разделителем будет считаться также ';'.

Также наблюдается замена CATEGORIES на X-CATEGORIES во всей адресной книге при редактировании групп для хотя бы одного контакта.

Отличие проявилось при импорте адресной книги в Nextcloud.

ссылка на описание CATEGORIES в rfc

DarkHobbit commented 5 years ago

Замена CATEGORIES на X-CATEGORIES происходит в случае, если версия vCard выходного файла задана 2.1 или 3.0 (задаётся в настройках). CATEGORIES введён только в vCard 4.0. Разделитель ; появился потому, что используется в CATEGORIES файлов MPB (MyPhoneExplorer). Да, в новом RFC по-другому. Видимо, надо будет исправлять, а для обработки MPB вводить исключение. Можно подробнее, как проводился эксперимент с Nextcloud?

DarkHobbit commented 4 years ago

Исправлено в коммите 8e0bba8. Теперь при записи тега CATEGORIES разделитель - запятая, кроме случаев работы с файлами MPB. Устаревший тег X-CATEGORIES поддерживается только на чтение. К сожалению, андроид-устройства не воспринимают тег CATEGORIES при импорте из файлов VCF, он работает только через облачные сервисы (Google или упомянутый выше Nextcloud). Некоторые телефоны используют для групп нестандартный тег X-GROUP-MEMBERSHIP.