From b4682be00101ea951b591da3c01434c34e2f3154 Mon Sep 17 00:00:00 2001 From: Steve Dignam Date: Wed, 3 Sep 2025 08:58:23 +0200 Subject: [PATCH] github: fix calling API erroring for some reason github started blocking calls, maybe related to the http tls change? adding a user agent worked. --- crates/squawk_github/src/actions.rs | 4 ++++ crates/squawk_github/src/app.rs | 9 ++++++++- s/update-version | 4 ++++ 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/crates/squawk_github/src/actions.rs b/crates/squawk_github/src/actions.rs index 39b668b5..f6545ba2 100644 --- a/crates/squawk_github/src/actions.rs +++ b/crates/squawk_github/src/actions.rs @@ -1,4 +1,7 @@ +use log::info; + use crate::app; +use crate::app::SQUAWK_USER_AGENT; use crate::{Comment, DEFAULT_GITHUB_API_URL, GitHubApi, GithubError}; pub struct GitHub { @@ -13,6 +16,7 @@ impl GitHub { #[must_use] pub fn new_with_url(github_api_url: &str, github_token: &str) -> Self { + info!("github user agent {SQUAWK_USER_AGENT}"); GitHub { github_api_url: github_api_url.to_string(), github_token: github_token.to_string(), diff --git a/crates/squawk_github/src/app.rs b/crates/squawk_github/src/app.rs index cbf47317..158cb24a 100644 --- a/crates/squawk_github/src/app.rs +++ b/crates/squawk_github/src/app.rs @@ -5,12 +5,14 @@ use crate::{Comment, DEFAULT_GITHUB_API_URL, GitHubApi, GithubError}; use jsonwebtoken::{Algorithm, EncodingKey, Header}; use log::info; -use reqwest::header::{ACCEPT, AUTHORIZATION}; +use reqwest::header::{ACCEPT, AUTHORIZATION, USER_AGENT}; use serde::{Deserialize, Serialize}; use serde_json::Value; use std::time::Duration; use std::time::{SystemTime, UNIX_EPOCH}; +pub(crate) const SQUAWK_USER_AGENT: &str = "squawk/2.25.0"; + #[derive(Debug, Serialize)] struct CommentBody { pub body: String, @@ -43,6 +45,7 @@ fn create_access_token( )) .header(AUTHORIZATION, format!("Bearer {jwt}")) .header(ACCEPT, "application/vnd.github.machine-man-preview+json") + .header(USER_AGENT, SQUAWK_USER_AGENT) .send()? .error_for_status()? .json::()?) @@ -70,6 +73,7 @@ pub(crate) fn create_comment( issue_number = comment.issue )) .header(AUTHORIZATION, format!("Bearer {secret}")) + .header(USER_AGENT, SQUAWK_USER_AGENT) .json(&comment_body) .send()? .error_for_status()?; @@ -87,6 +91,7 @@ pub fn get_app_info(github_api_url: &str, jwt: &str) -> Result()?) @@ -176,6 +181,7 @@ pub(crate) fn list_comments( )) .query(&[("per_page", 100)]) .header(AUTHORIZATION, format!("Bearer {secret}",)) + .header(USER_AGENT, SQUAWK_USER_AGENT) .send()? .error_for_status()? .json::>()?) @@ -203,6 +209,7 @@ pub(crate) fn update_comment( "{github_api_url}/repos/{owner}/{repo}/issues/comments/{comment_id}", )) .header(AUTHORIZATION, format!("Bearer {secret}")) + .header(USER_AGENT, SQUAWK_USER_AGENT) .json(&CommentBody { body }) .send()? .error_for_status()?; diff --git a/s/update-version b/s/update-version index 5af2e891..f1ee23d5 100755 --- a/s/update-version +++ b/s/update-version @@ -30,10 +30,14 @@ main() { fastmod --accept-all '"version": ".*"' '"version": "'$NEW_VERSION'"' package.json fastmod --accept-all '"version": ".*"' '"version": "'$NEW_VERSION'"' squawk-vscode/package.json fastmod --accept-all -m '(pname = "squawk";.*?)version = ".*?"' '${1}version = "'$NEW_VERSION'"' flake.nix + fastmod --accept-all 'pub(crate) const SQUAWK_USER_AGENT: &str = "squawk/.*"' 'pub(crate) const SQUAWK_USER_AGENT: &str = "squawk/'$NEW_VERSION'"' crates/squawk_github/src/app.rs echo "Updating CHANGELOG.md..." CURRENT_DATE=$(date +"%Y-%m-%d") sed -i '' "s/^## \[Unreleased\]$/## [Unreleased]\n\n## v$NEW_VERSION - $CURRENT_DATE/" CHANGELOG.md + + echo "Opening CHANGELOG.md for editing..." + ${EDITOR:-vi} CHANGELOG.md }