diff options
| author | Peter Stone <thepeterstone@gmail.com> | 2026-10-17 07:37:59 +0000 |
|---|---|---|
| committer | Peter Stone <thepeterstone@gmail.com> | 2026-10-17 07:37:59 +0000 |
| commit | bd2a8ba9b681097dafd443695d9a7ebf22c7570d (patch) | |
| tree | 9857b2200c229af4eb98118af0136a6c31138af6 /config | |
| parent | 203e8a6d9e2392f991936b2a6dbdc7dc05cdc3c9 (diff) | |
Wait for the server's copy instead of silently taking the publisher's
With a skip server configured, a podcast episode it cannot supply yet (pending,
unreachable, bad answer, or audio that fails) now enters WAITING_FOR_SERVER and is
retried on every refresh, instead of falling back to the publisher's differently-ad-
inserted file. Taking the publisher's copy is an explicit action on the episode screen
that sets audioFromServer=false. No server configured, YouTube/Facebook and unresolvable
feeds still download directly. No schema change: downloadState is stored by name as TEXT.
detekt: EpisodeDao and ListenViewModel function-count thresholds raised by one (rationale
in detekt.yml).
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018AwnALZL6bD4VBtATDVv3B
Diffstat (limited to 'config')
| -rw-r--r-- | config/detekt/detekt.yml | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/config/detekt/detekt.yml b/config/detekt/detekt.yml index cbb4390..8e94ed5 100644 --- a/config/detekt/detekt.yml +++ b/config/detekt/detekt.yml @@ -20,14 +20,17 @@ style: complexity: TooManyFunctions: - thresholdInInterfaces: 21 # Room DAOs are broad by nature -- each query is a method, and + thresholdInInterfaces: 22 # Room DAOs are broad by nature -- each query is a method, and # splitting one table's access across several interfaces to satisfy a count would make the # data layer harder to follow, not easier. Raised from 20 when EpisodeDao picked up # downloadedFromServer (the skip-refresh filter): one more genuinely distinct query, not - # scope creep. - thresholdInClasses: 20 # same for the view model: it is a flat list of one-line user actions + # scope creep. Raised again to 22 for waitingForServer, which cannot reuse queuedDownloads: + # a bounded retry must go newest first, or episodes the server has aged out of its newest-8 + # window would starve the ones it still has. + thresholdInClasses: 21 # same for the view model: it is a flat list of one-line user actions # (enqueue, download, mark played), and splitting it by count rather than by meaning would - # scatter related behaviour across types for no gain. + # scatter related behaviour across types for no gain. 21 with downloadFromPublisher, the + # explicit choice the episode screen offers a waiting download. naming: FunctionNaming: |
