{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":1017451,"defaultBranch":"master","name":"watchdog","ownerLogin":"gorakhargosh","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2010-10-23T12:00:17.000Z","ownerAvatar":"https://github.com/avatars/u/364101?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1721937511.0","currentOid":""},"activityList":{"items":[{"before":"cff604e90bc562dee16a32efbe6b4471d3e64105","after":"aac4328e593e8764c6a3face67961f955d64bb74","ref":"refs/heads/master","pushedAt":"2024-07-28T20:22:00.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"BoboTiG","name":"Mickaël Schoentgen","path":"/BoboTiG","primaryAvatarUrl":"https://github.com/avatars/u/2033598?s=80&v=4"},"commit":{"message":"chore: add git attributes file","shortMessageHtmlLink":"chore: add git attributes file"}},{"before":"7503d34c1f49a96c7ab31b177f6f3a3ffc8ab049","after":"cff604e90bc562dee16a32efbe6b4471d3e64105","ref":"refs/heads/master","pushedAt":"2024-07-28T20:05:47.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"BoboTiG","name":"Mickaël Schoentgen","path":"/BoboTiG","primaryAvatarUrl":"https://github.com/avatars/u/2033598?s=80&v=4"},"commit":{"message":"feat: Python 3.13 support (#1052)","shortMessageHtmlLink":"feat: Python 3.13 support (#1052)"}},{"before":"7d4a369e82eea79ef281febb03d9267805f746bb","after":"7503d34c1f49a96c7ab31b177f6f3a3ffc8ab049","ref":"refs/heads/master","pushedAt":"2024-07-28T13:45:11.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"BoboTiG","name":"Mickaël Schoentgen","path":"/BoboTiG","primaryAvatarUrl":"https://github.com/avatars/u/2033598?s=80&v=4"},"commit":{"message":"fix: possible race condition in `AutoRestartTrick` (#1002)\n\n* fixes a possible race condition in AutoRestartTrick\r\n\r\nJust a long shot for a failure observed on #998. My hypothesis is that\r\nwhen we stop ProcessWatcher before we restart the process manually, we\r\ndon't yield to it and immediately kill the process. Next, when the\r\nProcessWatcher thread is woken up, we have to conditions ready - the\r\npopen_obj and stopped_event, see the corresponding code, ``` while\r\nTrue: if self.popen_obj.poll() is not None: break if\r\nself.stopped_event.wait(timeout=0.1): return ```\r\n\r\nAnd desipte that `stopped_event` is set, we first check for\r\n`popen_obj` and trigger the process restart.\r\n\r\nWe can also make the ProcessWatcher logic more robust, by checking if\r\nwe are stopped before calling the termination callback, e.g.,\r\n\r\n```\r\n try:\r\n if not self.stopped_event.is_set():\r\n self.process_termination_callback()\r\n except Exception:\r\n logger.exception(\"Error calling process termination callback\")\r\n```\r\n\r\nI am not 100% sure about that, as I don't really know what semantics\r\nis expected from ProcessWatcher by other users. But at least the\r\nAutoRestarter expects this semantics - i.e., a watcher shall not call\r\nany events after it was stopped.\r\n\r\n* tries an alternative solution\r\n\r\ni.e., don't send events if stopped","shortMessageHtmlLink":"fix: possible race condition in AutoRestartTrick (#1002)"}},{"before":"7cd723ac433781002062fdf6f6400043f0d9d55d","after":"7d4a369e82eea79ef281febb03d9267805f746bb","ref":"refs/heads/master","pushedAt":"2024-07-28T13:16:04.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"BoboTiG","name":"Mickaël Schoentgen","path":"/BoboTiG","primaryAvatarUrl":"https://github.com/avatars/u/2033598?s=80&v=4"},"commit":{"message":"[core] Run ruff, apply several fixes (#1033)\n\n- code simplifications here and there\r\n- introduce a proxy to guess the best `observer` class to import","shortMessageHtmlLink":"[core] Run ruff, apply several fixes (#1033)"}},{"before":"4043ef098214732662950c06c2b39407804b3153","after":"7cd723ac433781002062fdf6f6400043f0d9d55d","ref":"refs/heads/master","pushedAt":"2024-07-28T12:34:39.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"BoboTiG","name":"Mickaël Schoentgen","path":"/BoboTiG","primaryAvatarUrl":"https://github.com/avatars/u/2033598?s=80&v=4"},"commit":{"message":"chore: partly move settings from `setup.cfg` to `pyproject.toml`","shortMessageHtmlLink":"chore: partly move settings from setup.cfg to pyproject.toml"}},{"before":"914923cf519eeebf7b94911a30ad517b94221efe","after":"4043ef098214732662950c06c2b39407804b3153","ref":"refs/heads/master","pushedAt":"2024-07-28T12:07:53.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"BoboTiG","name":"Mickaël Schoentgen","path":"/BoboTiG","primaryAvatarUrl":"https://github.com/avatars/u/2033598?s=80&v=4"},"commit":{"message":"tests: improve flakyness + clean-up","shortMessageHtmlLink":"tests: improve flakyness + clean-up"}},{"before":"ab5117a9ddbd04e23bf9b703a3e1b7ef09490222","after":"914923cf519eeebf7b94911a30ad517b94221efe","ref":"refs/heads/master","pushedAt":"2024-07-28T06:45:21.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"BoboTiG","name":"Mickaël Schoentgen","path":"/BoboTiG","primaryAvatarUrl":"https://github.com/avatars/u/2033598?s=80&v=4"},"commit":{"message":"feat: centralize platform checks (#1051)\n\n* feat: centralize platform checks\r\n\r\n* fixes\r\n\r\n* skip macOS pypy","shortMessageHtmlLink":"feat: centralize platform checks (#1051)"}},{"before":"fb8abd0d30a3ec307c1e56df1f45f4a0b57b8eb4","after":null,"ref":"refs/heads/fix-missing-fsevent-obs-eventèfilter-kwarg","pushedAt":"2024-07-25T19:58:31.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"BoboTiG","name":"Mickaël Schoentgen","path":"/BoboTiG","primaryAvatarUrl":"https://github.com/avatars/u/2033598?s=80&v=4"}},{"before":"6294dafb5941c238427f5e4c2b1545540f16186d","after":"ab5117a9ddbd04e23bf9b703a3e1b7ef09490222","ref":"refs/heads/master","pushedAt":"2024-07-25T19:58:21.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"BoboTiG","name":"Mickaël Schoentgen","path":"/BoboTiG","primaryAvatarUrl":"https://github.com/avatars/u/2033598?s=80&v=4"},"commit":{"message":"[fsevents] Add missing `event_filter` keyword-argument to `FSEventsObserver.schedule()` (#1050)","shortMessageHtmlLink":"[fsevents] Add missing event_filter keyword-argument to `FSEventsOb…"}},{"before":"f815b21e5285384ffe7934d2b3f3ae537084ccbb","after":"fb8abd0d30a3ec307c1e56df1f45f4a0b57b8eb4","ref":"refs/heads/fix-missing-fsevent-obs-eventèfilter-kwarg","pushedAt":"2024-07-25T19:51:04.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"BoboTiG","name":"Mickaël Schoentgen","path":"/BoboTiG","primaryAvatarUrl":"https://github.com/avatars/u/2033598?s=80&v=4"},"commit":{"message":"[fsevents] Add missing `event_filter` keyword-argument to `FSEventsObserver.schedule()`","shortMessageHtmlLink":"[fsevents] Add missing event_filter keyword-argument to `FSEventsOb…"}},{"before":"6835adb8001517658d7368f254e4e16a48697729","after":"f815b21e5285384ffe7934d2b3f3ae537084ccbb","ref":"refs/heads/fix-missing-fsevent-obs-eventèfilter-kwarg","pushedAt":"2024-07-25T18:02:45.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"BoboTiG","name":"Mickaël Schoentgen","path":"/BoboTiG","primaryAvatarUrl":"https://github.com/avatars/u/2033598?s=80&v=4"},"commit":{"message":"fix mypy","shortMessageHtmlLink":"fix mypy"}},{"before":"8faacb9a4292369cabcf09a65441954a0b3e688b","after":"6835adb8001517658d7368f254e4e16a48697729","ref":"refs/heads/fix-missing-fsevent-obs-eventèfilter-kwarg","pushedAt":"2024-07-25T17:59:44.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"BoboTiG","name":"Mickaël Schoentgen","path":"/BoboTiG","primaryAvatarUrl":"https://github.com/avatars/u/2033598?s=80&v=4"},"commit":{"message":"fix","shortMessageHtmlLink":"fix"}},{"before":"4a7e1819c4fe4395001a240b8514e353bb3d6d40","after":"8faacb9a4292369cabcf09a65441954a0b3e688b","ref":"refs/heads/fix-missing-fsevent-obs-eventèfilter-kwarg","pushedAt":"2024-07-25T17:58:41.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"BoboTiG","name":"Mickaël Schoentgen","path":"/BoboTiG","primaryAvatarUrl":"https://github.com/avatars/u/2033598?s=80&v=4"},"commit":{"message":"Python 3.13 support","shortMessageHtmlLink":"Python 3.13 support"}},{"before":null,"after":"4a7e1819c4fe4395001a240b8514e353bb3d6d40","ref":"refs/heads/fix-missing-fsevent-obs-eventèfilter-kwarg","pushedAt":"2024-07-25T17:51:22.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"BoboTiG","name":"Mickaël Schoentgen","path":"/BoboTiG","primaryAvatarUrl":"https://github.com/avatars/u/2033598?s=80&v=4"},"commit":{"message":"[fsevents] Add missing `event_filter` keyword-argument to `FSEventsObserver.schedule()`","shortMessageHtmlLink":"[fsevents] Add missing event_filter keyword-argument to `FSEventsOb…"}},{"before":"402ad01bd69e43dd8ca162b83070cba541daa9ac","after":"6294dafb5941c238427f5e4c2b1545540f16186d","ref":"refs/heads/master","pushedAt":"2024-07-21T13:19:00.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"BoboTiG","name":"Mickaël Schoentgen","path":"/BoboTiG","primaryAvatarUrl":"https://github.com/avatars/u/2033598?s=80&v=4"},"commit":{"message":"docs: Update PatternMatchingEventHandler documentation (#1048)\n\n* Update PatternMatchingEventHandler documentation\r\n\r\nFrom the existing docs it's not clear what the difference is between\r\nPatternMatching and RegexMatching. Hopefully this makes it clearer.\r\n\r\nAlso made a note that RegexMatching uses the re module, since there are\r\nvarious flavors of regex syntax and it's important to know which one is\r\nused.\r\n\r\n* Apply suggestions from code review\r\n\r\n---------\r\n\r\nCo-authored-by: Mickaël Schoentgen ","shortMessageHtmlLink":"docs: Update PatternMatchingEventHandler documentation (#1048)"}},{"before":"9f23b599f369cdd873c0cf3dd9e69567234d78fb","after":"402ad01bd69e43dd8ca162b83070cba541daa9ac","ref":"refs/heads/master","pushedAt":"2024-07-21T13:17:20.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"BoboTiG","name":"Mickaël Schoentgen","path":"/BoboTiG","primaryAvatarUrl":"https://github.com/avatars/u/2033598?s=80&v=4"},"commit":{"message":"docs: Simplify the quickstart example (#1047)\n\nPersonally, I found the quickstart example to be jumbled and a little\r\nconfusing. It was hard for me to tell where I would put my own code to\r\nreact to file system events (indeed the quickstart never showed how to\r\ndo this).\r\n\r\nI also think the selection of the path using sys.argv and place\r\neverything under \"if name == main\" is unnecessary for the simple\r\nexample.","shortMessageHtmlLink":"docs: Simplify the quickstart example (#1047)"}},{"before":"b92b6fa46819452ef8d9b06b2df9f0747c986187","after":"9f23b599f369cdd873c0cf3dd9e69567234d78fb","ref":"refs/heads/master","pushedAt":"2024-05-23T16:13:07.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"BoboTiG","name":"Mickaël Schoentgen","path":"/BoboTiG","primaryAvatarUrl":"https://github.com/avatars/u/2033598?s=80&v=4"},"commit":{"message":"Bump the version","shortMessageHtmlLink":"Bump the version"}},{"before":"29ab1594a48544899f4124cf719e53f5f2c06da5","after":"b92b6fa46819452ef8d9b06b2df9f0747c986187","ref":"refs/heads/master","pushedAt":"2024-02-12T11:05:10.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"BoboTiG","name":"Mickaël Schoentgen","path":"/BoboTiG","primaryAvatarUrl":"https://github.com/avatars/u/2033598?s=80&v=4"},"commit":{"message":"doc: tweak\n\n[skip ci]","shortMessageHtmlLink":"doc: tweak"}},{"before":"2fe1609dd7e545b3bc02e4d026e42ef8629270b8","after":"29ab1594a48544899f4124cf719e53f5f2c06da5","ref":"refs/heads/master","pushedAt":"2024-02-12T11:02:16.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"BoboTiG","name":"Mickaël Schoentgen","path":"/BoboTiG","primaryAvatarUrl":"https://github.com/avatars/u/2033598?s=80&v=4"},"commit":{"message":"[inotify] Fix missing `event_filter` for the full emitter (#1032)","shortMessageHtmlLink":"[inotify] Fix missing event_filter for the full emitter (#1032)"}},{"before":"9a4f3e2f0c0b76a6aaf62f7c0e3b6b8e309a4944","after":"2fe1609dd7e545b3bc02e4d026e42ef8629270b8","ref":"refs/heads/master","pushedAt":"2024-02-06T23:55:22.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"BoboTiG","name":"Mickaël Schoentgen","path":"/BoboTiG","primaryAvatarUrl":"https://github.com/avatars/u/2033598?s=80&v=4"},"commit":{"message":"Bump the version","shortMessageHtmlLink":"Bump the version"}},{"before":"d134073f44701fb28126e73bd952c666d3adc68e","after":"9a4f3e2f0c0b76a6aaf62f7c0e3b6b8e309a4944","ref":"refs/heads/master","pushedAt":"2024-02-06T23:46:24.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"BoboTiG","name":"Mickaël Schoentgen","path":"/BoboTiG","primaryAvatarUrl":"https://github.com/avatars/u/2033598?s=80&v=4"},"commit":{"message":"ci: final fix","shortMessageHtmlLink":"ci: final fix"}},{"before":"df07c90ffee61e05448733aa1e205b46c116341a","after":"d134073f44701fb28126e73bd952c666d3adc68e","ref":"refs/heads/master","pushedAt":"2024-02-06T23:38:55.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"BoboTiG","name":"Mickaël Schoentgen","path":"/BoboTiG","primaryAvatarUrl":"https://github.com/avatars/u/2033598?s=80&v=4"},"commit":{"message":"ci: fix missing wheels","shortMessageHtmlLink":"ci: fix missing wheels"}},{"before":"c7a784295f548fe2b6d35dee8dc6bff7bb40a8d8","after":"df07c90ffee61e05448733aa1e205b46c116341a","ref":"refs/heads/master","pushedAt":"2024-02-06T22:10:34.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"BoboTiG","name":"Mickaël Schoentgen","path":"/BoboTiG","primaryAvatarUrl":"https://github.com/avatars/u/2033598?s=80&v=4"},"commit":{"message":"Bump the version","shortMessageHtmlLink":"Bump the version"}},{"before":"4f451f71ff5427113fc6fd176f849425837a6751","after":"c7a784295f548fe2b6d35dee8dc6bff7bb40a8d8","ref":"refs/heads/master","pushedAt":"2024-02-06T22:07:56.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"BoboTiG","name":"Mickaël Schoentgen","path":"/BoboTiG","primaryAvatarUrl":"https://github.com/avatars/u/2033598?s=80&v=4"},"commit":{"message":"ci: fix publish workflow","shortMessageHtmlLink":"ci: fix publish workflow"}},{"before":"38907be14f9942676e54aa74f0cd0bb264442a94","after":null,"ref":"refs/heads/dependabot/github_actions/actions/setup-python-5","pushedAt":"2024-02-06T21:32:19.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"BoboTiG","name":"Mickaël Schoentgen","path":"/BoboTiG","primaryAvatarUrl":"https://github.com/avatars/u/2033598?s=80&v=4"}},{"before":"e614fde656819f3d6ac50247432ec9f648312f5c","after":"4f451f71ff5427113fc6fd176f849425837a6751","ref":"refs/heads/master","pushedAt":"2024-02-06T21:32:16.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"BoboTiG","name":"Mickaël Schoentgen","path":"/BoboTiG","primaryAvatarUrl":"https://github.com/avatars/u/2033598?s=80&v=4"},"commit":{"message":"Bump actions/setup-python from 4 to 5 (#1028)\n\nBumps [actions/setup-python](https://github.com/actions/setup-python) from 4 to 5.\r\n- [Release notes](https://github.com/actions/setup-python/releases)\r\n- [Commits](https://github.com/actions/setup-python/compare/v4...v5)\r\n\r\n---\r\nupdated-dependencies:\r\n- dependency-name: actions/setup-python\r\n dependency-type: direct:production\r\n update-type: version-update:semver-major\r\n...\r\n\r\nSigned-off-by: dependabot[bot] \r\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>","shortMessageHtmlLink":"Bump actions/setup-python from 4 to 5 (#1028)"}},{"before":"72da7758898aecd3a72a06db5b695c159a9082ec","after":null,"ref":"refs/heads/dependabot/github_actions/actions/checkout-4","pushedAt":"2024-02-06T21:32:03.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"BoboTiG","name":"Mickaël Schoentgen","path":"/BoboTiG","primaryAvatarUrl":"https://github.com/avatars/u/2033598?s=80&v=4"}},{"before":"1ce88d5813b1a334962ebc7742916584d80fe999","after":"e614fde656819f3d6ac50247432ec9f648312f5c","ref":"refs/heads/master","pushedAt":"2024-02-06T21:32:00.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"BoboTiG","name":"Mickaël Schoentgen","path":"/BoboTiG","primaryAvatarUrl":"https://github.com/avatars/u/2033598?s=80&v=4"},"commit":{"message":"Bump actions/checkout from 3 to 4 (#1027)\n\nBumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.\r\n- [Release notes](https://github.com/actions/checkout/releases)\r\n- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)\r\n- [Commits](https://github.com/actions/checkout/compare/v3...v4)\r\n\r\n---\r\nupdated-dependencies:\r\n- dependency-name: actions/checkout\r\n dependency-type: direct:production\r\n update-type: version-update:semver-major\r\n...\r\n\r\nSigned-off-by: dependabot[bot] \r\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>","shortMessageHtmlLink":"Bump actions/checkout from 3 to 4 (#1027)"}},{"before":"ed41640aacb78750683e14c7b4a6a2141f5ba393","after":null,"ref":"refs/heads/dependabot/github_actions/actions/upload-artifact-4","pushedAt":"2024-02-06T21:31:48.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"BoboTiG","name":"Mickaël Schoentgen","path":"/BoboTiG","primaryAvatarUrl":"https://github.com/avatars/u/2033598?s=80&v=4"}},{"before":"26457de211254330d05f398fd26815403f76efc7","after":"1ce88d5813b1a334962ebc7742916584d80fe999","ref":"refs/heads/master","pushedAt":"2024-02-06T21:31:44.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"BoboTiG","name":"Mickaël Schoentgen","path":"/BoboTiG","primaryAvatarUrl":"https://github.com/avatars/u/2033598?s=80&v=4"},"commit":{"message":"Bump actions/upload-artifact from 3 to 4 (#1029)\n\nBumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 3 to 4.\r\n- [Release notes](https://github.com/actions/upload-artifact/releases)\r\n- [Commits](https://github.com/actions/upload-artifact/compare/v3...v4)\r\n\r\n---\r\nupdated-dependencies:\r\n- dependency-name: actions/upload-artifact\r\n dependency-type: direct:production\r\n update-type: version-update:semver-major\r\n...\r\n\r\nSigned-off-by: dependabot[bot] \r\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>","shortMessageHtmlLink":"Bump actions/upload-artifact from 3 to 4 (#1029)"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEi056CwA","startCursor":null,"endCursor":null}},"title":"Activity · gorakhargosh/watchdog"}