Skip to content

Releases: OpenIPC/dashboard

2.7.8

25 Jul 14:44
Compare
Choose a tag to compare

Этот релиз включает в себя кардинальную переработку интерфейса, внедрение мощных функций видеоаналитики на базе YOLOv8, улучшенное воспроизведение аудио и множество исправлений, направленных на повышение стабильности и производительности.
🎉 Главное в релизе: Переработка интерфейса и система вкладок
Мы полностью переосмыслили способ взаимодействия с камерами, отказавшись от статичной сетки в пользу гибкого интерфейса с вкладками.
Система вкладок для раскладок: Создавайте неограниченное количество раскладок («Офис», «Дом», «Склад») и переключайтесь между ними, как в браузере.
Полное управление раскладками:
➕ Создание на лету: Нажмите «+» рядом с вкладками, чтобы мгновенно создать новую пустую раскладку.
✏️ Переименование и удаление: Управляйте раскладками через удобные кнопки на панели инструментов.
🖱️ Drag-and-Drop: Меняйте порядок вкладок простым перетаскиванием.
Улучшенный дизайн: Вкладки и дочерние окна (файловый менеджер, SSH) получили современный, единый стиль без рамок, улучшающий навигацию и внешний вид.
Автоматическая миграция: Приложение само обновит ваш старый файл конфигурации до нового формата, сохранив все камеры и настройки.
✨ Новые возможности
🔊 Воспроизведение звука в реальном времени
Прослушивание в сетке: Включайте звук с камер прямо в окне мониторинга с помощью новой кнопки на ячейке.
Один активный поток: Звук может быть активен только на одной камере одновременно, чтобы избежать какофонии. При выборе другой камеры звук автоматически переключается на неё.
🧠 Видеоаналитика на базе YOLOv8 и запись по событиям
Движок обновлен до YOLOv8: Переход на более точную и современную модель нейросети обеспечивает значительно лучшее качество детекции объектов.
Гибкие настройки аналитики: В настройках камеры появилась вкладка "Аналитика", где можно:
Включить или выключить анализ для конкретной камеры.
Выбрать типы объектов для детекции (например, только "человек", "машина"), чтобы избежать ложных срабатываний.
Автоматическая запись по детекции: Приложение теперь умеет автоматически начинать запись видео при обнаружении выбранного объекта.
📂 Интерактивный архив с событиями
Визуализация событий на таймлайне: На временной шкале архива теперь отображаются цветные маркеры, показывающие, когда и какой объект был обнаружен.
Интерактивный список событий: Клик по событию в боковой панели мгновенно перематывает видео на нужный момент.
Фильтрация и навигация: Фильтруйте события по типу объекта и быстро переходите к нужному моменту, кликая в любую точку на таймлайне.
⚙️ Удобство и настройки
Функция «Запомнить меня»: Включайте автоматический вход в систему на доверенных устройствах. Учетные данные безопасно хранятся в системном хранилище ОС (Keychain/Credential Manager).
Настройка качества трансляции: В общих настройках теперь можно задать качество (q:v) и частоту кадров (fps) для всех потоков, чтобы найти баланс между качеством картинки и нагрузкой на систему.
🚀 Оптимизация и архитектурные улучшения
Централизованное управление процессами FFmpeg: Внедрен processManager, который отслеживает все дочерние процессы. Это решает проблему "зомби"-процессов и гарантирует корректное завершение всех стримов и записей при выходе из приложения.
Рефакторинг модальных окон: Логика всех модальных окон была разделена на отдельные модули по принципу единственной ответственности, что сделало кодовую базу чище и проще для поддержки.
Параллельный опрос статусов камер: Статусы онлайн/офлайн теперь запрашиваются одновременно, что значительно ускоряет обновление интерфейса при большом количестве камер.
Атомарное резервирование портов: Устранена потенциальная "гонка состояний" при одновременном запуске нескольких потоков, что исключает назначение одного порта двум разным процессам.
🛠️ Исправления ошибок
КРИТИЧЕСКОЕ ИСПРАВЛЕНИЕ: Записи, созданные вручную или автоматически по аналитике, были исправлены и теперь гарантированно воспроизводятся. Процессы записи корректно завершаются, предотвращая повреждение файлов.
Файловый менеджер: Полностью переработан для использования протокола SCP (вместо неработающего SFTP). Теперь скачивание и загрузка файлов на камеру работают стабильно. Устранена критическая ошибка Object has been destroyed, приводившая к падению.
Автоматический вход: Исправлена "гонка состояний" при запуске, из-за которой функция "Запомнить меня" не всегда срабатывала.
Синхронизация времени в архиве: Улучшена логика расчета временных меток, чтобы события и записи отображались с корректным временем.
Кодирование учетных данных: Имя пользователя и пароль теперь корректно кодируются в RTSP-ссылке, что решает проблемы со специальными символами.

