Archilyzer · Source

archilyzer

Archilyzer
git clone https://archilyzer.pages.dev/source/archilyzer.git
Log | Files | Refs | README | LICENSE

commit 041ebe5c0c738dfd2047e83c8b0ac15e527ad23f
parent cb8a042d27f4d43546208bd061c78bc3a3bf6c95
Author: I Mean I'm Just Saying <imeanimjustsaying@kiwifarms.st>
Date:   Tue, 29 Sep 2026 21:37:14 -0400

common: a shared channel stays the listed site's when the unlisted site's id sorts first (review L3)

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

Diffstat:
Mcommon/lib/homepageSummary.test.ts | 16++++++++++++++++
1 file changed, 16 insertions(+), 0 deletions(-)

diff --git a/common/lib/homepageSummary.test.ts b/common/lib/homepageSummary.test.ts @@ -328,3 +328,19 @@ test("an unlisted site with no siteUrl, or with every channel shared, changes no const listedTrue = SITES.map((x) => ({ ...x, listed: true })) as Site[]; assert.deepEqual(buildHomepageSummary(STATS, CHANNEL_SITES, listedTrue, NOW), base); }); + +test("a shared channel is the listed site's even when the unlisted site's id sorts first", () => { + const base = buildHomepageSummary(STATS, CHANNEL_SITES, SITES, NOW); + // "aaa-hidden" < "beta": the primary pick sorts ids, so only the listed + // filter keeps b1 with beta. + const unlisted = { ...site("aaa-hidden", ["b1", "q1"], "https://aaa-hidden.example"), listed: false } as Site; + const s = buildHomepageSummary( + [...STATS, stat({ channelSlug: "q1", id: "q-1", uploadDate: "20251101" })], + { ...CHANNEL_SITES, b1: ["aaa-hidden", "beta"], q1: ["aaa-hidden"] }, + [unlisted, ...SITES], + NOW, + ); + assert.deepEqual(s, base); + assert.ok(s.recent.filter((r) => r.slug.startsWith("b1/")).every((r) => r.siteId === "beta")); + assert.ok(!JSON.stringify(s).includes("aaa-hidden")); +});