From 39dee5157a7238f147090c1e7ef30224ebc25e07 Mon Sep 17 00:00:00 2001 From: thePR0M3TH3AN <53631862+PR0M3TH3AN@users.noreply.github.com> Date: Fri, 29 May 2026 09:09:23 -0400 Subject: [PATCH] New tab: sort by recency, not by trust tier MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adam reported the latest design (a premium one) was showing up about halfway down the New tab. The New-tab sort key was: (broken) || (trust tier weight) || (createdAt desc) So a recent post from someone you don't follow ranked BELOW older posts from people you do follow. That's the right behaviour for a "Following" tab, not a "New" tab — users expect newest-first when they click New. Trust tier removed from the New-tab sort. Recency wins, with broken-preview still as the only soft demotion so a wall of missing images doesn't lead. The existing Trust dropdown on the filter row is already there for users who want to scope to follows / extended-follows; this change just stops it from being silently the dominant sort. Other tabs are unchanged: Popular still uses zap-total → reactions → trust → createdAt, Zapped uses zap-total → trust → createdAt, Premium uses createdAt → unlock-min. Co-Authored-By: Claude Opus 4.7 --- src/index.html | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/index.html b/src/index.html index 9e160cb..d64d921 100644 --- a/src/index.html +++ b/src/index.html @@ -20947,7 +20947,12 @@ // "Mine" tab keeps everything because users want to see their own posts. if (tab !== 'Mine') rows = dedupByFingerprint(rows); if (tab === 'New') { - rows.sort((a, b) => (Number(isPreviewBroken(a)) - Number(isPreviewBroken(b))) || (TIER_WEIGHT[a.trust] - TIER_WEIGHT[b.trust]) || (b.createdAt - a.createdAt)); + // "New" means newest first. Broken-image previews still sink to + // the bottom so the wall doesn't lead with junk, but trust tier + // is NOT a sort key on this tab — that's what the Trust filter + // dropdown is for. Use Popular if you want trust- and zap- + // weighted ranking. + rows.sort((a, b) => (Number(isPreviewBroken(a)) - Number(isPreviewBroken(b))) || (b.createdAt - a.createdAt)); } else if (tab === 'Premium') { // Newest premium first; cheaper unlocks before pricier ones at the // same recency.