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 }