Skip to content

feat: add check for broken watchers every 5 minutes #111

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

RTnhN
Copy link

@RTnhN RTnhN commented Mar 3, 2025

Sometimes my watchers will die after some time which causes me to lose data. Instead of forcing a restart of the watcher, this will just allow the user to decide to restart the watcher or not. I would be okay with checking more frequently, but I think that 5 minutes is a good middle between taking lots of resources and making sure that dead watchers don't lose a lot of data.

Also, when I was trying to develop this, I realized that the base python version (3.8) is EOL now, so installing it and running pyqt6 with the original version did not work. It can't find a version of pyqt6 that fits the lock file. So this updates both the python version and the pyqt6 version. I think this is a reason why #107 failed CI.

Let me know if you have any suggestions or comments about this. I know that aw-tauri is being worked on, but losing data is pretty discouraging right now.

Related to #103


Important

Adds a periodic check for broken watchers every 5 minutes and updates Python and PyQt6 versions in pyproject.toml.

  • Behavior:
    • Adds a periodic check every 5 minutes for broken watchers in check_module_status() in trayicon.py.
  • Dependencies:
    • Updates Python version to ^3.9,<3.14 in pyproject.toml.
    • Updates PyQt6 and PyQt6-Qt6 to version 6.8.1 in pyproject.toml.

This description was created by Ellipsis for 4c44b86. It will automatically update as commits are pushed.

RTnhN added 2 commits March 3, 2025 17:29
Sometimes I find that my watchers die randomly. While they are checked
2 seconds after start, they are not checked again after that. This
makes it check every 5 minutes after start and will give the standard
popup and restart dialog box.
Copy link

@ellipsis-dev ellipsis-dev bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

❌ Changes requested. Reviewed everything up to 4c44b86 in 1 minute and 36 seconds

More details
  • Looked at 47 lines of code in 2 files
  • Skipped 1 files when reviewing.
  • Skipped posting 5 drafted comments based on config settings.
1. aw_qt/trayicon.py:172
  • Draft comment:
    Consider refactoring repetitive singleShot timers. Scheduling rebuild_modules_menu inside check_module_status (line 170) may be redundant since rebuild_modules_menu already reschedules itself (line 158). Also, using a persistent QTimer might be cleaner.
  • Reason this comment was not posted:
    Comment was on unchanged code.
2. pyproject.toml:16
  • Draft comment:
    Python and PyQt6 version updates look correct; verify that dependent modules are compatible with Python ^3.9 and PyQt6 6.8.1.
  • Reason this comment was not posted:
    Confidence changes required: 20% <= threshold 50%
    None
3. pyproject.toml:16
  • Draft comment:
    Python version updated to ^3.9. Ensure that all dependencies and CI configurations are compatible with Python 3.9.
  • Reason this comment was not posted:
    Confidence changes required: 50% <= threshold 50%
    None
4. pyproject.toml:31
  • Draft comment:
    PyQt6 versions bumped to 6.8.1. Verify that these updates do not break API compatibility with existing code.
  • Reason this comment was not posted:
    Confidence changes required: 50% <= threshold 50%
    None
5. pyproject.toml:4
  • Draft comment:
    Consider changing 'Trayicon' to 'Tray icon' in the description for improved clarity.
  • Reason this comment was not posted:
    Comment was not on a location in the diff, so it can't be submitted as a review comment.

Workflow ID: wflow_I4c5dLEir6qa6YC2


Want Ellipsis to fix these issues? Tag @ellipsis-dev in a comment. You can customize Ellipsis with 👍 / 👎 feedback, review rules, user-specific overrides, quiet mode, and more.

I realized that the way that I wrote it initially had bugs. This is a
lot more clean and fixes the TODO comments that were already here.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant