github OpenIPC/dashboard v0.2.5
OpenIPC Dashboard v0.2.5

2 hours ago

OpenIPC Dashboard v0.2.5

v0.2.5 is a stable release that completes the major work started after 0.2.4 and the 0.2.5-pre.* line. OpenIPC Dashboard is now much closer to a full control center for OpenIPC cameras, Majestic, firmware tools, logs, updates and device state.
Highlights
Added a unified OpenIPC Control Center inside the Majestic/Firmware window.
Implemented real firmware read/write operations: status, network, time, logs, backup, reboot, update info and firmware upload.
Enabled Qt WebSockets in release builds for /ws/logs and /ws/upgrade.
Verified firmware upgrade on a real OpenIPC camera directly from the app via /ws/upgrade.
Improved firmware upgrade safety: SoC/flash/variant checks, archive size validation, checksum/signature display, power/network confirmation and dangerous option guards.
Added post-upgrade camera recovery tracking: status polling, Majestic API probe, RTSP main/sub probe and health summary.
Improved Majestic API integration: schema-driven settings, localized labels/hints, safe apply and rollback v2.
Added live firmware logs with WebSocket/polling fallback, filters, severity highlighting and export to file.
Added in-app application updater: GitHub Releases check, release notes popup, download progress and installer handoff.
Completed the split of MajesticControlDialog.qml into focused QML page/panel components.
Improved Dashboard UI: Metro-like sidebar, compact actions, layout toolbar, stable device list and Grid fixes.
Fixed Linux RAM reporting fallback.
OpenIPC Control Center / Firmware
Added dedicated control pages:Status;
Network;
Time;
Update;
Tools;
Logs.

Added loading/saving of network and time settings.
Added NTP sync, set time from PC and form reset actions.
Added firmware backup, reboot and update information view.
Added firmware upgrade preparation for GitHub firmware source and uploaded archive flows.
Majestic API
Settings are generated from the camera-provided schema.
Settings are grouped into clear sections: image, video/audio, events, recording, network/integrations and system.
Added RU/EN labels and hints for known Majestic fields.
Apply uses schema-safe diff and no longer sends null values.
Critical settings are clearly marked as requiring pipeline reload.
Rollback snapshot is saved before critical apply.
After apply/reload, the app starts Majestic API and RTSP health-watch.
If API or stream does not recover, the app offers rollback.
Firmware upgrade safety
Uploaded archive is validated before upload: .tgz, .tar.gz, .gz.
Archive size is checked.
Safety checklist includes SoC, flash and firmware variant.
NOR/NAND and lite/ultimate mismatch indicators are detected from archive naming where possible.
Update is blocked without stable power/network confirmation.
reset and force options require separate explicit confirmation.
After update, the app tracks camera recovery and runs additional probes.
Live logs
/ws/logs uses WebSocket mode in release builds.
If WebSockets are unavailable, polling fallback is used.
Added start/stop, pause/resume, clear, filters and log export.
Added error/warn/majestic/kernel severity highlighting.
Added OpenIPC syslog ring-buffer setting.
Application updater
The app checks GitHub Releases for new versions.
The existing “Check for updates” button in settings now uses the real update checker.
When a new version is found, the app shows a release notes dialog.
Added in-app update download with progress and cancel support.
Windows: downloads installer, starts installer handoff and removes temporary file.
Linux AppImage: downloads new AppImage, replaces current AppImage after app exit and restarts.
Updater selects only compatible assets.
UI / QML
Dashboard is now cleaner and more compact.
Sidebar was redesigned in a Metro-like style.
Layout action buttons were moved into the layout toolbar.
Fixed Grid issues after Dashboard decomposition.
Fixed device-list flickering on hover over action buttons.
Stream label format is now unified: codec, resolution, bitrate, FPS.
Completed MajesticControlDialog.qml decomposition.
New QML components pass targeted qmllint.
Linux
Fixed RAM fallback:/proc/self/status / VmRSS;
/proc/self/statm;
getrusage(RUSAGE_SELF).

This fixes cases where CPU usage was shown but RAM stayed at 0 MB.
Validation
Before publishing:
Release build — passed.
ctest — 14/14 passed.
Targeted qmllint — passed.
git diff --check — clean.
Firmware update via /ws/upgrade was verified on a real OpenIPC camera.
Important
Firmware upgrade is still a dangerous operation. Always make a backup, verify SoC/flash/model compatibility and ensure stable camera power before updating.

v0.2.5 — стабильный релиз, который завершает большую волну работ после 0.2.4 и 0.2.5-pre.*: OpenIPC Dashboard теперь становится полноценным центром управления OpenIPC-камерами, Majestic, прошивкой, логами, обновлениями и состоянием устройства.

