[Bug] updatenotification: only the first pending module update is applied when `updates` is configured
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ó
- 3/5
- Thời gian dự kiến
- Nửa ngày
- Mức phù hợp với người mới
- 69/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- javascript, node.js
- Lĩnh vực
- backend
Hướng nghiên cứu
Start with defaultmodules/updatenotification/update_helper.js, especially processModule() and how pending updates are started through Promise.all. Trace how the update state changes after one command completes, including the updateAutorestart path. Done means every configured module with an available update is processed and the reported behavior no longer skips later modules.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Environment
MagicMirror² version: v2.38.0 (git 5d7fd70), also present on current develop
Node version: 24.22.0
npm version: 11.21.1
Platform: Docker (karsten13/magicmirror:latest, server mode), Debian 13, x64
System Information
- MM: version: v2.38.0; git: 5d7fd70; branch: HEAD
- SYSTEM: manufacturer: QEMU; model: Docker Container; virtual: false
- OS: platform: linux; distro: Debian GNU/Linux; release: 13; arch: x64; kernel: 6.12.113+deb13-amd64
- VERSIONS: electron: undefined; used node: 24.22.0; installed node: 24.22.0; npm: 11.21.1; pm2:
Which start option are you using?
node --run server
Are you using PM2?
No
Module
updatenotification
Have you tried disabling other modules?
- Yes
- No
Have you searched if someone else has already reported the issue on the forum or in the issues?
- Yes
What did you do?
Configuration
{
module: "updatenotification",
position: "top_center",
config: {
updates: [
{ "MMM-ModuleA": "git pull" },
{ "MMM-ModuleB": "git pull" },
{ "MMM-ModuleC": "git pull" }
]
}
}
Steps to reproduce the issue:
- Configure
updatenotificationwith anupdatesentry for several modules (updateAutorestartleft at its defaultfalse). - Make sure at least two of these modules have new commits upstream.
- Wait for the next update check.
What did you expect to happen?
All modules with a pending update and a configured update command are updated,
one after another.
What actually happened?
All pending updates are detected, but only the first module is updated.
The others are skipped without any log message, in this check and in every
later check, until MagicMirror is restarted.
[2026-10-21 19:50:18.994] [INFO] [updatenotification] Update found for module: MMM-Webuntis
[2026-10-21 19:50:18.994] [INFO] [updatenotification] Update found for module: MMM-LibraryMonitor
[2026-10-21 19:50:18.995] [INFO] [updatenotification] Update found for module: MMM-HomeConnect2
[2026-10-21 19:50:18.995] [INFO] [updatenotification] Update found for module: MMM-Photoprism2
[2026-10-21 19:50:18.995] [INFO] [updatenotification] Update found for module: MMM-CalDAV-Tasks
[2026-10-21 19:50:18.995] [INFO] [updatenotification] Updating MMM-Webuntis...
[2026-10-21 19:50:21.036] [INFO] [updatenotification] Update logs of MMM-Webuntis: Updating 3d0d8e5..bdea7c7
[2026-10-21 19:50:21.037] [INFO] [updatenotification] Update done, don't forget to restart MagicMirror!
MMM-LibraryMonitor, MMM-HomeConnect2, MMM-Photoprism2 and MMM-CalDAV-Tasks were never updated.
Additional comments
Cause, as far as I can tell (defaultmodules/updatenotification/update_helper.js on develop):
processModule() returns early when this.updating is true, and sets it to true
before running the first update command. It is never set back to false, so after
the first update every other module is skipped for the rest of the process lifetime.
moduleState.inProgress is never reset either.
All modules are started at the same time through Promise.all, so only the first
one gets through.
A possible fix: run the pending updates one after another, reset updating and
inProgress in a finally block, and with updateAutorestart: true restart once
after all updates are done instead of after the first one.
Participation
- I am willing to submit a pull request for this change.
- Ngôn ngữ chính
- JavaScript
- Star
- 24.1k
- Fork
- 4.6k
- Merge trung bình
- 5 giờ 36 phút
- Pull request đã merge (30 ngày)
- 18
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
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 MagicMirrorOrg/MagicMirror
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 80/100
MagicMirrorOrg/MagicMirror#4310 · 2 bình luận · 1 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[Bug] Black screen after upgrade to MagicMirror² 2.38.0 on Raspberry Pi 3 with Electron 44.4.5Đang mởbug ready (coming with next release)
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 43/100
MagicMirrorOrg/MagicMirror#4287 · 16 bình luận · 3 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày
-
enhancement PR Welcome
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 25/100
MagicMirrorOrg/MagicMirror#3808 · 23 bình luận · 2 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày
-
arm32 is dead (sadly)Đang mởdependencies not ours
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 48/100
MagicMirrorOrg/MagicMirror#3796 · 30 bình luận · 1 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Proposal: Wiki RestructureCó thể làm lại được @KristjanESPERANTO đã nhận 153 ngày trước và không có pull request nào đang mở. Đang mởunder development under investigation
MagicMirrorOrg/MagicMirror#2545 · 24 bình luận · 2 người được giao ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của MagicMirrorOrg/MagicMirror
Issue tương tự
-
[ordering-review] workshop order graph: 1 confirmed ordering problem, 3 cycles are false positivesĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
githubnext/gh-aw-workshop#4943 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[guide] Public Sector User Group page names wrong Slack channelCó thể đã có người làm @hivecommons-hive đã nhận hôm nay. Đang mởagent/guide documentation hive/claimed-by-guide stage/040-covered-by-pr
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 88/100
cncf/endusers#1874 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Edit: ElyssaTV.tn@HDĐang mởcheck:passed feeds:edit
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 82/100
-
bug 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
-
In game I can not see the teamsĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 63/100
oskarrough/dodgethis#115 ·
Maintainer thường phản hồi trong vòng 1 ngày