Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Windows Manager: Updates page and staged package upgrade workflow

Đang mở
#4,351 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức phù hợp với người mới
35/100
Loại issue
Tính năng
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Đình trệ
Công nghệ
cpp, powershell
Lĩnh vực
desktop-dev, release

Hướng nghiên cứu

Bắt đầu bằng việc xem xét packaging/windows/scripts/upgrade-package.ps1 và PR #4350 được tham chiếu, sau đó theo dõi cách Windows Manager hiện biểu diễn các trang và phiên bản gói. Xác minh tab Updates và workflow theo từng giai đoạn dựa trên các tiêu chí nghiệm thu, bao gồm kiểm tra khả năng tương thích, bảo toàn dữ liệu người dùng, xác thực tình trạng hoạt động và rollback.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

Feature request

Add an Updates page to the Windows OVMS Manager that lets users discover when a newer OVMS package is available and apply it through a safe, validated, recoverable upgrade — without manually locating release assets, unzipping, or editing environment variables.

This complements the standalone Windows installer/Manager (see #4347) and is implemented in PR #4350.

Motivation

On Windows, OVMS is distributed as a portable ovms.zip payload. Today, updating means: find the right release asset, download it, stop the server, unzip over the install, fix up environment/config, and restart — error-prone and easy to get into a half-upgraded, non-booting state. Because OVMS ships as a version-matched stack (ovms.exe + OpenVINO runtime + GenAI + tokenizers + Python), mixing individual DLLs across releases is a common failure mode. A guided, all-or-nothing upgrade flow removes that risk.

Components tracked

The Updates page reports installed vs. latest for the package as a matched set:

  • Base package (the OVMS Windows payload / install marker version)
  • OpenVINO Model Server (ovms.exe --version)
  • OpenVINO GenAI backend (bundled GenAI runtime version)

Versions are read from the local install (install.json marker + ovms.exe --version) and compared against release metadata for the matching package variant (python_on / python_off).

Expected behavior

Update check

  • One "Check for updates" action checks all components together (they move as one matched package, not independently).
  • Show, per component: installed version, latest compatible version, and a state — Up to date / Update available / Cannot check (offline/metadata error).
  • Only surface an Install/Upgrade action when a strictly newer, variant-compatible package exists.
  • Provide release-notes links for Model Server and GenAI.
  • Update checks are explicit/manual by default; periodic checks are opt-in (never auto-install).

Staged, validated upgrade (implemented in packaging/windows/scripts/upgrade-package.ps1)

  1. Stop the Manager-owned ovms.exe (or the service, in service mode).
  2. Download the matching package to %LOCALAPPDATA%\OVMS\packages.
  3. Verify the download (checksum/size) and that required files are present.
  4. Extract to a staging dir; run staged ovms.exe --version as a smoke test.
  5. Back up the current install to %LOCALAPPDATA%\OVMS\packages\backup\<version>.
  6. Replace the install files in-place; preserve user data under %LOCALAPPDATA%\OVMS (settings, models, logs).
  7. Re-run configuration/marker update; restart the server if it was running.
  8. Run a health check; roll back from backup if version or health validation fails.

UI (Updates tab)

  • A row per component (Base package / Model Server / GenAI) with installed version, latest version, status badge, and a release-notes link.
  • A single "Check for updates" button and a contextual "Install update" button that appears only when an update is available.
  • Progress and result surfaced inline (checking / downloading / verifying / upgrading / rolled back), with errors shown clearly.
  • Never mixes DLLs from different releases — the package is the unit of upgrade.

Safety / non-goals

  • No silent auto-install; user confirms before download and before applying.
  • Version + variant must match the installed stack, or the action is blocked.
  • User data (%LOCALAPPDATA%\OVMS) is preserved across upgrades.
  • Failed upgrades restore the previous working package from backup.
  • Out of scope for the first version: delta/patch updates, background auto-update, and updating the Manager app itself (tracked separately).

Acceptance criteria

  • Updates page shows accurate installed and latest versions for all three components.
  • A single check covers all components and reports the correct state.
  • Install action appears only when a newer, variant-compatible package is available.
  • Release-notes links open for Model Server and GenAI.
  • Upgrade runs the staged download → verify → back up → replace → validate → reconfigure flow.
  • Settings, models, and logs are preserved across an upgrade.
  • A failed/invalid upgrade rolls back to the previous working install.
  • Offline / metadata-unavailable is handled gracefully (no crash, clear message).

Value

Gives Windows Manager users a clear, guided, and reversible way to keep OVMS current, matching the local-desktop experience of tools like Ollama, while preserving OVMS's version-matched-stack guarantees.

Ngôn ngữ chính
C++
Star
932
Fork
278
Merge trung bình
2 ngày 23 giờ
Pull request đã merge (30 ngày)
68

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của openvinotoolkit/model_server

Tất cả issue của openvinotoolkit/model_server

Issue tương tự

Thêm issue về C++

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.