1

Тема: MyTetra v.1.43.x - Пожелания, вопросы, багрепорты

Это тема для обсуждения MyTetra версии v.1.43.x, выпущенной 28.06.2018.

2 (изменено: SergSA, 06.07.2018 17:34:05)

Re: MyTetra v.1.43.x - Пожелания, вопросы, багрепорты

Предлагаю добавить экспорт:
- в кликабельный html, для навигации по записям без оболочки программы: на локальном компьютере, в локальной сети, для закидывания на хостинг;
- базы в архив, для передачи её на другой компьютер;
- всех данных в *.rtf или в *.doc для простого чтения (сейчас экспортируется в pdf только одна страница, но не все).

3

Re: MyTetra v.1.43.x - Пожелания, вопросы, багрепорты

SergSA пишет:

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

Ничто вам не мешает прямо  сейчас заархивировать базу данных (папку data) и передать ее на другой компьютер. Можно написать простой командный файл за пару минут.

Остальные ваши хотелки тоже можно решить обходными путями. Но придётся писать скрипты.

4

Re: MyTetra v.1.43.x - Пожелания, вопросы, багрепорты

Есть ли changelog для этой версии?

P.S. Здорово, что программа живёт и развивается smile

5

Re: MyTetra v.1.43.x - Пожелания, вопросы, багрепорты

br0ke пишет:

Есть ли changelog для этой версии?

В новости о новой версии и приведен changelog:

https://webhamster.ru/site/page/index/main/news/456

Кстати, на сайте уже лежит версия 1.42.27, в ней исправлен баг bold/unbold, который проявлялся на экранах с высоким DPI, а на обычных экрана не был виден.

https://github.com/xintrea/mytetra_dev/issues/76

6

Re: MyTetra v.1.43.x - Пожелания, вопросы, багрепорты

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

Насчёт консистентности xml дерева я считаю волноваться не стоит. Как я понял если mytetra успешно считала его - то при дальнейшей модификации она его пересоздает заново. Я создавал дерево в котором были нарушены отступы в начале строк - при перезаписи mytetra их восстанавливала с правильным форматированием.

7

Re: MyTetra v.1.43.x - Пожелания, вопросы, багрепорты

Обнаружил потенциальный канал утечки зашифрованных данных:
1. Создал новую заметку в зашифрованном разделе.
2. К этой заметке прикрепил текстовый файл - он зашифровался.
3. При двойном клике по файлу в окне mytetra он расшифровался в папку trash и был открыт в текстовом редакторе.
4. Расшифрованный файл уплыл в github и доступен всем желающим.
5. После закрытия mytetra расшифрованный файл продолжает находится в папке trash.

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

Я предлагаю этот момент доработать. Из вариантов может быть расшифровывание таких файлов не в папку trash а в другую, рядом находящуюся папку. Например decrypt. В xml дерево перед расшифровкой записывать имена таких файлов, и проверять их наличие в данной папке при закрытии mytetra и при открытии. Должно выводится сообщение при закрытии - "В папке decrypt имеются расшифрованные файлы. Вы хотите удалить их?". Если пользователь откажется их удалять, то записи об этих файлах должны остаться в xml дереве, и при следующем запуске mytetra должно выводится сообщение - "В папке decrypt находятся расшифрованные ранее файлы. Вы хотите удалить их?". Можно даже не делать записи в mytetra.xml а отслеживать наличие расшифрованных файлов по самому наличию папки decrypt. Создавать и удалять эту папку при каждом случае.

8

Re: MyTetra v.1.43.x - Пожелания, вопросы, багрепорты

babaduk пишет:

Обнаружил потенциальный канал утечки зашифрованных данных:
1. Создал новую заметку в зашифрованном разделе.
2. К этой заметке прикрепил текстовый файл - он зашифровался.
3. При двойном клике по файлу в окне mytetra он расшифровался в папку trash и был открыт в текстовом редакторе.
4. Расшифрованный файл уплыл в github и доступен всем желающим.
5. После закрытия mytetra расшифрованный файл продолжает находится в папке trash.

Опасно для тех кто синхронизирует папку trash с github (такие товарищи имеются).

Зачем синхронизировать директорию Корзины (Trash) на GitHub???

В документации прямым текстом написано:

Все дальнейшие действия из консоли следует выполнять внутри директории /data.
Итак, переходим в директорию /data и даем следующие команды:
git init

https://webhamster.ru/site/page/index/a … ctcode/170

Директория Trash находится по вложенности выше. Зачем ее пихать в Git - непонятно.

Кроме того, по-умолчанию в поставке MyTetra галка "Разрешить расшифровку во временный файл в директории корзины" отключена. Если человек её включает, и потом коммитит корзину на GitHub, то на что он рассчитывает?

Тут вопрос в том, что не все читают документацию и не все умеют правильно работать с git.

