Dry-run OS/MCU apply records the new version, hiding the still-pending update from check() and status
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 2/5
- Thời gian dự kiến
- 1-3 giờ
- Mức phù hợp với người mới
- 76/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức độ hoạt động
- Ít trao đổi
- Công nghệ
- rust
- Lĩnh vực
- backend, embedded-iot, testing
Hướng nghiên cứu
Đọc crates/pod-updater/src/agent.rs, đặc biệt là apply() và check(), sau đó kiểm tra các thao tác ghi trong chế độ dry-run ở install.rs và bài kiểm thử os_and_mcu_apply_are_gated_dry_run. Chỉ ghi nhận phiên bản khi ở chế độ dry-run và cập nhật bài kiểm thử để xác minh rằng bản xem trước vẫn giữ bản cập nhật ở trạng thái khả dụng và phiên bản cũ vẫn được báo cáo là đã cài đặt.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
agent.rs apply() (crates/pod-updater/src/agent.rs:273-297) calls layout.record_version(kind, &component.version) after the OS/MCU writer returns Ok — including under dry_run, where nothing was actually flashed (DryOsSlotWriter/DryMcuFlasher just log and return Ok, install.rs:170-233). check() then filters out any component whose installed_version equals the manifest version (agent.rs:167-170), so after a single dry-run 'apply' the OS/MCU update silently disappears from available and current_versions reports the new version as installed even though the device still runs the old firmware. An operator doing a dry-run preview would afterward see no pending update. record_version should be gated on !dry_run (the os_and_mcu_apply_are_gated_dry_run test currently asserts the wrong behaviour).
Filed from a repo-wide code audit (working tree at bcad746).
- Ngôn ngữ chính
- Rust
- Star
- 0
- Fork
- 0
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Chuẩn bị môi trường
Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- 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.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của GoogleBot42/podd
-
documentation
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 84/100
GoogleBot42/podd#63 ·
-
documentation
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 78/100
GoogleBot42/podd#62 ·
-
documentation good first issue
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 69/100
GoogleBot42/podd#60 ·
-
documentation
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 85/100
GoogleBot42/podd#61 ·
-
enhancement
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
GoogleBot42/podd#58 ·
Tất cả issue của GoogleBot42/podd
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
rubys/roundhouse#1917 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Maintainer thường phản hồi trong vòng 2 ngày
-
good first issue
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
Maintainer thường phản hồi trong vòng 1 ngày
-
[cosmic-applet-battery] Division by zero displays NaN% when UPower reports max_brightness = 0Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
pop-os/cosmic-applets#1619 ·
Maintainer thường phản hồi trong vòng 3 ngày
-
binding:python bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
Maintainer thường phản hồi trong vòng 1 ngày