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

Start in system tray opens the main window when the watchlist is empty

Đang mở Phù hợp với người mới
#699 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 3 ngày

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
Sôi nổi
Công nghệ
csharp
Lĩnh vực
backend, desktop

Hướng nghiên cứu

Đọc các dòng 48–62 trong ApplicationHostService.vb và các dòng 84–100 trong MainWindowViewModel.vb, sau đó theo dõi cách khởi động vào khay hệ thống và danh sách theo dõi trống ảnh hưởng đến khả năng hiển thị cửa sổ. Tái hiện việc khởi chạy khi bật StartInSystemTray và không có thư mục nào được theo dõi, rồi so sánh với trường hợp có một thư mục được theo dõi. Hoàn tất khi cả hai trường hợp đều khởi động ẩn trong khay hệ thống và hành vi hiện có khi đóng vào khay vẫn hoạt động chính xác.

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

Mô tả

Tested on official v4.0.0-beta.12, Windows 11 25H2 (26200.9711), ASUS Vivobook S 15 / Snapdragon X Elite X1E-78-100 / 16 GB RAM, .NET 10.0.13. Both the native ARM64 application and the official x64 application were tested directly on this ARM laptop. Additional component checks used unchanged libraries extracted from the x64 release, with the release's embedded manifest. No Intel/AMD PC was tested. Only disposable files were used. Most testing was automated with Codex, with human assistance identified where applicable. Related build request: #556.

Reproduction

  1. Enable Settings -> Start CompactGUI in system tray.
  2. Have no watched folders.
  3. Exit the app and start it without folder arguments.

Expected: start hidden in the tray as requested.
Actual: the main Home window opens. Reproduced on two fresh launches at 13:40:50 and 13:41:31 BST on 21 October 2026. Saved StartInSystemTray was true and the watchlist had zero entries. The visible main window was enumerated before any activation.

ARM64 positive control: the same setting with exactly one disposable watched folder started hidden and stayed running. ARM64 tray Open, Exit/Cancel and Exit/Yes also passed separate human-assisted checks.

Source explanation
ApplicationHostService lines 48–62 shows the window, then calls ClosingCommand when tray startup is requested. MainWindowViewModel.Closing lines 84–100 only hides/minimizes it when WatchedFolders.Count is nonzero.

Startup visibility should be applied independently of the close-to-tray policy for watched folders.

Related #371 introduced the preference. The later #682 change concerns registry autostart registration; the tested behavior here is visibility on a manual launch with the saved preference. Master was not built or runtime-tested.

Direct x64 GUI follow-up (21 October 2026, BST)

The official x64 application also reproduced the empty-watchlist failure on two fresh launches. The saved StartInSystemTray preference was true, watcher.json contained zero folders, and no folder arguments were supplied. A visible main window was enumerated before any activation in both runs:

Start time Child environment Observation before activating the app
18:22:15 IridiumIO omitted from this child only Main window visible
18:23:14 Existing normal IridiumIO value present Main window visible

The normal-environment repeat shows that the separate Settings-button environment condition is not needed for this startup defect. This is now directly reproduced in both release builds on the same ARM laptop. The x64 positive control also passed at 18:48:14: with StartInSystemTray=true, exactly one disposable watched folder and no folder arguments, the process stayed running with no visible main window. A window inventory found no x64 main window and the process MainWindowHandle was 0 before any activation. This reproduces the same empty/nonempty watchlist distinction in both builds. Separate human-assisted x64 checks subsequently passed: tray Open restored the window; Home/Watcher/Settings and maximize/restore repainted normally; Exit/Cancel kept the app running; Exit/Yes closed it. The process exit was independently confirmed. These manual checks used the isolated x64 copy with DisableHardwareRendering=true; a later automated run after restoring default hardware rendering also showed updating Home/Watcher and maximize/restore. This does not alter the reproducible empty-watchlist startup defect. Native Intel/AMD hardware remains untested.

Ngôn ngữ chính
Visual Basic .NET
Star
8.9k
Fork
343
Merge trung bình
3 ngày 18 giờ
Pull request đã merge (30 ngày)
7

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

  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 IridiumIO/CompactGUI

Tất cả issue của IridiumIO/CompactGUI

Issue tương tự

Thêm issue về Backend & API Design

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.