mirror of
https://gh.wpcy.net/https://github.com/discourse/discourse.git
synced 2026-05-09 11:25:31 +08:00
I wanted a better way to show a live/up-to-date status of a PR than what the https://github.com/discourse/github-status-theme provided. First, I wanted it to work on any PR, including ones in private repositories. Second, I wanted to include the approved status, which requires a 2nd call to GitHub's API. Third, I wanted something that was less "intrusive" than the "shield-like" status, so I opted out to use the icons & color that GitHub uses (but maybe that's a bad idea). After a first PoC that was a dump proxy to handle authentication for private repositories, the idea to use org webhooks was raised and turned out to be much lighter and easier than figuring out a proper caching strategy. So this adds support for receiving `pull_request` and `pull_request_review` webhooks events to schedule a background job that will rebake posts and chat messages that have a link to the mentioned PR. The GitHub PR onebox has been updated to query and parse the review state so we can have a better icon. This also adds the `Chat::MessageLink` model (that is the #chat version of `TopicLink`) to help better keep track of links posted in chat. **BEFORE** <img width="1525" height="1356" alt="BEFORE" src="https://github.com/user-attachments/assets/02f66137-9f4f-4a91-b321-73816161e204" /> **AFTER** <img width="1525" height="1356" alt="AFTER" src="https://github.com/user-attachments/assets/2164b7ef-8cd0-4cec-aea8-936a76a94fb2" /> Internal ref - t/17138 |
||
|---|---|---|
| .. | ||
| discourse_github | ||