@@ -194,19 +194,29 @@ const FeedItems: React.FC<FeedItemsProps> = ({
194194 const idMatch = item . id . match (
195195 / ^ t a g : g i t h u b \. c o m , \d + : R e p o s i t o r y \/ ( \d + ) \/ ( .+ ) $ / ,
196196 ) ;
197- if ( idMatch ) {
197+ if ( idMatch ) {
198198 const [ , repoId , tag ] = idMatch ;
199199 // For GitHub releases, we need to determine the repo name from the feedId
200200 if ( feedId === "bluefinReleases" ) {
201201 itemLink = `https://github.com/ublue-os/bluefin/releases/tag/${ tag } ` ;
202202 } else if ( feedId === "bluefinLtsReleases" ) {
203203 itemLink = `https://github.com/ublue-os/bluefin-lts/releases/tag/${ tag } ` ;
204- } else if (
205- feedId === "bluefinDiscussions" ||
206- feedId === "bluefinAnnouncements"
207- ) {
208- // For discussions, the ID format might be different, but we'll try
209- itemLink = `https://github.com/ublue-os/bluefin/discussions/${ tag } ` ;
204+ }
205+ } else {
206+ // Try to match GitHub Discussion IDs
207+ // Format: "tag:github.com,2008:Discussion/12345"
208+ const discussionMatch = item . id . match (
209+ / ^ t a g : g i t h u b \. c o m , \d + : D i s c u s s i o n \/ ( \d + ) $ / ,
210+ ) ;
211+
212+ if ( discussionMatch ) {
213+ const [ , discussionId ] = discussionMatch ;
214+ if (
215+ feedId === "bluefinDiscussions" ||
216+ feedId === "bluefinAnnouncements"
217+ ) {
218+ itemLink = `https://github.com/ublue-os/bluefin/discussions/${ discussionId } ` ;
219+ }
210220 }
211221 }
212222 }
0 commit comments