Desktop app: a log file write error shows an uncaught-exception dialog.
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
- 74/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ệ
- electron, javascript, node.js
- Lĩnh vực
- desktop
Hướng nghiên cứu
Bắt đầu từ electron/main.js: initLogging (khoảng dòng 137) tạo luồng ghi log bằng fs.createWriteStream và không bao giờ lắng nghe sự kiện error của nó, còn log() bao logFile.write trong một khối try/catch nên không thể thấy các lỗi bất đồng bộ. Đọc trình xử lý uncaughtException (khoảng dòng 964) để xem đường dẫn hộp thoại. Hoàn thành khi lỗi luồng tắt ghi log ra tệp, báo cáo một lần duy nhất lên console và không có hộp thoại ngoại lệ không được bắt nào xuất hiện. Kiểm tra bằng cách buộc một lỗi ghi và xác nhận việc ghi log ra console vẫn tiếp tục.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
In the desktop app, a failure writing the log file (disk full, permissions) shows an "Uncaught exception" error dialog, because the log file's stream has no error handler.
- How it works today.
initLoggingopens the log withfs.createWriteStream(...)(electron/main.js:137) and never listens for itserrorevent.log()wrapslogFile.write(...)in atry/catch, but a write error arrives later as anerrorevent, not a throw. - What happens. With no listener, the error goes to the
uncaughtExceptionhandler (:964), which shows the "Widgetizer Desktop Error" dialog. Its ownlog()call then writes to the stream that already failed. Not a crash loop, but a disk-full machine gets an alarming dialog about logging, and file logging stops silently afterwards. - Found in a review of streams that are left open or unhandled (alongside #215), confirmed against the code on 2026-11-02. Desktop app only.
Fix: attach an error listener that turns file logging off and reports the failure once to the console; end() the stream on an orderly quit.
Done when: a log stream that errors turns file logging off without the uncaught-exception dialog, and console logging carries on.
Start: electron/main.js.
- Ngôn ngữ chính
- JavaScript
- Star
- 162
- Fork
- 6
- 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
- Có Dockerfile hoặc tệp Docker Compose
- Không có mẫu pull request
- Không 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 tsiger/widgetizer
-
bug page editor
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
tsiger/widgetizer#235 ·
-
bug projects ux
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
tsiger/widgetizer#234 ·
-
bug editor
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
tsiger/widgetizer#231 ·
-
enhancement projects
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
tsiger/widgetizer#216 ·
-
question
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 82/100
tsiger/widgetizer#194 ·
Tất cả issue của tsiger/widgetizer
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
ImranR98/apps.obtainium.imranr.dev#2000 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
routing: the tray panel's stage stands still with motion reduced while a request is in flightĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 66/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 83/100
microsoft/monaco-editor#5577 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
obsidianmd/obsidian-help#1169 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
[docs] RELEASE.md: wrong branch name, no check that the prepare PR merged with the right subject, manual publish stepCó thể đã có người làm @albertteoh đã nhận hôm nay. Đang mởdocumentation
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 85/100
jaegertracing/jaeger-ui#4739 ·
Maintainer thường phản hồi trong vòng 1 ngày