Главное
Добавлен единый OpenIPC Control Center внутри окна Majestic/Firmware.
Реализованы настоящие firmware read/write операции: status, network, time, logs, backup, reboot, update info и firmware upload.
В release-сборках включён Qt WebSockets для /ws/logs и /ws/upgrade.
Подтверждён firmware update реальной OpenIPC-камеры прямо из приложения через /ws/upgrade.
Усилен safety-layer обновления прошивки: проверка SoC/flash/variant, размер архива, checksum/signature, подтверждение питания/сети и dangerous options.
Добавлен post-upgrade контроль возврата камеры: status polling, Majestic API probe, RTSP main/sub probe и health summary.
Улучшена интеграция Majestic API: schema-driven настройки, локализованные названия/подсказки, безопасный apply и rollback v2.
Добавлены live firmware logs с WebSocket/polling fallback, фильтрами, подсветкой severity и экспортом в файл.
Реализован in-app updater приложения: проверка GitHub Releases, release notes popup, загрузка с прогрессом и запуск установки.
Завершено дробление MajesticControlDialog.qml на отдельные QML page/panel компоненты.
Улучшен интерфейс Dashboard: Metro-like sidebar, компактные действия, layout toolbar, стабильный список устройств и исправления Grid.
Исправлен fallback отображения RAM на Linux.
OpenIPC Control Center / Firmware
Добавлены страницы управления:Status;
Network;
Time;
Update;
Tools;
Logs.

Добавлены операции загрузки/сохранения network и time настроек.
Добавлены NTP sync, установка времени с ПК и reset формы.
Добавлены firmware backup, reboot и просмотр update information.
Добавлена подготовка firmware upgrade через GitHub firmware source и uploaded archive.

Majestic API
Настройки строятся по schema конкретной камеры.
Настройки сгруппированы по понятным разделам: изображение, видео/аудио, события, запись, сеть/интеграции, система.
Добавлены RU/EN названия и подсказки для известных параметров.
Apply использует schema-safe diff и больше не отправляет null.
Критичные настройки помечаются как требующие reload pipeline.
Перед критичным apply сохраняется rollback snapshot.
После apply/reload запускается health-watch Majestic API и RTSP.
Если API или поток не восстановились, приложение предлагает rollback.
Firmware upgrade safety
Проверяется наличие и тип uploaded archive: .tgz, .tar.gz, .gz.
Проверяется размер архива.
Checklist учитывает SoC, flash и firmware variant.
Проверяются признаки NOR/NAND и lite/ultimate mismatch.
Update блокируется без подтверждения стабильного питания и сети.
Опции reset и force требуют отдельного подтверждения.
После update приложение отслеживает возврат камеры и запускает дополнительные проверки.
Live logs
/ws/logs работает через WebSocket в release-сборках.
Если WebSockets недоступны, используется polling fallback.
Добавлены start/stop, pause/resume, clear, фильтры и экспорт логов.
Добавлена подсветка error/warn/majestic/kernel.
Добавлена настройка OpenIPC syslog ring-buffer.
Application updater
Приложение проверяет новые версии в GitHub Releases.
Кнопка “Проверить обновления” в настройках подключена к реальному update-checker.
При наличии новой версии показывается окно с release notes.
Добавлена загрузка обновления прямо из приложения с прогрессом и отменой.
Windows: скачивается installer, запускается установка, временный файл удаляется.
Linux AppImage: скачивается новый AppImage, выполняется замена после выхода приложения и перезапуск.
Updater выбирает только совместимые assets и больше не цепляет старую несовместимую ветку 2.9.0.
UI / QML
Dashboard стал более аккуратным и компактным.
Sidebar переработан в Metro-like / Viewer-like стиле.
Кнопки управления раскладками перенесены в layout toolbar.
Исправлены Grid-проблемы после дробления Dashboard.
Исправлено мигание камеры в списке устройств при hover по action-кнопкам.
Подпись видеопотока приведена к единому формату: codec, resolution, bitrate, FPS.
Завершена декомпозиция MajesticControlDialog.qml.
Новые QML-компоненты проходят targeted qmllint.
Linux
Исправлен RAM fallback:/proc/self/status / VmRSS;
/proc/self/statm;
getrusage(RUSAGE_SELF).

Закрыта проблема, когда CPU отображался, а RAM оставалась 0 MB.
Проверка
Перед публикацией проверено:
Release build — успешно.
ctest — 14/14 успешно.
Targeted qmllint — успешно.
git diff --check — без ошибок.
На реальной OpenIPC-камере подтверждён firmware update через /ws/upgrade.
Важно
Firmware upgrade остаётся опасной операцией. Перед обновлением обязательно делайте backup, проверяйте SoC/flash/model и обеспечьте стабильное питание камеры.

Don't miss a new dashboard release

NewReleases is sending notifications on new releases.