xintrea / mytetra_dev

MyTetra - smart crossplatform manager for information collecting / MyTetra - кроссплатформенный менеджер накопления информации / Официальная страница:
http://webhamster.ru/site/page/index/articles/projectcode/105
254 stars 55 forks source link

Не показывает заметку, если был вставлен определнный символ #134

Open Alrond opened 4 years ago

Alrond commented 4 years ago

Берем с сайта информацию, например комменты с хабра, копируем в заметку, всё видно. После перехода между заметками возвращаемся и видим что половины текста нет. После исследований - виноват один байт в hex формате 0x00, непонятно как туда вставляющийся (вставка с chrome браузера). После удаления его из html-файла вручную, заметка показывается полностью. Вложил заметку с этими символами. text.html.txt

xintrea commented 4 years ago

Да, есть такая проблема, я о ней знаю. Этот нуливой байт достал уже всех, и его криво обрабатывает QTextEdit. Он и на Хабаре встречается и на StackOverfow. Думаю, что в новом релизе исправлю. В настоящий момент я доделываю поддержку формул, потом займусь наверно этим нулем.

Alrond commented 4 years ago

возможно поможет, если вставляется ссылка, скопированная из адресной строки (т.е. без формата браузера, вроде как чистый текст), то символ тоже появляется. Если пропустить ссылку через простой текстовый редактор копипастом, то форматирование, какое-бы оно там ни было, уходит, и символа тоже нет потом

xintrea commented 4 years ago

Дайте, пожалуйста, ссылку на Хабар, где происходит проблема. И покажите с каких строк по какую надо выделить, чтобы проблему увидеть.

Alrond commented 4 years ago

Это не только на хабре, и не только текст, но даже копирование URL из адресной строки. Но как-то рандомно. Вот эта ссылка с гитхабом, например, не даёт символа, а вот https://www.anekdot.ru/ даёт, и многие другие. Думал связано https/http, но нет, оба варианта дают символ. Еще заметил, когда в заметку кидать разны екуски текста, ссылки, то символ может исчезать, а может и нет. Видимо при перезаписывании он его не берет во внимание в старом тексте. И еще, всегда наблюдаю его перед </p> или </span>

Alrond commented 4 years ago

Так, а вот это уже критичней. Текст после символа не виден, но есть в html. Если же дописать что-то в конец заметки (т.е. там где символ обрывает видимость), то новые данные запишутся, а всё что было после символа и не показывалось, удалится и из html тоже. В общем этот символ лучше при каждой записи фильтровать.

Важное дополнение, ошибка происходит только с браузером chrome, с FF всё нормально, и URL, и тексты, всё копируется без символа