docs: the history phrases the id sweep missed, restated as present-tense facts or traps (#6277)
release / govulncheck (push) Successful in 19s
release / web (push) Successful in 1m14s
release / go (push) Successful in 1m43s
release / integration (push) Successful in 5m18s
release / android (push) Successful in 5m33s
release / Build signed APK (releases and dev) (push) Successful in 5m40s
release / Attach APK to the Release (tag releases only) (push) Skipped
release / Build + push container image (push) Successful in 25s
release / Verify release artifacts (tag releases only) (push) Skipped

A wider pass for "previous", "before the fix", "we shipped" and the
like. The chi double-subtree, uppercase Vorbis key and stopPropagation
comments now describe the trap they guard; commit hashes, CI run
numbers and a deleted file name are gone; uuidString's comment says
what it returns.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-23 12:43:11 -04:00
co-authored by Claude Opus 5.5
parent 10d50dccbd
commit 9f588b6d61
12 changed files with 32 additions and 39 deletions
@@ -70,15 +70,12 @@ describe('DiscoverResultCard', () => {
expect(onRequest).not.toHaveBeenCalled();
});
// NOTE: previous versions of this file asserted .badge-row { min-height: 22px
// } and .actions { margin-top: auto } via getComputedStyle, which only worked
// because the component shipped inline style="" attributes — a layering
// violation. Stylesheet introspection (document.styleSheets) was tried as a
// replacement, but vitest's @testing-library/svelte renderer does not inject
// the component's scoped <style> block into jsdom (styleSheets.length === 0).
// Asserting "CSS exists in CSS" has weak value anyway, so the layout
// discipline (reserved badge slot + bottom-anchored actions) is enforced
// visually at the consumer page rather than as a unit test here.
// The layout discipline (reserved badge slot + bottom-anchored actions) is
// not asserted here: vitest's @testing-library/svelte renderer does not
// inject the component's scoped <style> block into jsdom
// (styleSheets.length === 0), so getComputedStyle sees nothing, and
// asserting "CSS exists in CSS" has weak value anyway. It is checked
// visually at the consumer page.
test('renders <img> when imageUrl is set', () => {
const { container } = render(DiscoverResultCard, {
@@ -210,10 +210,10 @@ describe('SuggestionFeed snooze (#2375)', () => {
expect(screen.getByText(/back in 14 days/i)).toBeInTheDocument();
});
// Pins the days→months seam. The singular branch was originally dead code
// here too: the threshold (45) sat above the divisor (30), so no day count
// could round to one month without hitting the days branch first. Kept in
// lockstep with SuggestionSnoozeRefTest on Android.
// Pins the days→months seam: with a threshold above the divisor (45 vs 30),
// no day count could round to one month without hitting the days branch
// first, and the singular branch would be dead code. Kept in lockstep with
// SuggestionSnoozeRefTest on Android.
test('the days-to-months boundary sits at 30 days, so "a month" is reachable', () => {
setSuggestions([]);
setSnoozes([
+1 -1
View File
@@ -2,7 +2,7 @@
* A shuffled copy of `items` (Fisher–Yates). The input is not touched.
*
* The one copy for every Shuffle control: the album and playlist headers
* and the artist card's play button each had their own before this.
* and the artist card's play button.
*/
export function shuffled<T>(items: readonly T[]): T[] {
const arr = items.slice();