9

Re: MyTetra v.1.43.x - Пожелания, вопросы, багрепорты

xintrea пишет:

Тут вопрос в том, что не все читают документацию и не все умеют правильно работать с git.

Да вопрос именно в невнимательности пользователей.

Моё предложение состоит в том, чтобы для целей хранения расшифрованных данных использовать другую, явно обозначенную папку. Видя папку "Decrypted" пользователь лишний раз обратит на неё внимание. В противоположность этому мало кто из пользователей станет копаться в папке "trash". В саму папку "Decrypted" можно поместить текстовый файл с описанием предназначения данной папки и способов обращения с ней. Не лишним будет возможность автоочистки этой папки при закрытии (открытии) программы, и (или) по таймеру. Таким образом повысится потенциальная безопасность программы.

10 (изменено: Soxsten, 16.08.2018 14:27:49)

Re: MyTetra v.1.43.x - Пожелания, вопросы, багрепорты

Добрый день!
Несколько раз натыкался на баг с шифрованием, который очень огорчил.

Ситуация:
Пользуюсь Тетрой на 2 компьютерах. Настроена синхронизация через гит.
Имеется зашифрованная ветка.

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

Единственное что мне пару раз помогало - делать git reset --hard на конкретный коммит.

Но это крайне не удобно - я же не помню что именно я заносил и какую инфу я могу потерять.


При этом в настройках показывается что пароль не задан
https://cdn1.savepice.ru/uploads/2018/8/16/baf5a34d7a5f3626b28f3f025675626d-full.png

Вопрос знатокам - как восстановить информацию?

11

Re: MyTetra v.1.43.x - Пожелания, вопросы, багрепорты

Действительно что-то неладное с шифрованием наблюдается.

Обратил внимание на следующий баг появившийся в текущем релизе.
1. Создал категорию, в ней создал заметку.
2. При попытке зашифровать эту ветку - появляется окно "Введите пароль для доступа к зашифрованным данным". При вводе пароля - естественно пишет "неверный пароль".

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

12

Re: MyTetra v.1.43.x - Пожелания, вопросы, багрепорты

Soxsten пишет:

Вопрос знатокам - как восстановить информацию?

Во первых я всем советую обязательно пользоваться резервным копированием.

Далее по проблеме.
Могу предположить что из-за бага программы зашифрованные данные были второй (или больше) раз зашифрованы. Я не наблюдал проблем с шифрованием в версии 1.42. Попробуйте с помощью этой версии их расшифровать 2 (или более) раза. Только нужно продумать сам алгоритм выполнения этой процедуры.

Примерный план.
1. Эксперименты проводить только с копией базы.
2. Открыть базу в mytetra 1.42
3. Расшифровать папку.
4. Создать новую ветку назвать "восстановление" и в нее скопировать расшифрованные записи (с кракозябрами).
5. закрыть mytetra
4. Открыть mytetra.xml в текстовом редакторе, найти ветку "восстановление" и всем входящим в нее записям присвоить значение <node crypt="1". сохранить файл.
5. Запустить mytetra и повторно расшифровать ветку. (Возможно расшифровывание придется повторить если было зашифровано больше 1 раза).

13 (изменено: Soxsten, 26.08.2018 11:25:48)

Re: MyTetra v.1.43.x - Пожелания, вопросы, багрепорты

Если зашифровать ветку повторно - её нельзя расшифровать.
Программа вылетает с ошибкой.

Решил проблему также - git reset --hard до рабочего коммита

14

Re: MyTetra v.1.43.x - Пожелания, вопросы, багрепорты

1) автор записи по-умолчанию (в настройки)

Спорный функционал. Вы собираетесь хранить в программе только свои записи и не тратить время на ввод своего имени?

2) в редакторе не хватает таких тэгов: линии (hr), заголовков (h1,h2), цитат (что-то с отступом и кавычками по бокам). В идеале, конечно, нужна настраиваемая панель инструментов в редакторе, но понятное дело, что это большая работа

Это повяится когда редактор будет передан на стили.

3) нельзя выделить все ветки чтобы свернуть/развернуть

Можно. Сверху дерева кнопки: Развернуть все подветки, Свернуть все подветки

4) не хватает горячих клавиш (хотя это и так есть в планах развития, я видел)

Возможно, в новом релизе горячие кнопки уже появятся.

15

Re: MyTetra v.1.43.x - Пожелания, вопросы, багрепорты

Soxsten пишет:

Если зашифровать ветку повторно - её нельзя расшифровать.
Программа вылетает с ошибкой.
Решил проблему также - git reset --hard до рабочего коммита

Что значит "зашифровать повторно"? Ветка шифруется один раз. Второй раз зашифрованную ветку зашифровать невозможно. Что имеется в виду?

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