- Реализована перестановка панелей только при отпускании кнопки мыши
- Исправлен алгоритм swapPanels для корректной работы с любыми панелями
- Устранена ошибка TypeError при обращении к classList
- Добавлено подробное логирование для отладки
- Улучшена визуальная обратная связь с анимацией перестановки
- Панели теперь меняются местами без сдвига остальных элементов
Автор: Сергей Антропов
Сайт: https://devops.org.ru
- Добавлена поддержка LOG: логов PostgreSQL как INFO уровень (зеленый цвет)
- Добавлена поддержка FATAL: логов PostgreSQL как ERROR уровень (красный цвет)
- Исправлена классификация логов в формате [номер] LOG: и [номер] FATAL:
- Убраны отладочные console.log сообщения
- Обновлены Dockerfile и docker-compose.yml
- Перемещен start.sh в папку app/
Автор: Сергей Антропов
Сайт: https://devops.org.ru
- Replace multiple COPY commands with single COPY ./app /app
- Simplifies Dockerfile and reduces complexity
- Ensures all app files are copied correctly
- Fix Jinja2Templates directory path to use absolute path /app/templates
- Fix INDEX_HTML path to use absolute path /app/templates/index.html
- Ensure templates are found correctly in Docker container
- Fix static files not loading due to volume mount conflict
- Remove problematic volume mount from docker-compose.yml
- Add __init__.py files to make Python packages
- Fix all import statements to use relative imports
- Update start.sh to use correct module name
- Update config.py with correct default paths and values
- Ensure all environment variables are properly loaded from .env file
- Replace environment section in docker-compose.yml with env_file directive
- Add all missing environment variables to config.py
- Update env.example with proper variable definitions
- Create .env file from env.example
- Ensure all variables are properly loaded from .env file
- Fixed Docker permissions issue by running as root user
- Added DEBUG_MODE support with conditional Swagger docs and auto-reload
- Created start.sh script for conditional Uvicorn execution
- Removed verbose debug logs from WebSocket status endpoint
- Added comprehensive screenshots to documentation
- Enhanced help tooltip with full-screen modal design
- Added theme switcher to error page
- Updated documentation with local development and Docker benefits
- Fixed WebSocket status display issues
- Improved hotkey functionality and documentation
- Added detailed project descriptions for local dev and Docker users
Technical improvements:
- Dockerfile: removed appuser switch, simplified permissions
- docker-compose.yml: kept user: 0:0 for Docker socket access
- app.py: removed debug prints, added DEBUG_MODE support
- templates: enhanced UI/UX with better tooltips and themes
- docs: comprehensive updates with new screenshots and descriptions
- Создан основной README.md с описанием проекта
- Добавлена подробная документация в папке docs/
- Создан файл LICENSE (MIT)
- Обновлен .gitignore
- Добавлена документация по безопасности с генерацией ключей
- Включены примеры конфигураций и устранение неполадок
Автор: Сергей Антропов
Сайт: https://devops.org.ru
- Удалена старая документация с эмодзи
- Создана новая техническая документация на русском языке
- Добавлены подробные руководства:
* README.md - обзор проекта
* docs/installation.md - установка и настройка
* docs/configuration.md - конфигурация
* docs/api.md - API документация
* docs/management.md - управление проектом
* docs/security.md - безопасность
* docs/troubleshooting.md - устранение неполадок
- Обновлены конфигурационные файлы
- Улучшена структура проекта
Автор: Сергей Антропов
Сайт: https://devops.org.ru
- Добавлена кнопка Update для управления AJAX auto-update
- AJAX auto-update включен по умолчанию
- Улучшено управление видимостью кнопки Refresh
- Переупорядочены кнопки в header (Update, Refresh)
- Унифицированы стили кнопок (высота, шрифт, границы)
- Добавлен hover эффект для кнопки options с цветом warning
- Позиционирование help-btn в свернутом sidebar
- Уменьшена ширина свернутого sidebar на 30%
- Добавлена логика разворачивания sidebar при клике на options
- Отображение внешнего порта в статусе контейнера
- Показ 'standalone' для контейнеров без проекта
- Обновлена документация
Автор: Сергей Антропов
Сайт: https://devops.org.ru
Основные изменения:
- Добавлено AJAX обновление логов с чекбоксом 'Auto-update logs'
- Добавлена опция 'All logs' в выпадающий список tail lines
- Исправлено отображение длинных названий контейнеров в multi-view режиме
- Восстановлена загрузка истории логов при включенном AJAX обновлении
Новые функции:
- Чекбокс 'Auto-update logs' в секции Options (включен по умолчанию)
- Настройка интервала обновления через LOGBOARD_AJAX_UPDATE_INTERVAL
- API эндпоинт /api/settings для получения настроек приложения
- Поддержка параметра tail=all для загрузки всех логов
- Автоматический запуск AJAX обновления при включении чекбокса
Исправления UI:
- Кнопки LogLevels не уезжают вправо при длинных названиях контейнеров
- Добавлено обрезание длинных названий с многоточием
- Фиксированная высота заголовков в multi-view режиме
- Защита от сжатия кнопок LogLevels
Тестирование:
- Добавлены тесты для AJAX обновления (test_ajax_update.py)
- Тест multi-view AJAX обновления (test_multi_view_ajax.py)
- Тест опции 'all logs' (test_all_logs.py)
- Тест отображения длинных названий (test_multi_view_layout.py)
- Команды make test-ajax, make test-multi-view-ajax, make test-all-logs, make test-multi-view-layout
Документация:
- Создана подробная документация AJAX обновления (app/docs/ajax-update.md)
- Обновлен CHANGELOG.md с версиями 1.3.0, 1.5.0, 1.6.0
- Обновлен README.md с описанием новых функций
Автор: Сергей Антропов
Сайт: https://devops.org.ru
- Универсальное исправление скролла для всех контейнеров в Multi View режиме
- Более специфичные CSS селекторы для предотвращения влияния на другие элементы
- Исправление проблемы с wrap text в options
- Добавление вызовов applyWrapSettings() в ключевых местах
- Обновление документации с описанием всех исправлений
- Добавление CHANGELOG.md и SCROLL_FIX_SUMMARY.md
- Добавление документации в app/docs/
- Добавлены функции saveLogLevelsState() и getLogLevelsStateFromStorage()
- Сохранение состояния при кликах по кнопкам loglevels
- Восстановление состояния при инициализации кнопок
- Сохранение настроек для Single View и Multi View режимов
- Индивидуальные настройки фильтрации для каждого контейнера
- Автоматическое восстановление настроек после обновления страницы
Автор: Сергей Антропов
Сайт: https://devops.org.ru
- Добавлены кнопки LogLevels в заголовки контейнеров
- Реализована индивидуальная фильтрация логов для каждого контейнера в multi-view режиме
- Исправлена проблема с потерей цветов при фильтрации логов
- Добавлена статистика по уровням логирования для каждого контейнера
- Кнопки показывают количество логов каждого уровня
- Каждый контейнер может иметь свои настройки фильтрации уровней
- Сохранена цветовая схема при переключении уровней логирования
- Добавлен красивый контейнер для Single View аналогично Multi View
- Добавлен заголовок с названием контейнера в Single View
- Скрыт multi-view-panel в Single View режиме
- Добавлена равная высота панелей в Multi View при 3+ окнах
- Обновлены стили и JavaScript функции для корректной работы
- Навигация по контейнерам: [ ] и Ctrl + стрелки
- Переключение темы: Ctrl + T
- Управление формами: Enter для отправки
- Описаны условия работы горячих клавиш
- Добавлено полное описание всех возможностей LogBoard+
- Подробная документация по установке и настройке
- Описание API endpoints и WebSocket соединений
- Инструкции по развертыванию в продакшне
- Примеры конфигурации для Docker Swarm и Kubernetes
- Документация по безопасности и мониторингу
- Описание режимов Single View и Multi View
- Руководство по разработке и отладке
- Исправлена функция sendSnapshot для создания отдельных файлов в Multi View режиме
- Исправлена функция fetchServices для корректной работы кнопки Refresh в Multi View режиме
- Улучшена функция refreshLogsAndCounters для лучшей работы с Multi View
- Добавлена поддержка Multi View режима в обработчики кнопок
- Добавлена кнопка OTHER в LogLevels для неклассифицированных логов
- Созданы красивые страницы ошибок с поддержкой темной/светлой темы
- Добавлены обработчики для ошибок 401, 403, 404, 500
- Реализована безопасность: убраны детали ошибок из пользовательского интерфейса
- Кнопка 'Войти в систему' показывается только на странице ошибки 403
- На странице 403 убран error-message, оставлен только auth-notice
- Обновлены счетчики логов для поддержки уровня OTHER
- Добавлены тестовые маршруты для проверки страниц ошибок
- Улучшен UX: адаптивный дизайн, интерактивность, навигация
Автор: Сергей Антропов
Сайт: https://devops.org.ru
- Удален Basic Auth, заменен на современную JWT авторизацию
- Добавлена страница входа с красивым интерфейсом
- Обновлен фронтенд для работы с JWT токенами
- Добавлены новые зависимости: PyJWT, passlib[bcrypt], jinja2
- Создан тестовый скрипт для проверки авторизации
- Добавлено руководство по миграции
- Обновлена документация и README
- Улучшен дизайн поля ввода пароля на странице входа
Автор: Сергей Антропов
Сайт: https://devops.org.ru
- Радикально переработаны функции очистки пустых строк
- Удалены переносы строк из HTML-шаблонов логов
- Добавлены CSS стили для правильного отображения элементов .line
- Увеличена частота периодической очистки до 2 секунд
- Добавлена агрессивная очистка во всех ключевых точках приложения
- Улучшена логика определения типа элемента для правильной очистки
Автор: Сергей Антропов
Сайт: https://devops.org.ru
- Убраны фразы 'Connected to container: frontend-iaas' из single view
- Исправлен пересчет счетчиков LogLevels с учетом параметра Tail Lines
- Добавлена функция recalculateMultiViewCounters() для корректной работы счетчиков в MultiView
- Счетчики теперь считают только отображаемые логи с учетом фильтров и Tail Lines
- Обновлены все обработчики событий для корректного пересчета счетчиков в обоих режимах
- Добавлено сохранение выбранного контейнера в localStorage при переключении из multi view в single view
- Реализовано полное обновление страницы для корректного отображения логов
- Добавлено восстановление состояния выбранного контейнера при загрузке страницы
- Исправлена проблема, когда логи не отображались при переключении режимов просмотра
Теперь при снятии галочек с контейнеров в multi view до одного контейнера,
приложение автоматически переключается в single view с корректным отображением логов.
- Добавлена инициализация счетчиков в openMultiViewWs
- Исправлена обработка входящих сообщений WebSocket
- Добавлена отладочная информация для диагностики
- Парсер теперь работает сразу при переключении в multiview
- Улучшена обработка ошибок и проверки объектов
Автор: Сергей Антропов
Сайт: https://devops.org.ru
- Исправлена фильтрация логов по уровням (INFO, DEBUG, WARN, ERROR)
- Добавлено отображение log levels в две строки по два элемента
- Добавлено отображение Options в две строки по два элемента
- Добавлено отображение Actions в две строки по две кнопки
- Исправлена кнопка Refresh - теперь перезапускает WebSocket соединение
- Изменен индикатор WebSocket состояния на кнопку с подсветкой фона
- Убрана надпись 'Modern Log Viewer' из заголовка и интерфейса
- Улучшена логика фильтрации в реальном времени
- Автор: Сергей Антропов (https://devops.org.ru)
- Добавлена кнопка выхода (sign-out-alt) в заголовок сайдбара
- Цветовая индикация состояния WebSocket: зеленый (on), красный (off), желтый (err)
- Удалена кнопка минимизации, оставлена только кнопка Options
- Кнопка Options по умолчанию свернута (настройки скрыты)
- Добавлено подтверждение при выходе
- Очистка localStorage при выходе
- Улучшенный дизайн кнопок с hover эффектами
- Максимальное пространство для списка контейнеров по умолчанию
Автор: Сергей Антропов
Сайт: https://devops.org.ru
- Добавлена кнопка Options (шестеренка) в заголовок сайдбара
- Кнопка полностью скрывает/показывает все секции настроек
- Сохранение состояния скрытия в localStorage
- Визуальная индикация активного состояния кнопки
- Максимальное освобождение места для списка контейнеров
- Улучшенный дизайн заголовка с группировкой кнопок
- Интуитивные подсказки для кнопок
Автор: Сергей Антропов
Сайт: https://devops.org.ru
- Кнопка 'свернуть все' теперь минимизирует секции до минимальной высоты
- Добавлено состояние 'minimized' для полного сворачивания
- Секции становятся тонкими полосками с заголовками
- Максимальное освобождение места для списка контейнеров
- Сохранение состояния минимизации в localStorage
- Улучшенная логика переключения между состояниями
- Оптимизированный CSS для минималистичного отображения
Автор: Сергей Антропов
Сайт: https://devops.org.ru
- Все секции теперь свернуты по умолчанию при первом запуске
- Добавлена кнопка минимизации всех секций в заголовке сайдбара
- Кнопка переключается между 'свернуть все' и 'развернуть все'
- Сохранение состояния всех секций в localStorage
- Улучшен дизайн заголовка сайдбара с flexbox
- Добавлены hover эффекты для кнопки минимизации
- Оптимизирован интерфейс для максимального пространства для списка контейнеров
Автор: Сергей Антропов
Сайт: https://devops.org.ru
- Добавлены сворачиваемые секции для всех групп контролов
- Добавлены кнопки сворачивания с иконками
- Сохранение состояния секций в localStorage
- Исправлена проблема с LogLevels - добавлена буферизация всех логов
- Логи теперь восстанавливаются при включении уровней обратно
- Улучшен CSS для сворачиваемых секций с анимациями
- Добавлены hover эффекты для заголовков секций
- Оптимизирована производительность фильтрации
Автор: Сергей Антропов
Сайт: https://devops.org.ru
- Исправлено обновление логов в реальном времени при изменении уровней логирования
- Добавлена функция refreshAllLogs для фильтрации логов
- Исправлены кнопки Options (autoscroll, wrap, pause)
- Исправлены фильтры с обновлением в реальном времени
- Исправлены кнопки Refresh и Clear
- Исправлен Snapshot - теперь сохраняет актуальные логи
- Добавлены обработчики для всех элементов управления
- Улучшена синхронизация между legacy и современным интерфейсом
- Добавлено логирование для отладки
Автор: Сергей Антропов
Сайт: https://devops.org.ru
- Добавлены проверки на null для отсутствующих элементов
- Исправлена ошибка 'Cannot set properties of null'
- Добавлено логирование для отладки загрузки проектов и сервисов
- Улучшена обработка ошибок в fetchProjects и fetchServices
- Исправлена работа с layoutBadge, aggregate и groupBtn
- Добавлены проверки существования элементов перед их использованием
Автор: Сергей Антропов
Сайт: https://devops.org.ru
- Полностью переработан дизайн интерфейса
- Добавлено боковое меню слева с контролами
- Область логов перемещена вправо
- Добавлены иконки Font Awesome
- Современный CSS с переменными и анимациями
- Адаптивный дизайн для мобильных устройств
- Улучшенная навигация по контейнерам
- Современные кнопки и элементы управления
- Поддержка темной и светлой темы
- Индикаторы статуса контейнеров
Автор: Сергей Антропов
Сайт: https://devops.org.ru