Directory lists the feeds inside an OPML, not the OPML

Popular still counts an OPML as one feed, since everyone subscribed to it
counts for every feed inside and they would bury the rest. The directory is
for finding a show, so it lists them one by one and never the OPML. A feed
inside an OPML that looks private is hidden with it.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TAC7sLVqfKmY6rsTLXzNgk
This commit is contained in:
2026-09-12 02:26:52 +00:00
parent 2af57065c6
commit 457a58dcc5
6 changed files with 55 additions and 30 deletions

View File

@@ -775,9 +775,9 @@ const unreadFirst=(a,b)=>(b.unread>0)-(a.unread>0);
// an id starting with ':' can never be a feed's, since feed ids are slugs.
const VIEWS={
':directory':{title:'Directory',icon:ICON.directory,url:'/api/directory',
blurb:'Every feed anyone on this server subscribes to, A to Z.'},
blurb:'Every feed anyone on this server subscribes to, A to Z. The feeds inside an OPML are listed one by one, not the OPML.'},
':popular':{title:'Popular',icon:ICON.popular,url:'/api/popular',
blurb:'The ten feeds with the most subscribers here.'},
blurb:'The ten feeds with the most subscribers here. An OPML counts as one feed.'},
':all':{title:'All Subscriptions',icon:ICON.all},
};
function renderFeeds(){
@@ -1592,8 +1592,7 @@ async function renderListed(v){
<div class="fhead slim">
<div class="art">${v.icon}</div>
<div class="meta"><h2>${v.title}</h2>
<div class="sub">${v.blurb} Everyone counts, you included. Feeds inside an OPML
subscription, and private feeds, are never listed.</div></div>
<div class="sub">${v.blurb} Everyone counts, you included. Private feeds are never listed.</div></div>
</div>
<div class="childlist" id="popular"><p class="hint">Loading…</p></div>`;
$('#count').textContent=v.title;