This release introduces a fundamental UI overhaul, powerful YOLOv8-based video analytics, enhanced audio playback, and numerous fixes focused on improving stability and performance.
🎉 Highlights: Complete UI Overhaul & Layout Tab System
We've completely reimagined how you interact with your cameras, moving from a static grid to a flexible, tabbed interface.
Tabbed Layout System: Create unlimited layouts (e.g., "Office," "Home," "Warehouse") and switch between them like browser tabs.
Full Layout Management:
➕ Create on the Fly: Click the "+" icon next to the tabs to instantly create a new, empty layout.
✏️ Rename & Delete: Manage your layouts with convenient toolbar buttons.
🖱️ Drag-and-Drop: Reorder tabs with a simple drag-and-drop action.
Modernized Design: Tabs and child windows (File Manager, SSH) now feature a modern, unified, borderless design for improved navigation and aesthetics.
Seamless Migration: The application will automatically update your old configuration file to the new format, preserving all your cameras and settings.
✨ New Features
🔊 Real-time Audio Playback
In-Grid Listening: Enable audio from cameras directly in the monitoring grid with a new button on each cell.
Single Active Stream: Audio can only be active on one camera at a time to prevent cacophony. Sound automatically switches when you select another camera.
🧠 YOLOv8-Powered Analytics & Event-Based Recording
Engine Upgraded to YOLOv8: Migrated to a more accurate and modern neural network model for significantly better object detection.
Flexible Analytics Settings: A new "Analytics" tab in camera settings allows you to:
Enable or disable analysis for each camera.
Select specific object types to detect (e.g., only "person," "car") to reduce false positives.
Auto-Recording on Detection: The application can now automatically start recording video when a configured object is detected.
📂 Interactive Archive with Events
Event Visualization on Timeline: The archive timeline now displays colored markers indicating when and what type of object was detected.
Interactive Event List: Clicking an event in the sidebar instantly seeks the video to that moment.
Filtering & Navigation: Filter events by object type and quickly jump to any point in a recording by clicking on the timeline.
⚙️ Convenience & Settings
"Remember Me" Feature: Enable auto-login on trusted devices. Credentials are securely stored in the OS native keychain (macOS Keychain / Windows Credential Manager).
Stream Quality Configuration: A new "Streaming" tab in general settings lets you configure quality (q:v) and framerate (fps) for all live feeds to balance image quality and system load.
🚀 Optimizations & Architectural Improvements
Centralized FFmpeg Process Management: A new processManager tracks all child processes, solving the "zombie" process issue and ensuring all streams and recordings terminate correctly on exit.
Modal Handler Refactoring: The logic for all modal windows has been split into separate modules following the single-responsibility principle, making the codebase cleaner and more maintainable.
Parallel Camera Status Polling: Online/offline statuses are now fetched concurrently, significantly speeding up the UI updates, especially with many cameras.
Atomic Port Reservation: Eliminated a potential race condition during the simultaneous startup of multiple streams, preventing two processes from being assigned the same port.
🛠️ Bug Fixes
CRITICAL FIX: Recordings, whether started manually or by analytics, were fixed and are now guaranteed to be playable. Recording processes now terminate gracefully, preventing file corruption.
File Manager: Completely overhauled to use the SCP protocol (instead of the non-functional SFTP). File downloads and uploads to cameras now work reliably. Fixed a critical Object has been destroyed crash.
Auto-Login: Fixed a startup race condition that sometimes prevented the "Remember Me" feature from working correctly.
Archive Time Sync: Improved timestamp calculation logic to ensure events and recordings display with the correct time.
Credential Encoding: Usernames and passwords are now correctly encoded in the RTSP URL, resolving issues with special characters.

