From 0bf55868818a6d8d58534915f6d52ec3c299a5f0 Mon Sep 17 00:00:00 2001
From: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com>
Date: Wed, 8 May 2019 15:03:43 -0700
Subject: [PATCH 1/3] Use feed's title if item does not have one
This prevents a link from not being shown if an item's title could not be extracted.
Workaround(?) fix for matrix-org#284.
---
src/github.com/matrix-org/go-neb/services/rssbot/rssbot.go | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/src/github.com/matrix-org/go-neb/services/rssbot/rssbot.go b/src/github.com/matrix-org/go-neb/services/rssbot/rssbot.go
index 32495c5..d3622e5 100644
--- a/src/github.com/matrix-org/go-neb/services/rssbot/rssbot.go
+++ b/src/github.com/matrix-org/go-neb/services/rssbot/rssbot.go
@@ -349,6 +349,11 @@ func (s *Service) sendToRooms(cli *gomatrix.Client, feedURL string, feed *gofeed
}
func itemToHTML(feed *gofeed.Feed, item gofeed.Item) gomatrix.HTMLMessage {
+ // If an item does not have a title, try using the feed's title instead
+ if item.Title == "" {
+ item.Title = feed.Title
+ }
+
return gomatrix.HTMLMessage{
Body: fmt.Sprintf("%s: %s (%s)",
html.EscapeString(feed.Title), html.EscapeString(item.Title), html.EscapeString(item.Link)),
From 5188df5d0edde82aa7a445bfc424b845fde1baed Mon Sep 17 00:00:00 2001
From: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com>
Date: Thu, 9 May 2019 01:21:36 -0700
Subject: [PATCH 2/3] Don't mutate the passed in attribute
---
.../matrix-org/go-neb/services/rssbot/rssbot.go | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/src/github.com/matrix-org/go-neb/services/rssbot/rssbot.go b/src/github.com/matrix-org/go-neb/services/rssbot/rssbot.go
index d3622e5..0d1ad52 100644
--- a/src/github.com/matrix-org/go-neb/services/rssbot/rssbot.go
+++ b/src/github.com/matrix-org/go-neb/services/rssbot/rssbot.go
@@ -350,8 +350,10 @@ func (s *Service) sendToRooms(cli *gomatrix.Client, feedURL string, feed *gofeed
func itemToHTML(feed *gofeed.Feed, item gofeed.Item) gomatrix.HTMLMessage {
// If an item does not have a title, try using the feed's title instead
- if item.Title == "" {
- item.Title = feed.Title
+ // Create a new variable instead of mutating that which is passed in
+ itemTitle = item.Title
+ if itemTitle == "" {
+ itemTitle = feed.Title
}
return gomatrix.HTMLMessage{
@@ -360,7 +362,7 @@ func itemToHTML(feed *gofeed.Feed, item gofeed.Item) gomatrix.HTMLMessage {
MsgType: "m.notice",
Format: "org.matrix.custom.html",
FormattedBody: fmt.Sprintf("%s:
%s",
- html.EscapeString(feed.Title), html.EscapeString(item.Link), html.EscapeString(item.Title)),
+ html.EscapeString(feed.Title), html.EscapeString(item.Link), html.EscapeString(itemTitle)),
// FeedTitle:
//
// Title of the Entry
From d9213d61a46b71156b2db7024f7d89302af33a89 Mon Sep 17 00:00:00 2001
From: Kegan Dougal
Date: Wed, 8 Apr 2020 15:37:37 +0100
Subject: [PATCH 3/3] Make it compile
---
src/github.com/matrix-org/go-neb/services/rssbot/rssbot.go | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/github.com/matrix-org/go-neb/services/rssbot/rssbot.go b/src/github.com/matrix-org/go-neb/services/rssbot/rssbot.go
index 0d1ad52..654c9fe 100644
--- a/src/github.com/matrix-org/go-neb/services/rssbot/rssbot.go
+++ b/src/github.com/matrix-org/go-neb/services/rssbot/rssbot.go
@@ -351,7 +351,7 @@ func (s *Service) sendToRooms(cli *gomatrix.Client, feedURL string, feed *gofeed
func itemToHTML(feed *gofeed.Feed, item gofeed.Item) gomatrix.HTMLMessage {
// If an item does not have a title, try using the feed's title instead
// Create a new variable instead of mutating that which is passed in
- itemTitle = item.Title
+ itemTitle := item.Title
if itemTitle == "" {
itemTitle = feed.Title
}