dessant / lock-threads

GitHub Action that locks closed issues, pull requests and discussions after a period of inactivity
https://github.com/marketplace/actions/lock-threads
MIT License
313 stars 34 forks source link

App stops locking pull requests after some time #5

Closed dessant closed 5 years ago

dessant commented 6 years ago

Pull request update times are ignored by the updated filter, notice the updated label for search results listing a more recent date than what was requested: https://github.com/babel/babel/pulls?q=updated%3A%3C2018-02-01+is%3Aclosed+sort%3Aupdated-desc+is%3Apr

Issues are filtered as expected: https://github.com/babel/babel/issues?utf8=%E2%9C%93&q=updated%3A%3C2018-02-01+is%3Aclosed+sort%3Aupdated-desc+is%3Aissue

We have to use the updated filter to get lockable issues without parsing the entire issue list, because there is no filter for unlocked issues. The updated filter bug causes the app to stop locking pull requests once at least 30 of them have been locked.

I have contacted GitHub support about the issue, will update this thread once we get a response.

dessant commented 6 years ago

Thanks for reaching out about this! We have an issue open about this already and I've added your report there. Basically, a PR is a special kind of issue. And sometimes the updated_at information from the PR doesn't sync with the updated_at info for the underlying issue. I don't have an ETA on when this might be fixed, but we'll follow up as soon as there's news!

dessant commented 6 years ago

Starting https://github.com/dessant/lock-threads/commit/ecb0e912314e17d95607fa7754c889d4c8d02933 issues and prs are searched separately, so this bug only affects pull requests now, issues are locked as expected even without setting the only: issues config option.

dessant commented 6 years ago

It turns out there is an undocumented filter for is:locked, and is:unlocked also seems to work. We would need the latter, but it isn't supported yet by GitHub, and it conflicts with is:closed or state:closed.

The query also lists open pull requests at the moment: https://github.com/babel/babel/pulls?utf8=%E2%9C%93&q=updated%3A%3C2018-02-01+sort%3Aupdated-desc+is%3Apr+is%3Aclosed+is%3Aunlocked

dessant commented 5 years ago

The is:unlocked search qualifier now appears to work as expected. Issues were also being missed, so existing installations will see a new wave of locking after this release.

hzoo commented 5 years ago

Not sure why I wasn't subscribed to this anymore but glad it was fixed!