2.6.1

21 Jul 10:45
Compare
Choose a tag to compare

Релиз v2.6.1: Гибкие права доступа, новый интерфейс и переработка ключевых функций
Этот релиз является одним из самых значительных в истории проекта. Мы не только кардинально обновили внешний вид приложения, но и внедрили гибкую систему управления правами доступа, полностью переработали ключевые механизмы, такие как архив записей и обнаружение камер, а также исправили критические ошибки, которые мешали стабильной работе.
✨ Новые возможности и ключевые улучшения

  1. Гибкая система управления правами доступа (Permissions)
    Мы перешли от жестких ролей к полноценной системе разрешений, что превращает приложение в многопользовательскую платформу с настраиваемыми уровнями доступа.
    Проблема: Старая система имела только две роли: "Администратор" (может всё) и "Оператор" (может очень мало).
    Решение: Теперь администратор может тонко настраивать права для каждого пользователя с ролью "Оператор" индивидуально. В специальном модальном окне можно разрешить или запретить такие действия, как:
    Просмотр архива
    Экспорт записей из архива
    Добавление, редактирование и удаление камер
    Доступ к настройкам камер
    Управление сеткой и раскладками
    Результат: Полный контроль над действиями пользователей, повышение безопасности и гибкости использования.
    P.S. По умолчанию в системе присутствует пользователь "Администратор" с логином/паролем : admin/admin
  2. Современный безрамочный интерфейс
    Приложение избавилось от стандартной рамки окна операционной системы, что обеспечивает более чистый и целостный пользовательский опыт.
    Безрамочный дизайн: Интерфейс стал более лаконичным и современным.
    Пользовательские элементы управления окном: В заголовок интегрированы кастомные кнопки для сворачивания, разворачивания и закрытия приложения.
    Перетаскиваемый заголовок: Вся область заголовка (за исключением кнопок) теперь является перетаскиваемой.
    SSH-терминал: Добавлена интеграция с буфером обмена (Копирование/Вставка через Ctrl+Shift+C / Ctrl+Shift+V).
  3. Масштабируемый и интерактивный архив
    Функциональность архива записей была полностью переработана, чтобы сделать его мощным и удобным инструментом.
    Масштабирование временной шкалы: Теперь вы можете приближать и отдалять временную шкалу с помощью колеса мыши.
    Точное выделение: Масштабирование позволяет с максимальной точностью выделить нужный фрагмент для экспорта.
    Динамические метки: Метки времени на шкале автоматически адаптируются под выбранный масштаб.
  4. Надежное обнаружение камер в сети (ONVIF Discovery)
    Механизм поиска камер был полностью заменен на более эффективный и стабильный.
    Проблема: Старый метод поиска через UDP-рассылку был ненадежен и часто блокировался брандмауэрами.
    Решение: Реализован новый метод, который последовательно сканирует все IP-адреса в локальных подсетях и пытается установить прямое ONVIF-соединение.
    Результат: Этот подход позволяет находить камеры даже в сетях со строгими настройками безопасности.
    ✅ Исправления критических ошибок
    Исправлена бесконечная "потеря связи" при подключении к камере. Логика сохранения была изменена, и теперь пароль не затирается пустой строкой при редактировании камеры.
    Исправлена рассинхронизация времени в архиве. Приложение теперь корректно обрабатывает часовые пояса и синхронизирует временную шкалу с реальным временем записи.
    Исправлено некорректное отображение потребления ресурсов (ЦП и ОЗУ). Теперь приложение суммирует метрики со всех своих дочерних процессов, отображая точные данные.
    Исправлена проблема с отображением записей в архиве. Устранена ошибка парсинга формата даты из имени файла, и теперь все записи корректно отображаются.
    🛠️ Внутренние улучшения
    Надежный менеджер состояний: Улучшена логика управления состоянием приложения для предотвращения гонок состояний и повышения предсказуемости кода.
    Корректное удаление камер: Функция удаления камер теперь работает надежно и корректно сохраняет все изменения в конфигурации.
    🚀 Что дальше?
    Теперь, когда визуальная составляющая и ключевые функции стабилизированы, мы возвращаемся к нашей дорожной карте и начинаем работу над системой уведомлений о событиях в реальном времени!
    Текст для релиза на GitHub (на английском)
    Release v2.6.1: Flexible Permissions, Modern UI & Major Feature Overhaul
    This is one of the most significant releases in the project's history. We've not only given the application a major visual facelift with a modern, frameless design but have also introduced a flexible permission system, completely overhauled key features like the recordings archive and camera discovery, and fixed critical bugs that hindered stable operation.
    ✨ New Features & Key Improvements
  5. Flexible Permission System for Users
    We have moved from rigid roles to a full-fledged permission system, transforming the application into a multi-user platform with customizable access levels.
    Problem: The old system had only two roles: "Administrator" (can do everything) and "Operator" (very limited).
    Solution: Administrators can now finely tune permissions for each "Operator" user individually. A new modal allows enabling or disabling actions such as:
    Viewing the archive
    Exporting clips from the archive
    Adding, editing, and deleting cameras
    Accessing camera settings
    Managing the grid and layouts
    Result: Full control over user actions, enhanced security, and greater flexibility.
    P.S. By default, the system has an "Administrator" user with login/password : admin/admin
  6. Modern Frameless User Interface
    The application now runs in a frameless window, shedding the native OS title bar for a cleaner, more integrated user experience.
    Frameless Design: The interface is more streamlined and modern.
    Custom Window Controls: Custom buttons for minimizing, maximizing, and closing are integrated directly into the header.
    Draggable Header: The entire header area (except for interactive elements) is now draggable.
    SSH Terminal: Added clipboard integration (Copy/Paste via Ctrl+Shift+C / Ctrl+Shift+V).
  7. Scalable and Interactive Archive
    The recordings archive has been completely re-engineered to be a powerful and user-friendly tool.
    Timeline Zooming: You can now zoom in and out of the timeline using the mouse wheel.
    Precise Selection: Zooming makes it much easier to select the exact clip you want to export.
    Dynamic Labels: Timestamp labels on the timeline automatically adapt to the current zoom level.
  8. Robust Network Camera Discovery (ONVIF)
    The camera discovery mechanism has been replaced with a more effective and stable method.
    Problem: The old method using UDP broadcast was unreliable and often blocked by firewalls.
    Solution: A new method now scans all IP addresses in local subnets and attempts to establish a direct ONVIF connection.
    Result: This approach finds cameras even on networks with strict security settings.
    ✅ Critical Bug Fixes
    Fixed infinite "Connection lost" loop. The camera saving logic has been fixed to prevent accidentally overwriting the password with an empty string during edits.
    Fixed time desynchronization in the archive. The application now correctly handles timezones, syncing the timeline with the actual recording time.
    Fixed incorrect display of resource consumption (CPU & RAM). The app now aggregates metrics from all its child processes for accurate reporting.
    Fixed an issue where recordings would not appear in the archive. Corrected a parsing error for the date-time format in filenames.
    🛠️ Internal Improvements
    Robust State Manager: The application's state management logic has been improved to prevent race conditions.
    Reliable Camera Deletion: The camera deletion feature now works reliably and correctly saves configuration changes.

