Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: gorakhargosh/watchdog
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v4.0.1
Choose a base ref
...
head repository: gorakhargosh/watchdog
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v4.0.2
Choose a head ref
  • 15 commits
  • 45 files changed
  • 3 contributors

Commits on May 23, 2024

  1. Bump the version

    BoboTiG committed May 23, 2024
    Configuration menu
    Copy the full SHA
    9f23b59 View commit details
    Browse the repository at this point in the history

Commits on Jul 21, 2024

  1. docs: Simplify the quickstart example (#1047)

    Personally, I found the quickstart example to be jumbled and a little
    confusing. It was hard for me to tell where I would put my own code to
    react to file system events (indeed the quickstart never showed how to
    do this).
    
    I also think the selection of the path using sys.argv and place
    everything under "if name == main" is unnecessary for the simple
    example.
    nbelakovski authored Jul 21, 2024
    Configuration menu
    Copy the full SHA
    402ad01 View commit details
    Browse the repository at this point in the history
  2. docs: Update PatternMatchingEventHandler documentation (#1048)

    * Update PatternMatchingEventHandler documentation
    
    From the existing docs it's not clear what the difference is between
    PatternMatching and RegexMatching. Hopefully this makes it clearer.
    
    Also made a note that RegexMatching uses the re module, since there are
    various flavors of regex syntax and it's important to know which one is
    used.
    
    * Apply suggestions from code review
    
    ---------
    
    Co-authored-by: Mickaël Schoentgen <[email protected]>
    nbelakovski and BoboTiG authored Jul 21, 2024
    Configuration menu
    Copy the full SHA
    6294daf View commit details
    Browse the repository at this point in the history

Commits on Jul 25, 2024

  1. Configuration menu
    Copy the full SHA
    ab5117a View commit details
    Browse the repository at this point in the history

Commits on Jul 28, 2024

  1. feat: centralize platform checks (#1051)

    * feat: centralize platform checks
    
    * fixes
    
    * skip macOS pypy
    BoboTiG authored Jul 28, 2024
    Configuration menu
    Copy the full SHA
    914923c View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    206843c View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    4043ef0 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    654707e View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    7cd723a View commit details
    Browse the repository at this point in the history
  6. [core] Run ruff, apply several fixes (#1033)

    - code simplifications here and there
    - introduce a proxy to guess the best `observer` class to import
    BoboTiG authored Jul 28, 2024
    Configuration menu
    Copy the full SHA
    7d4a369 View commit details
    Browse the repository at this point in the history
  7. fix: possible race condition in AutoRestartTrick (#1002)

    * fixes a possible race condition in AutoRestartTrick
    
    Just a long shot for a failure observed on #998. My hypothesis is that
    when we stop ProcessWatcher before we restart the process manually, we
    don't yield to it and immediately kill the process. Next, when the
    ProcessWatcher thread is woken up, we have to conditions ready - the
    popen_obj and stopped_event, see the corresponding code, ``` while
    True: if self.popen_obj.poll() is not None: break if
    self.stopped_event.wait(timeout=0.1): return ```
    
    And desipte that `stopped_event` is set, we first check for
    `popen_obj` and trigger the process restart.
    
    We can also make the ProcessWatcher logic more robust, by checking if
    we are stopped before calling the termination callback, e.g.,
    
    ```
            try:
                if not self.stopped_event.is_set():
                    self.process_termination_callback()
            except Exception:
                logger.exception("Error calling process termination callback")
    ```
    
    I am not 100% sure about that, as I don't really know what semantics
    is expected from ProcessWatcher by other users. But at least the
    AutoRestarter expects this semantics - i.e., a watcher shall not call
    any events after it was stopped.
    
    * tries an alternative solution
    
    i.e., don't send events if stopped
    ivg authored Jul 28, 2024
    Configuration menu
    Copy the full SHA
    7503d34 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    cff604e View commit details
    Browse the repository at this point in the history
  9. docs: tweak

    BoboTiG committed Jul 28, 2024
    Configuration menu
    Copy the full SHA
    6a33516 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    aac4328 View commit details
    Browse the repository at this point in the history

Commits on Aug 11, 2024

  1. Version 4.0.2

    BoboTiG committed Aug 11, 2024
    Configuration menu
    Copy the full SHA
    9c5a432 View commit details
    Browse the repository at this point in the history
Loading