Пара идей про сессии

main Alexey
Posts: 2402
Joined: 25.08.2021 18:15

Пара идей про сессии

Post by main Alexey »

@mix-7, выскажите ваше мнение, как активный юзер сессий.

1) поменять дефолтное имя сессии 'history session.json' -> 'default.cuda-session'. это почти не нарушит совместимость.

2) при передаче параметра filename.cuda-session в командной строке, НЕ загружать этот файл как сессию. пока что оно загружается! что ведет к неудобству - я хочу просто поредактировать файл, поискать в нем данные, а Куд грузит его как сессию.
Last edited by main Alexey on 26.03.2025 14:28, edited 1 time in total.
mix-7
Posts: 805
Joined: 11.05.2018 11:02

Re: пара идей про сессии, ломающих совместимость

Post by mix-7 »

2 - да, не загружать!

И в cli, и при клике на файл в файловом менеджере.
Так как кто-нибудь, как я недавно, захочет его просмотреть, но не gedit'ом, к примеру, а CudaText по умолчанию.
И тогда сессия собьется, и если не было "тренинга", дезориентируешься и можешь потерять данные, нить работы, порядок вкладок и т.п.
А через несколько минут, пока разбираешься, и бэкапы сессий.

Поэтому предлагаю в этом случаем запрос - "это файл сессии, открыть для редактирования/просмотра или как сесию"

1 а это зачем?
А, чтобы отличать 'history session.json' от файла 'history.json', чтобы меньше путаницы было?

Я подумал, как мне кажется, самое простое:
Если по какой-то причине нет файла 'history session.json'
(а вот сегодня не понял, как он исчез, ведь сбоев не было!),
дать msg-box с предупреждением
"файл сессии пустой, вкладки будут потеряны, восстановить сессию из бэкапа?"
И предложить на выбор бэкапы сессий, может, со списком/количеством вкладок, (в том числе тех, в которых есть несохраненные изменения) датой-временем или какой другой дополнительной информацией.
main Alexey
Posts: 2402
Joined: 25.08.2021 18:15

Re: пара идей про сессии, ломающих совместимость

Post by main Alexey »

>чтобы отличать 'history session.json' от файла 'history.json', чтобы меньше путаницы было?
да, и чтобы все файлы сессий были легко находимы глазом.

вобщем, я сделал эти 2 идейки. будут в обновлении.
mix-7
Posts: 805
Joined: 11.05.2018 11:02

Re: пара идей про сессии, ломающих совместимость

Post by mix-7 »

ОК, спасибо!

А кейс с отсутствующим/пропавшим файлом 'history session.json'/'default.cuda-session'?
Если его нет, то warning msg-box.
main Alexey
Posts: 2402
Joined: 25.08.2021 18:15

Re: пара идей про сессии, ломающих совместимость

Post by main Alexey »

планирую это делать (на этой или след. неделе).
main Alexey
Posts: 2402
Joined: 25.08.2021 18:15

Re: Пара идей про сессии

Post by main Alexey »

взялся за это дело (юзать бекап сессии если файл сесии удален).
нарастил код.
можно пока что почитать логику кода тут:
https://github.com/Alexey-T/CudaText/bl ... .inc#L1117
c указанной строки где-то 20 строк.
завтра выложу бету для вас.
main Alexey
Posts: 2402
Joined: 25.08.2021 18:15

Re: Пара идей про сессии

Post by main Alexey »

бета:
https://github.com/Alexey-T/CudaText/di ... t-12673308

- как видно по коду, бекап всегда берется из <name>.1.cuda-session
- никаких вопросов юзеру, все делает Куд сама. или что-то спрашивать надо?
mix-7
Posts: 805
Joined: 11.05.2018 11:02

Re: Пара идей про сессии

Post by mix-7 »

> - никаких вопросов юзеру, все делает Куд сама. или что-то спрашивать надо?

Думаю, надо.
Пусть Куда сделает, но предупредит.

В CudaText 1.222.5.0, linux-x86_64-qt6, fpc 3.2.3
во время работы default.1.cuda-session
После завершения default.1.cuda-session
переименовывается в default.cuda-session,
откуда, видимо, и берется текущая информация.
При завершении (закрытии) Куды
default.1.cuda-session переименовывается зачем-то
в default.cuda-session
И резервной остается default.2.cuda-session

Пока по CudaText 1.222.5.0, linshutdown -P nowux-x86_64-qt6, fpc 3.2.3, бету скачал, еще не запускал.
Неудобно то, что вручную приходится переименовывать бэкап вместо клика.
Но и открывать сессию вместо редактирования без предупреждения тоже опасно.

Посмотрю, как в бете это реализовано.

Пока очень непонятно для CudaText 1.222.5.0, linux-x86_64-qt6, fpc 3.2.3
почему команда shutdown -P now вызывает потерю файла сессии,
и какой должна быть CLI команда отключения компьютера для безопасного завершения CudaText.

Возможно, shutdown -P now может повреждать данные и других программ?!
mix-7
Posts: 805
Joined: 11.05.2018 11:02

Re: Пара идей про сессии

Post by mix-7 »

> - как видно по коду, бекап всегда берется из <name>.1.cuda-session

В CudaText 1.222.5.0, linux-x86_64-qt6, fpc 3.2.3 при его завершении
default.1.cuda-session переименовывается в
default.cuda-session
main Alexey
Posts: 2402
Joined: 25.08.2021 18:15

Re: Пара идей про сессии

Post by main Alexey »

>почему команда shutdown -P now вызывает потерю файла сессии,
не хорошо, поищу как обработать сигнал SIGTERM.\
пока что SIGTERM вызывает аварийное завршение без сохр.истории.
Post Reply