2.5.0

16 Jul 03:21
Compare
Choose a tag to compare

Версия 2.5.0: Исправления стабильности и потоков
Описание релиза:
Это важное обновление, направленное на повышение стабильности и исправление критических ошибок, о которых сообщало сообщество. Настоятельно рекомендуется к установке всем пользователям.
🚀 Что нового:
Надежная работа в Linux: Полностью переработана логика запуска видеопотоков в Linux. Теперь приложение должно корректно работать на большинстве дистрибутивов "из коробки" без необходимости в ручной установке видеодрайверов.
Мгновенное закрытие потоков: Исправлено "зависание" при закрытии видеопотока в ячейке по кнопке "X". Теперь удаление камеры из сетки происходит мгновенно и без задержек.
Стабильное переключение потоков: Восстановлена корректная работа переключения между основным (HD) и дополнительным (SD) потоками.
Сохранение раскладки: Улучшена логика сохранения состояния сетки. Расположение камер теперь должно корректно восстанавливаться после перезапуска приложения.
Общие улучшения стабильности: Проведен рефакторинг кода, отвечающего за управление потоками, что повысило общую стабильность и отзывчивость интерфейса.
Спасибо всем, кто сообщал об ошибках и предоставлял логи! Ваша помощь неоценима в развитии проекта.

