OutWiker 3.3.0.930 beta. Исправление ошибок в библиотеках

OutWiker 3.3.0.930 beta. Исправление ошибок в библиотеках

Выложил новую бета-версию OutWiker под номером 3.3.0.930. В этой версии я сосредоточился на исправлении ошибок и оптимизации того, что было сделано до этого.

Для начала было сильно переделано внутреннее устройство облака меток. По идее оно теперь должно побыстрее работать при большом количестве меток и потреблять меньше памяти. Раньше на каждую метку создавался свой компонент, который отлавливал события, а теперь метки просто рисуются на панели. Заодно исправил установку фона меток. В предыдущей бета-версии, если в настройках программы был установлен фон панели, отличный от белого, то вокруг меток появлялся белый ореол. В остальном поведение облака меток должно остаться прежним.

Две другие исправленные проблемы касались версии под Windows. Одна из них проявлялась таким образом, что OutWiker не мог работать с базой заметок, если она располагалась на удаленном сервере, который был примонтирован как диск. Спасибо Алексею, который обратил внимание на такую проблему.

Следующая проблема оказалась более коварная (за ее обнаружение спасибо Дмитрию). Суть ее заключалась в том, что последняя версия wxPython некорректно работает с некоторыми emoji, и если они встречались в тексте, то текст заметки обрезался на один или несколько символов (каждый раз при открытии такой заметки). Я описал эту проблему в багтрекере wxPython, ее подтвердили со ссылкой на другой известный баг. Все бы ничего, но в своем коде, который использует wxPython, этот баг невозможно обойти. Однако тут, можно сказать, повезло дважды. Во-первых, потому что эта проблема проявляется только под Windows (почему под Linux-ом все работает, как надо, не очень ясно), и, во-вторых, в обсуждении уже известной проблемы в багтрекере wxPython были выявлены изменения, которые привели к этой ошибке. Благодаря этому удалось сделать форк wxPython с исправлением, где этого бага нет, и пока придется версию под Windows собирать с этой исправленной версией библиотеки. Пропатченную версию wxPython включил как сабмодуль в исходники OutWiker. Еще надо посмотреть, может быть все-таки имеет смысл собирать версию и под Linux тоже с исправленной версией wxPython. Я надеюсь, что с выходом следующей версии wxPython эта ошибка будет исправлена.

Еще одна проблема тоже связана со сторонней библиотекой. В OutWiker используется библиотека Pillow для создания превьюшек картинок, и эта же библиотека используется в библиотеке blockdiag, которая, в свою очередь, используется в плагине Diagrammer для создания диаграмм по текстовому описанию. После очередного обновления Pillow в Diagrammer появилась проблема с обрезанием текста, как показано на следующей картинке:

К сожалению, библиотека blockdiag уже два года не обновлялась, и поэтому пришлось лезть в нее и разбираться, как она устроена, чтобы поправить проблему. Провозившись часа три, проблему все-таки удалось найти и исправить. Как обычно, в подобных случаях исправление свелось к добавлению одного параметра в вызов функции в одной строчке, и проблема была побеждена!

И еще одна проблема, которая касается версий под Linux, была то ли исправлена, то ли нет. Некоторые пользователи жаловались, что в snap-сборке сломалось отображение заметок, вместо HTML-рендеринга отображается пустое окно. Со snap-ом мне не удалось воспроизвести эту проблему, и у как минимум одного пользователя, со временем эта проблема сама собой прошла. Если вы тоже столкнулись в этой ошибкой, то обратите внимание вот на эту запись в багтрекере, в конце написаны два потенциальных способа ее исправления. Недавно я столкнулся с аналогичной проблемой (но не уверен, что в точности этой же) во flatpak-сборке. Оказалось, что ошибка связана с новой версией библиотеки WebKitGtk (ссылка на их багтрекер) и взаимодействием с драйвером видеокарты от Nvidia. В багтрекере написано, что проблему можно обойти, если через переменную окружения отключить одну фичу, которая недавно появилась в движке (нужно установить переменную окружения WEBKIT_DISABLE_DMABUF_RENDERER=1). Именно это я сделал в сборках для snap и flatpak. Не знаю на счет snap, а с flatpak мне это исправление помогло.

Кроме этого были исправлены мелкие баги, которые не стоят того, чтобы о них говорить.

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

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

А пока последнюю бета-версию можно скачать на этой странице.

OutWiker с социальных сетях:

PS. Вы можете подписаться на новости сайта через RSS, Группу Вконтакте или Канал в Telegram.

Пожалуйста, оцените запись

УжасноПлохоТак себеХорошоОтлично (Количество голосов: 2, средняя оценка: 5,00)
Загрузка...

комментария 2

  1. Саша:

    Спасибо огромнейшее!
    Ваша программа просто чудо, у нее огромнейший потенциал!
    Я наткнулся на нее «как бы случайно» (как это всегда бывает) и сейчас разглядываю ее во все глаза) В т.ч. с помощью вот этого вашего блога)
    СПАСИБО!

  2. Jenyay:

    Спасибо большое 🙂

Leave a comment

Subscribe without commenting