5 Commits

Author SHA1 Message Date
nkanaev
506fe1cae6 update changelog 2026-01-23 20:09:05 +00:00
nkanaev
1d97314825 declare default namespace explicitly 2026-01-23 20:04:29 +00:00
nkanaev
e1ecb6760b Update changelog.md 2025-12-28 14:16:23 +00:00
rksvc
953f560a11 fix crash on empty item list with item selected 2025-12-28 14:13:46 +00:00
nkanaev
3d69911aa8 reset article list right after filter/feed is selected 2025-12-11 11:22:14 +00:00
4 changed files with 18 additions and 8 deletions

View File

@@ -1,5 +1,11 @@
# upcoming # upcoming
- (fix) articles not resetting immediately after feed/filter selection (thank to @scratchmex for the report)
- (fix) crash on empty article list with article is selected (thanks to @rksvc)
- (fix) invalid article title in RSS feeds with media containing titles (thanks to @bwwu-git for the report)
# v2.6 (2025-11-24)
- (new) serve on unix socket (thanks to @rvighne) - (new) serve on unix socket (thanks to @rvighne)
- (new) more auto-refresh options: 12h & 24h (thanks to @aswerkljh for suggestion) - (new) more auto-refresh options: 12h & 24h (thanks to @aswerkljh for suggestion)
- (fix) smooth scrolling on iOS (thanks to gatheraled) - (fix) smooth scrolling on iOS (thanks to gatheraled)

View File

@@ -339,10 +339,10 @@
<span class="icon">{% inline "external-link.svg" %}</span> <span class="icon">{% inline "external-link.svg" %}</span>
</a> </a>
<div class="flex-grow-1"></div> <div class="flex-grow-1"></div>
<button class="toolbar-item" @click="navigateToItem(-1)" title="Previous Article" :disabled="itemSelected == items[0].id"> <button class="toolbar-item" @click="navigateToItem(-1)" title="Previous Article" :disabled="!items.length || itemSelected == items[0].id">
<span class="icon">{% inline "chevron-left.svg" %}</span> <span class="icon">{% inline "chevron-left.svg" %}</span>
</button> </button>
<button class="toolbar-item" @click="navigateToItem(+1)" title="Next Article" :disabled="itemSelected == items[items.length - 1].id"> <button class="toolbar-item" @click="navigateToItem(+1)" title="Next Article" :disabled="!items.length || itemSelected == items[items.length - 1].id">
<span class="icon">{% inline "chevron-right.svg" %}</span> <span class="icon">{% inline "chevron-right.svg" %}</span>
</button> </button>
<button class="toolbar-item" @click="itemSelected=null" title="Close Article"> <button class="toolbar-item" @click="itemSelected=null" title="Close Article">

View File

@@ -361,14 +361,18 @@ var vm = new Vue({
}, },
'filterSelected': function(newVal, oldVal) { 'filterSelected': function(newVal, oldVal) {
if (oldVal === undefined) return // do nothing, initial setup if (oldVal === undefined) return // do nothing, initial setup
api.settings.update({filter: newVal}).then(this.refreshItems.bind(this, false))
this.itemSelected = null this.itemSelected = null
this.items = []
this.itemsHasMore = true
api.settings.update({filter: newVal}).then(this.refreshItems.bind(this, false))
this.computeStats() this.computeStats()
}, },
'feedSelected': function(newVal, oldVal) { 'feedSelected': function(newVal, oldVal) {
if (oldVal === undefined) return // do nothing, initial setup if (oldVal === undefined) return // do nothing, initial setup
api.settings.update({feed: newVal}).then(this.refreshItems.bind(this, false))
this.itemSelected = null this.itemSelected = null
this.items = []
this.itemsHasMore = true
api.settings.update({feed: newVal}).then(this.refreshItems.bind(this, false))
if (this.$refs.itemlist) this.$refs.itemlist.scrollTop = 0 if (this.$refs.itemlist) this.$refs.itemlist.scrollTop = 0
}, },
'itemSelected': function(newVal, oldVal) { 'itemSelected': function(newVal, oldVal) {

View File

@@ -20,12 +20,12 @@ type rssFeed struct {
} }
type rssItem struct { type rssItem struct {
GUID rssGuid `xml:"guid"` GUID rssGuid `xml:"rss guid"`
Title string `xml:"title"` Title string `xml:"rss title"`
Link string `xml:"rss link"` Link string `xml:"rss link"`
Description string `xml:"rss description"` Description string `xml:"rss description"`
PubDate string `xml:"pubDate"` PubDate string `xml:"rss pubDate"`
Enclosures []rssEnclosure `xml:"enclosure"` Enclosures []rssEnclosure `xml:"rss enclosure"`
DublinCoreDate string `xml:"http://purl.org/dc/elements/1.1/ date"` DublinCoreDate string `xml:"http://purl.org/dc/elements/1.1/ date"`
ContentEncoded string `xml:"http://purl.org/rss/1.0/modules/content/ encoded"` ContentEncoded string `xml:"http://purl.org/rss/1.0/modules/content/ encoded"`