Release Description :
This is an important update focused on improving stability and fixing critical bugs reported by the community. It is highly recommended for all users.
🚀 What's New:
Reliable Linux Performance: The video stream launch logic for Linux has been completely reworked. The application should now work correctly on most distributions "out of the box" without requiring manual video driver installation.
Instant Stream Closing: Fixed the "freezing" issue when closing a video stream in a grid cell using the "X" button. Removing a camera from the grid is now instant and lag-free.
Stable Stream Switching: The functionality for switching between the main (HD) and secondary (SD) streams has been restored and now works reliably.
Layout Saving: Improved the grid state saving logic. The camera layout should now restore correctly after restarting the application.
General Stability Improvements: Refactored the stream management code, leading to better overall stability and UI responsiveness.
A huge thank you to everyone who reported bugs and provided logs! Your help is invaluable to the project's development.

2.4.9

15 Jul 11:34
Compare
Choose a tag to compare

v2.4.9 Release: Improved Linux support and stability
This release makes significant improvements to the build and launch of the application on modern Linux distributions, as well as fixes a number of critical issues that users have encountered. The application should now run out of the box on most systems, including Ubuntu 22.04+ and derivatives (KDE Neon, Pop!_OS, etc.).
Key changes and fixes
For Linux users:
Fixed startup failure on modern distributions: Fixed a critical bug The SUID sandbox helper binary was not configured correctly. Now the application starts without having to manually use the --no-sandbox flag.
The dependency on libfuse2 has been eliminated: The AppImage package now contains all the necessary libraries to run. Users no longer need to manually install libfuse2 into the system, which resolves the error loading issue. libfuse.so .2.
Improved desktop integration: Thanks to the use of a custom wrapper script AppRun.sh The application is launched correctly from the application menu after its integration into the system.
General improvements:
🔧 Updated build configuration: package.json and workflow on GitHub Actions have been updated to use modern and reliable CI/CD practices, which increases the stability and predictability of builds.
Code cleanup: Obsolete and duplicate options have been removed from configuration files.
When launching from the terminal, the --no-sandbox flag must be used.

2.4.0

14 Jul 10:55
Compare
Choose a tag to compare

, New Features
Open in Browser (Open in Browser): Added the ability to open the camera's web interface directly from the app. Just right-click on the camera (in the list or in the grid) and select "Open in browser". This greatly simplifies the initial setup of the cameras.
Added the ability to open the camera's web interface directly from the application. Just right-click on a camera (in the list or grid) and select "Open in Browser". This greatly simplifies initial camera setup.
Group Creation: The "Create a new group" button has been fully implemented. Now you can easily organize your cameras into groups as planned.
The "Create new group" button is now fully functional. You can now easily organize your cameras into groups as intended.
, Improvements & Fixes
The language change system (Localization Fixed) has been completely fixed: This is the main fix in this release. Now, when switching the language (for example, from English to Russian), the entire application interface, including modal windows, device lists, tooltips, and placeholders, is updated correctly without the need to restart the application.
This is the main fix in this release. The language switching system is now completely functional. When you switch the language (e.g., from English to Russian), the entire application interface, including modal windows, device lists, tooltips, and placeholders, updates correctly without requiring an application restart.
Translation of the Update Section: Fixed the display of text in the "Application Update" section in the settings. Now all the elements are correctly translated into the selected language.
Fixed the text display in the "Application Update" section in the settings modal. All UI elements are now correctly translated.
Stability: Refactoring has been carried out and minor errors in modal-handler modules have been fixed.js and i18n.js for increased stability.
Refactored and fixed minor errors in the modal-handler.js and i18n.js modules to improve stability.
, Technical Changes
The download of localization files has been moved from the renderer process to the main process using IPC calls (ipcMain.handle). This ensures more reliable and faster downloading of translations, as well as solves potential problems with file caching.
Loading of localization files has been moved from the renderer process to the main process using IPC calls (ipcMain.handle). This ensures more reliable and faster loading of translations and also resolves potential file caching issues.

