DLNA renderers, app updates told like Librarian, acquisition without Lidarr, Collection and admin rework (M502–M505, M542) #156

Merged
bvandeusen merged 117 commits from dev into main 2026-10-26 12:32:33 -04:00
2 changed files with 4 additions and 3 deletions
Showing only changes of commit 0cc4bc686a - Show all commits
+2 -2
View File
@@ -254,14 +254,14 @@
{#each r.reports as rep, i (rep.user_id + i)}
<li>
<span class="text-text-primary">{rep.username}</span> flagged it ·
{REASON_LABELS[rep.reason] ?? rep.reason}{#if rep.notes} · <span class="italic">{rep.notes}</span>{/if}
{REASON_LABELS[rep.reason] ?? rep.reason}{#if rep.notes}{' · '}<span class="italic">{rep.notes}</span>{/if}
· {relativeTime(rep.created_at)}
</li>
{/each}
{#each r.errors as e (e.id)}
<li>
Failed to play for <span class="text-text-primary">{e.username}</span> ·
{ERROR_LABELS[e.kind] ?? e.kind}{#if e.detail} · {e.detail}{/if} · {relativeTime(e.occurred_at)}
{ERROR_LABELS[e.kind] ?? e.kind}{#if e.detail}{` · ${e.detail}`}{/if} · {relativeTime(e.occurred_at)}
</li>
{/each}
{#if r.file_path}
+2 -1
View File
@@ -103,7 +103,8 @@ describe('/admin/reports', () => {
setup([flagged], [failure('e2', 't2', 'Intro', 2)]);
expect(screen.getByRole('button', { name: /delete via lidarr for roygbiv/i })).toBeInTheDocument();
expect(screen.queryByRole('button', { name: /delete via lidarr for intro/i })).toBeNull();
await fireEvent.click(screen.getAllByRole('button', { name: /more actions/i })[0]);
const roygbiv = screen.getAllByTestId('report-row').find((r) => r.textContent?.includes('Roygbiv'))!;
await fireEvent.click(within(roygbiv).getByRole('button', { name: /more actions/i }));
expect(within(screen.getByRole('menu')).getByText('Delete via Lidarr')).toBeInTheDocument();
});