# Changelog ## [1.6.0] - 2024-12-19 ### Исправлено - **Отображение длинных названий контейнеров в multi-view режиме:** - Исправлена проблема с уезжающими вправо кнопками LogLevels при длинных названиях - Добавлено обрезание длинных названий с многоточием (text-overflow: ellipsis) - Установлена фиксированная высота заголовков (min-height: 40px) - Добавлена защита от сжатия кнопок LogLevels (flex-shrink: 0) - Новый тест `test-multi-view-layout` для проверки отображения ## [1.5.0] - 2024-12-19 ### Добавлено - **Опция "All logs" в AJAX обновлении:** - Добавлена опция "All logs" в выпадающий список tail lines - Возможность загружать все доступные логи контейнера через AJAX - Поддержка параметра `tail=all` в API эндпоинте `/api/logs/{container_id}` - Новый тест `test-all-logs` для проверки функциональности ## [1.3.0] - 2024-12-19 ### Добавлено - **Улучшенное AJAX обновление логов:** - Чекбокс "Auto-update logs" в секции Options (включен по умолчанию) - Настройка интервала обновления через переменную окружения `LOGBOARD_AJAX_UPDATE_INTERVAL` - Автоматический запуск обновления при включении чекбокса - Новый API эндпоинт `/api/settings` для получения настроек приложения - Упрощенный интерфейс управления (убрана кнопка, добавлен чекбокс) ## [1.2.0] - 2024-12-19 ### Добавлено - **AJAX обновление логов:** - Новый API эндпоинт `/api/logs/{container_id}` для получения логов через AJAX - Периодическое обновление логов с настраиваемым интервалом (1с, 2с, 5с, 10с, 30с) - Умное сравнение и добавление только новых логов - Кнопка "Запустить AJAX" / "Остановить AJAX" в панели Actions - Автоматическое обновление счетчиков и применение фильтров - Остановка AJAX обновления при смене контейнера или режима просмотра - **API эндпоинты:** - `GET /api/logs/{container_id}` - получение логов с поддержкой параметров `tail` и `since` - Возвращает структурированные данные с временными метками и метаданными контейнера - Поддержка фильтрации по времени для получения только новых логов - **Тестирование:** - Скрипт `app/scripts/test_ajax_update.py` для тестирования AJAX функциональности - Команда `make test-ajax` для запуска тестов - Тестирование производительности и корректности работы API - **Документация:** - Подробная документация в `app/docs/ajax-update.md` - Описание API эндпоинтов с примерами запросов и ответов - JavaScript API для управления AJAX обновлением ### Технические детали - Реализована функция `performAjaxLogUpdate()` для выполнения AJAX запросов - Функция `appendNewLogs()` для добавления новых логов в DOM - Управление состоянием через глобальные переменные `ajaxUpdateEnabled`, `lastLogTimestamp` - Интеграция с существующими функциями фильтрации и подсчета логов - Обработка ошибок без остановки обновления ### Преимущества - Низкая нагрузка на сервер (только новые логи) - Надежность HTTP архитектуры без WebSocket сложностей - Гибкость настройки интервала обновления - Совместимость с существующими фильтрами и счетчиками ## [1.1.0] - 2024-12-19 ### Добавлено - **Горячие клавиши для обновления логов:** - `Ctrl+R` - обновить логи в Single и Multi View режимах - `Ctrl+K` - альтернативная комбинация для обновления логов - `Ctrl+B` - сворачивание/разворачивание sidebar панели - **Функциональность сворачивания sidebar и header:** - Кнопка сворачивания на границе sidebar и основного контента - Расположение посередине экрана по высоте - Плавная анимация сворачивания/разворачивания - Сохранение состояния в localStorage - Уменьшение ширины sidebar до 60px в свернутом состоянии - Логотип LogBoard+ в свернутом sidebar (в самом верху) - Header сворачивается в тонкую полоску 40px с компактными элементами управления - Кнопка помощи в свернутом sidebar для открытия модального окна с горячими клавишами - **Улучшения пользовательского интерфейса:** - Модальное окно с полным списком горячих клавиш - Компактный header в свернутом состоянии с фильтром и счетчиками - Кнопка помощи в свернутом sidebar - Адаптивный дизайн для мобильных устройств ### Технические детали - Добавлены обработчики событий клавиатуры с проверкой фокуса в полях ввода - Реализована функция `toggleSidebar()` для управления состоянием sidebar - Добавлена функция `showHotkeysNotification()` для показа подсказок - CSS анимации для плавных переходов - Сохранение пользовательских настроек в localStorage - Логотип отображается в самом верху свернутого sidebar ### Совместимость - Все существующие функции сохранены - Обратная совместимость с предыдущими версиями - Поддержка как Single View, так и Multi View режимов ### Автор Сергей Антропов - https://devops.org.ru