2.3.2

13 Jul 07:55
Compare
Choose a tag to compare

Release Title: Version 2.3.2 - Auto Updates and Improvements
Description:
This is an important update that adds an automatic update mechanism to the application and introduces a number of improvements to improve usability.
, New features
Automatic updates: The app will now automatically check for new versions at launch. If an update is found, it will download in the background and you will be prompted to restart the app to install it. You no longer need to manually monitor releases on GitHub!
Manual check for updates: The "Check for updates" button has been added to the "General Settings" menu, which allows you to start checking at any time and find out the status of the current version.
✨ Enhancements
Interface: The update status information is now displayed in the settings window, which makes the process more transparent and understandable.
Stability: The internal mechanisms of the application have been improved to integrate with the update system, which increases overall reliability.
Now it's much easier to keep the app up to date!

2.3.1

13 Jul 04:09
Compare
Choose a tag to compare

Release Notes v2.3.1
This update aims to significantly improve the user experience through a complete localization of the interface, the addition of language settings and the correction of a number of errors.
, New features (Features)
Full internationalization (i18n):
Added multilingual support. The app is now available in English (by default) and Russian.
The interface language is automatically determined based on the language of the operating system at the first startup.
An easily extensible structure has been created for adding new languages (via JSON files in the locales folder).
Setting the language in the application:
A switch has been added to the General Settings, allowing the user to manually select the interface language (English/Russian).
The selected language is saved in the application settings and used on subsequent launches.
The application interface is updated on the fly immediately after changing the language, without the need to restart.
Branding update:
The title of the application window and the logo inside the application have been changed to "DASHBOARD for OpenIPC" to better match the project.
The ProductName in the build configuration has been updated accordingly to display correctly in installers and shortcuts.
Bug Fixes
Fixed a Linux startup error (AppImage): The
application crashes when running from AppImage in most Linux distributions due to an incorrect sandbox configuration.
The problem was solved by programmatically disabling the sandbox when running on Linux, which is standard practice for AppImage. Now the application should start without additional flags.
Fixed a critical initialization error:
Fixed a syntax error in renderer.js, which completely blocked the rendering of the interface (cameras, grids, etc.).
Fixed a logical error in the loading sequence, due to which the saved settings (including the language) were not applied at the start of the application.
Fixed an error when opening windows:
Fixed an object could not be cloned error that occurred when trying to open a File Manager or SSH terminal. The problem was related to the transfer of non-serializable objects via IPC. Now only pure data is transmitted, which guarantees stable operation.
Full localization of the interface:
Fixed "missing" places that were not translated when changing the language, including:
Text stubs in empty grid cells.
Headers and labels in all modal windows (settings, adding camera/group, archive).
Context menu items.

2.3.0

11 Jul 07:41
Compare
Choose a tag to compare
  • A record has been implemented indicating the folder where the archive will be recorded
  • Archive viewing is implemented directly from the application
  • Introduced the creation of categories for cameras
  • Redesigned the camera settings page
Снимок экрана (19) Снимок экрана (20) Снимок экрана (21) Снимок экрана (22) Снимок экрана (23)

2.2.2

03 Jul 02:14
Compare
Choose a tag to compare
  • Перетаскивание камер в сетке (Drag-and-Drop)

  • Новое окно для создания групп

✔️ Улучшения и исправления (Improvements & Fixes)

  • Адаптивная сетка просмотра
  • Исправлена работа кнопки "Создать новую группу"
  • Стабильное перетаскивание камер
  • Исправлено отображение модальных окон

2.2.1

02 Jul 13:19
Compare
Choose a tag to compare

Исправлен критический баг, приводивший к потере камер в сетке при смене раскладки.
Улучшена стабильность переключения между SD и HD потоками в полноэкранном режиме.
Исправлена ошибка ENOENT при запуске ffmpeg в упакованной версии приложения.