Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

library: song-copies follow-ups (metered ranking, missing files, merge-off cost)

Aperta
#1,095 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
35/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
android, kotlin
Ambito
backend, mobile

Direzione di ricerca

Start with LibraryModule.kt, MeteredNetwork, CopyAvailability.kt, and LibraryCopies.kt, then read the linked follow-up context in #1069. The issue lists six separate follow-ups involving network changes, missing files, copy ranking, merge state, provider counts, and a later UI design step; identify which item is in scope before changing anything. For the first five, done means addressing the specified behavior and verifying it with focused playback or library tests; the sixth is deferred to a UI/UX design pass.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

bug

Follow-ups to #1069 step 1 (song copies merged across sources), from the re-review of worktree-song-match-corpus:

  1. Ranking after a network change (medium). LibraryModule.kt reads meteredNetwork.isMetered() only when a quality setting changes, so the streaming cap used for ranking is fixed at launch. Start on Wi-Fi, move to mobile data with a 128 kbps cap, and a remote FLAC still outranks a local 320 kbps MP3 under BestQuality. Needs a connectivity flow on MeteredNetwork.
  2. missingSongIds is never filled (CopyAvailability.kt). A local file deleted since the last scan still outranks a reachable server copy, then fails to play. Feed it from playback load failures or file checks, and fall back to the next copy (this ties in with step 2 playback fallback).
  3. Wasted work with merging off (LibraryCopies.kt). ranking() still emits on availability changes, so collectors re-filter and re-sort the whole library. Gate ranking() and grouping behind enabled.
  4. Race when merging is switched back on (LibraryCopies.kt). For a moment enabled is true while library still holds the unmerged snapshot. A favourite or exclude in that window touches one copy only.
  5. countSongsByProvider still counts per copy.
  6. Make primary and Preferred copy have no UI or setter use case yet. That belongs to step 3, which starts with the UI/UX design pass.
Lingua principale
Kotlin
Stelle
232
Fork
28
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di timusus/Shuttle2

Tutte le issue di timusus/Shuttle2

Issue simili

Altre issue su Kotlin

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.