Изменение Readme, правки файла конфига

This commit is contained in:
XeRo 2026-02-06 14:54:01 +05:00
parent 7523323239
commit 90282447eb
2 changed files with 22 additions and 9 deletions

View file

@ -166,7 +166,20 @@ used_protocol={{if .is_secure}}https:\\{{else}}http:\\{{end}}
- ctrl+c, ctrl+q - открывает [модальное окно](Readme.md#модальное-окно-подтверждения-выхода) подтверждения выхода
## Дополнительно, Важное
В текущей итерации не учтен ряд элементов. Это могут быть вопросы реализации, правил поведения приложения, удобство пользования.
В текущей итерации не учтен ряд элементов. Это могут быть вопросы реализации, правил поведения приложения, удобство пользования.
### Установка пакетов
Из-за вызова команд apt при уже выполняем вызове, возникает блокировка. По этой причине, если использовать GoSetup для настройки устанавливаемого apt пакета и будет вызвана функция установки необходимого пакета, то это приведет к блокировке базы APT. Следовательно, нужно определять вызов программы и ограничивать часть действий. Например, запускать программу с аргументом, значащим вызов во время установки, по его наличию запрещать установку пакета и выводить сообщение или же при его отсутствии устанавливать нужный пакет.
### Валидация
Сейчас валидация нужна для показания, что вводимое значение не отвечает правилами. Если пользователь намеренно или нет, проигнорирует ошибку поля, это может привести к ошибке настройки. Например, если введет имя пользователя русскими буквами или неподходящими символами, то при попытке выполнить команду, это приведет к ошибке действия. Требуется либо сделать запретить переход на следующую секцию при наличии ошибок валидации используемых полей, либо сделать это опциональным, в зависимости от правил.
### Смена секций
Изначально было 2 варианта вызова действий. Первый был основан на запуске всех действия после последней секции, в таком варианте, был допустим переход на прошлые секции и смена их значений. На последней секции можно было просмотреть все введенные данные, а после подтверждения запускались бы все действия. Второй вариант основна на запуске действия по секциям. После нажатия кнопки перехода запускались действия конкретной секции. Было решено остановится на втором варианте для упрощения настройки. При возникновении ошибки действий первых секций, настройка останавливается, если подобное произойдет в первом варианте, то весь процесс ввода данных требовалось бы повторять вновь.
Из-за этого не получись сделать функционал возврата к прошлым секциям, ведь это могло вызвать путаницу действий. Если от значений в секции 1 зависит секция 2 и 3 с разными, противоречащими друг другу действиями, то возврат на секцию 1 после действия секции 2 и изменении данных для секции 3, вызовет конфликт системы из-за действия секции 2.
### Внешний вид
Пока что не был определен единый стиль для программы. Цвета, границы, фон и прочее должен быть изменен для формирования единого стиля приложения.
### Секция About
Из-за ограничений терминала нельзя сделать разный размер текста. То есть идентификация какого уровня заголовок, первого или второго, с помощью разного размера невозможна. Это привод к ограничению стилей markdown для описания.
### Единый формат не стандартных значений
В данный момент есть обработка special-value и обработка compute. Они используются для получения значений, которые не предусмотрены для ввода напрямую или же сложны в расчете самостоятельно. Для special-value сейчас есть одна обработка code:users, её результат это массив строк пользователей системы, чей uid больше или равны 1000. Эта обработка сделана для установки как значения уже сущетсвующего пользователя. Подобная обработка одна на всю систему, для целесообразности special-value нужны другие варианты использования, иначе придется переформировать её расчет через compute.
## Собственные функции для expr
Библиотека [expr](https://github.com/expr-lang/expr) имеет ряд готовых функций их можно просмотреть [здесь](https://github.com/expr-lang/expr/blob/master/builtin/builtin.go). Также для были определенны собственные функции, которые можно посмотреть в файле [здесь](setup/utils/utils.go#L153)