Compare commits

..

1 Commits

Author SHA1 Message Date
shokollm
d68a63af41 fix(kugetsu-session): extract_issue_ref_from_message fix URL parsing
Fix issue where full URLs like #158
were incorrectly parsed to 'shoko/kugetsu/issues#158' instead of
'git.fbrns.co/shoko/kugetsu#158'.

The regex now correctly extracts instance, owner, repo, and number
using bash regex capture groups instead of fragile sed/cut pipeline.
2026-04-06 02:51:51 +00:00

View File

@@ -156,13 +156,11 @@ extract_issue_ref_from_message() {
return return
fi fi
if [[ "$message" =~ (https?://[a-zA-Z0-9.-]+/[a-zA-Z0-9._-]+/[a-zA-Z0-9._-]+/(issues|pull)/[0-9]+) ]]; then if [[ "$message" =~ (https?://)?([a-zA-Z0-9.-]+)/([a-zA-Z0-9._-]+)/([a-zA-Z0-9._-]+)/(issues|pull)/([0-9]+) ]]; then
local url="${BASH_REMATCH[1]}" local instance="${BASH_REMATCH[2]}"
local path=$(echo "$url" | sed 's|https\?://||' | cut -d'/' -f2-) local owner="${BASH_REMATCH[3]}"
local instance=$(echo "$path" | cut -d'/' -f1) local repo="${BASH_REMATCH[4]}"
local owner=$(echo "$path" | cut -d'/' -f2) local num="${BASH_REMATCH[6]}"
local repo=$(echo "$path" | cut -d'/' -f3)
local num=$(echo "$path" | grep -oE '[0-9]+$')
echo "${instance}/${owner}/${repo}#${num}" echo "${instance}/${owner}/${repo}#${num}"
return return
fi fi