feat: add docs

This commit is contained in:
semenov
2024-12-25 15:10:30 +03:00
parent bf7b0ac741
commit 82696209dd
23 changed files with 2732 additions and 0 deletions

View File

@@ -0,0 +1,306 @@
---
kanban-plugin: board
---
## backLog
## bugs
## feature client Unity
- [ ] отправлять сигнал на пересчет хэша с саб частью
## feature client QT
- [ ] Иерархия проекта - папка application, папка updater и линк на основной экзешник
- [ ] на старте все мониторы должны быть активны
- [ ] Нужен ли дополнительный выбор для загрузки с мат моделью или нет?
- [ ] при создании копии переключение сервера и переключения клиента
## feature server
- [ ] Прибраться в Server
- [ ] рефакторинг
## NOW
- [ ] добавить автоматическое выключение после создания копии
## Complete
- [ ] запрет на удаление base
- [ ] None hash
- [ ] сверстать окно создания новой версии
- [ ] не работает переключения языка
- [ ] УСТАНОВЛЕНА ПОСЛЕДНЯЯ ВЕРСИЯ , ОБНОВИТЬ НЕ ПРОПАДАЕТ
- [ ] QTServer: хранение версий + информации о них
- [ ] избавится от доп окна на панели при открытии выгрузки
- [ ] проверять является ли версия данных изменяемой, если да. то функционал изменения доступен
- [ ] Прочитать версию
- [ ] как сделать ожидание от сервера
- [ ] Для создания изменяемой версии в streaming assets для добавления каких либо данных
НА КЛИЕНТЕ СЕРВЕРА
- [ ] текущая версия sharedData сохраняется в Settings
- [ ] Создание экземпляра версии даты НА КЛИЕНТЕ СЕРВЕРА
- [ ] Показывать версию клиента и сервера у I
- [ ] показывать версию сервера у O
- [ ] неверный логин не возвращает логин окно
- [ ] ДОБАВИТЬ УВЕДОМЛЕНИЕ О УДАЛЕНИИ
- [ ] сформировать путь для сервера в зависимости от выбранной версии
- [ ] При подключении и если версия данных изменена, все удаляется и загружается то, что нужно
- [ ] Версионирование Streaming assets
- [ ] При создании изменяемой версии создается копия Эталона, присваивается имя - ключ
НА КЛИЕНТЕ СЕРВЕРА
- [ ] На КЛИЕНТЕ КЛИЕНТА указывать текущую версию данных
- [ ] разделить билд и проект в гите
- [ ] QTServer: разделить загрузку streamingAssets и основного билда
- [ ] придумать, когда вызывать streaming hash
- [ ] QTClient: отображение доступных версий с указанием информации(тип, название создателя, дата?)
- [ ] QT Server: очистка хэша при каждом запуске сервер
- [ ] QTServer: выдача доступных версий streamingAssets
- [ ] QTClient: запрос доступных версий на сервере
- [ ] крутилку во время загрузки
- [ ] Разделить билд и проект в гите
- [ ] QT Client: кнопка изменить версию
- [ ] Криво работает восстановление из файла
- [ ] Криво работает отправка
- [ ] Баг с отображением слайдера в самом начале
- [ ] ИЗМЕНИТЬ С CONTAINS НА EQUAL ПРОВЕРКА НА ПАПКУ TEMP
- [ ] Должен быть запуск в изоляции (запуск с неавторизованным пользователем)
- [ ] добавить галку на монитов в выбранном состоянии
- [ ] слайдер заменяем на кнопку обновить или запуск или слайдер в зависимости от состояния
- [ ] при потери соединения не отключается кнопка запуск
- [ ] Не работает анимации загрузки
- [ ] сделать рамку для фона списка действий
- [ ] Увеличить текст заголовка
- [ ] иконка запуска всегда в правом нижнем углу
- [ ] список сделать светлее
- [ ] Изменить текст на выгрузить изменения
- [ ] Крестик выхода сделать побольше
- [ ] На основном окне должен быть только крест
- [ ] исправить ссылка на список в скобках
- [ ] 3 кнопки Загрузить на сервер, Отменить изменения, запустить с Текущими изменениями
- [ ] При нажатии на загрузить на сервер, появляется стандартный слайдер + кнопка запуск
- [ ] При наличии инструкторских файлов:
* Вывести текст с возможными операциями: "Есть изменения в локальных файлах ( тут надпись Список файл с гиперссылкой на диалоговое окно)
* Также в этом тексте указать: " Возможные действия 1. Загрузить изменения на сервер 2. Отменить изменения с загрузкой версии с сервера 3. Запустить с текущими изменениями"
- [ ] Если нет соединения, убираем поле для входа
- [ ] При различных операциях блокировать кнопку запуск
- [ ] Запуск в автономном режиме всегда
- [ ] При отсутствии соединения с сервером показывать сообщение: "Связь с сервером не установлена проверьте настройки или запустите в автономном режиме"
- [ ] Кнопка запуска в автономном режиме, чтобы была возможность при наличии подключения входить без логина
- [ ] Кнопка настройки в шестеренку убрать
- [ ] Кнопка соединиться - не нужна
- [ ] Выбор монитора должен быть всегда
- [ ] Кнопки обновление и автозапуск убираем, если нет обновлений
- [ ] Полоску покрасить в общий стиль приложения
- [ ] Возможность выбора языка только до логина
- [ ] Картинка - не прямоугольник, а изображения монитора
- [ ] Сделать мониторы поменьше и их должно вмещаться до 5 штук
- [ ] подсмотреть стили из проекта Linker
- [ ] При нажатии на Enter и заполненных полях должен происходить вход
- [ ] Уменьшить дистанцию от наименования, расстояния
- [ ] Изменить Язык на Язык/Language
- [ ] Фон из RRJ в Unity
- [ ] Прибратся в Unity проекте
- [ ] Написать Апи к Unity функциям по отправке файлов и различных пакетов
- [ ] клиент Unity должен уметь отправлять все обновления из streaming assets?
- [ ] обсервер файлов которые были изменены
- [ ] Загрузчик файлов друг за другом
- [ ] Загрузчик папок
- [ ] Рандомный создатель папок
- [ ] Добавить рандомный номер для файла который рандомно создается
- [ ] таск переименовать в ClientTask и проверить
- [ ] Список созданных файлов
- [ ] слайдер прогресса загрузки?
- [ ] доп диалоговое окно после окончания загрузки
- [ ] Показывать дополнительно окно с файлами для обновления
- [ ] отправлять файлы на сервер
- [ ] Показывать окно обновления если залогинился инструктор
- [ ] после загрузки новой версии на сервер, обновление прилетает только со второго раза
- [ ] серверхэш не обновился после загрузки новых файлов
- [ ] вернуть реакцию на заблокированный сервер
- [ ] SEND FILE BLOCK неверный адрес
- [ ] hash вернуть в темп и именовать по разному. client и server
- [ ] Сравнение серверного и локального хэша
- [ ] Запрос файла на сервере
- [ ] решить startTransaction
- [ ] проверить нужен ли connected client
- [ ] перенести UpdateController в отдельный тред
- [ ] Вытащить всевозможные логи в логгер
- [ ] Иногда при отключении клиента, выключается сервер
- [ ] иногда пропадает логгер при отключении клиента
- [ ] выводить в логгер имя отправляемого файла
- [ ] ГДЕ ТО ТАЙМЕР ЗАКРАЛСЯ НЕ В ПОТОКЕ
- [ ] При перезагрузке сервера нужно научится определять какой тип клиента подключен
- [ ] QT Клиент: пофиксить another thread
- [ ] При спаме выполнения задачи происходит вылет
- [ ] сервер после загрузки на него чего либо, не обновляет хэш
- [ ] QT Клиент: разобраться с генерацией файла пути
- [ ] Проверить работоспособность при остановке сервера через кнопку
- [ ] при выключении сервера выкидывать на окно логина с ошибкой соединения
- [ ] Клиент после обновления не пересчитывает кэш
- [ ] Показывать только дельту файлов - клиент - сервер
- [ ] Многопоточная загрузка
- [ ] Сервер отправить в отдельный поток
- [ ] Сервер отправляет callback о отключении
- [ ] Unity: после отправки файла заново не входит под логином
- [ ] Ломается загрузка окон после включения старых окон
- [ ] Выделить систему логгирования в сервис
- [ ] полный перевод функционала в LMS
- [ ] не читает хэш
- [ ] Unity: проверять подключение после загрузки файлов
- [ ] рефакторинг
- [ ] удалять временный xml файл при каждом выходе из Unity взаимодействии
- [ ] вынести пути в tools
- [ ] Слишком долгая загрузка после переподключения
- [ ] вынести пути в tools
- [ ] попробовать упаковать последнюю версию с автозагрузчиком
- [ ] рефакторинг
- [ ] Упаковать на сервер клиент сырец с загрузчиком файлов
- [ ] не переподключается Unity клиент после отправки файла
- [ ] неверно считается путь silentLoader
- [ ] Добавить сохранение выбранных настроек: язык + автозапуск
- [ ] подсмотреть перевод с сервера
- [ ] механика смены языка
- [ ] QT: при нажатии на кнопку выхода отправлять уведомление о отключении
- [ ] сообщение под полоской загрузки менять на успешно обновлено после окончания загрузки
- [ ] выбор монитора после login
- [ ] Галка с языком
- [ ] обновление автоматом после login
- [ ] QT: галка автозапуск после обновления
- [ ] Клиент: повторное подключение при нажатии сохранить, если подключен, не коннектить
- [ ] НУЛЕВОЕ ОБНОВЛЕНИЕ
- [ ] переключение на юнити режим и нет для клиентов
- [ ] Научится принимать QDataStream с QT на c#
- [ ] Добавить количество файлов для обновления
- [ ] Переделать на килобайты
- [ ] Неправильно работает анимация загрузки
- [ ] CalculateHash надписи дублируются
- [ ] Обновление с клиента на сервер
- [ ] протестировать: первичная закачка, докачка с Unity, обновление
- [ ] не показывет количество байтов для обновления
- [ ] enum в байткод
- [ ] сервер должен присылать callback в стандартном формате
- [ ] CLIENT: проверить восстановление файлов, кажется что то работает не так
- [ ] Кнопка запуска, выключает текущее приложение и открывает основное
- [ ] CLIENT: Запрет на выключение нулевого монитора
- [ ] CLIENT: Display должен генерироваться при первой инициализации
- [ ] Запуск с второй сцены и логином
- [ ] уведомление о том, что нет подключение с появление кнопки соединится
- [ ] генерация кнопок в виде мониторов
- [ ] понять какие данные нужны для мониторов
- [ ] Окно с настройкой подключения к серверу
- [ ] Таймер на отключение уведомления о неверном логине
- [ ] обновление и запуск доступны только после успешного входа
- [ ] количество байтов для загрузки формируется после проверки недостающих файлов
- [ ] Вывод количества байт для обновления
- [ ] Отправка количества байт для обновления, вместне с NeedUpdates
- [ ] добавить текстовую анимацию о том, что происходит
- [ ] сброс отправки в случае, если сокет отключился
- [ ] записать все необходимые данные для запуска в единый xml файл
- [ ] Клиент должен как то передавать информацию о подключении (ЛОГИН, ПАРОЛЬ, СЕРВЕР, ПОРТ)
- [ ] кто-то имеет дополнительный доступ к потоку данных
- [ ] найти способ сброса потока и сокета, если сервер внезапно выключился
- [ ] чекать количество мониторов
- [ ] при досрочном выключении сервера все зависает
- [ ] при нажатии на сохранить после подключение все зависает
- [ ] вывести загрузку в отдельный поток
- [ ] Callback если сервер вырубился во время обновления
- [ ] Добавить View UI от QT
- [ ] Кнопка запуска
- [ ] Поробовать запустить программу из "Клиента"
- [ ] СЕРВЕР повторная проверка после обновления работает не корректно
- [ ] слайдер обновления
- [ ] Окно с вводом логина и пароля
- [ ] Кнопка обновление
- [ ] Вынести пути и наименования файлов в константы
- [ ] добавить обсчет хэша больших файлов
- [ ] Убраться в коде клиента, сделать схожие схемы подключения и парсинга
- [ ] Вынести пути и наименования файлов в константы
- [ ] КЛИЕНТ повторная проверка после обновления работает не корректно
- [ ] хэш большого количеств записей не видится
- [ ] КЛИЕНТ После обновления обновлять хэш
- [ ] waitReadyToRead делает слишком долгое ожидание
- [ ] СЕРВЕР Прибраться в коде
- [ ] Удаление папок, которых нет на сервере
- [ ] Попробовать собрать сервер как библиотеку
- [ ] обсчет хэша по команде
- [ ] Восстановление по кэшу
- [ ] копирование вместе с директориями
- [ ] При повторном запросе на update предыдущий список не обновляется
- [ ] перед копирование сформировать необходимые директории
- [ ] скрыть все лишние логи
- [ ] Не обновлять те файлы, которые уже есть
- [ ] Разобраться с хранением данных о текущих файлах
- [ ] отправлять клиенту расхождения
- [ ] Удаление файлов, схожих с тем что уже есть
- [ ] сравнить суммы и локальные позиции
- [ ] при ответе с файлами, заменить/добавить необходимые файлы
- [ ] разделение принимаемах байтов по пакетам
- [ ] разделение принимаемых байтов по пакетам
- [ ] выслать недостащие файлы побайтово
- [ ] Дать ответ с расхождениями
- [ ] определить где хранить файлы внутри сервера
- [ ] определить, где хранить файлы внутри клиента
- [ ] при отправке check следом отправляется список хэшсум с файлами клиента
- [ ] дважды присылается путь до папки
- [ ] Распарсить ответ от клиента
- [ ] не читаются объекты из XML
## BUGFIX Complete
- [ ] Клиент QT выводить инфу если клиент не подключен
- [ ] Клиент QT не подключатся повторно, если соединение уже установлено
- [ ] Клиент QT Неправильное отображение количества загруженных файлов
- [ ] Неверный путь отправления папок
- [ ] Вываливается при отключении клиента во время загрузки обновления
- [ ] неправильно считается хэш, так как наслаиваются файлы
- [ ] не работает полоска обновления при докачивании
- [ ] Не работает нотификация о том, что сервер не работает при первичном подключении клиента
- [ ] сервер начал замерзать при загрузке файлов
- [ ] долгий Callback после соединения
- [ ] не работает получение заданий
- [ ] Не работает отправка сообщений
- [ ] протестировать перезапуск клиента во время скачивания
- [ ] протестировать перезапуск клиента
- [ ] Протестировать перезапуск сервера
- [ ] Не показываются клиенты, которые залогинились
- [ ] SILENT НЕ ЗАВЕРШАЕТСЯ НА САМОМ ДЕЛЕ
- [ ] криво работает переподключение клиентов после отправки файла
- [ ] QT клиент - залогинился, вышел, залоинился снова, обновление списка обновления не работает
## Cancel
- [ ] разделения на серверное и GUI приложение
- [ ] gui thread должен жить один
- [ ] подготовить фасад для ui сервера
- [ ] Написать Апи к Сервер функция
- [ ] Как отлавливать жесткий FAULT с выключением [решение](https://forum.qt.io/topic/106354/how-to-catch-segmentation-fault)
- [ ] Скейлить окно относительно разрешения
- [ ] Перенести кэшер в отдельный поток
- [ ] нотификация о входе как в Unity
- [ ] Попробовать в многопоточку коннектить клиентов
- [ ] Sender попробовать соединить для клиента и сервера
- [ ] Recognize system сделать одинаковым как для клиента так и для сервера. Функционал соединить
%% kanban:settings
```
{"kanban-plugin":"board","list-collapse":[false,false,false,false,false,false,false,false,false],"lane-width":200}
```
%%