Create BearWave macOS radio-first app
This commit is contained in:
50
TODO.md
Normal file
50
TODO.md
Normal file
@@ -0,0 +1,50 @@
|
||||
# TODO
|
||||
|
||||
This file tracks the next practical work items for BearWave on macOS.
|
||||
|
||||
## High Priority
|
||||
|
||||
- Harden packaging and distribution
|
||||
- move beyond the current SwiftPM-staged debug-style app bundle
|
||||
- clarify signing, entitlements, and notarization path
|
||||
|
||||
- Expand playback diagnostics
|
||||
- expose clearer failure reasons per stream
|
||||
- improve visibility into buffering, retry, offline, and codec issues
|
||||
|
||||
- Add more verification around playback behavior
|
||||
- playback state transitions
|
||||
- metadata updates
|
||||
- retry behavior
|
||||
|
||||
## Medium Priority
|
||||
|
||||
- Improve cache management
|
||||
- add eviction for API cache
|
||||
- add eviction for artwork cache
|
||||
- review memory growth during long sessions
|
||||
|
||||
- Refine artwork behavior
|
||||
- make fallback ordering more explicit
|
||||
- verify radio artwork behavior across edge cases
|
||||
|
||||
- Tighten documentation drift
|
||||
- keep `README.md`, `AGENTS.md`, and `ARCHITECTURE.md` aligned with code changes
|
||||
|
||||
## Lower Priority
|
||||
|
||||
- More advanced favorites/folder workflows
|
||||
- Additional menu bar workflows
|
||||
- More targeted UI polish for empty/loading/error states
|
||||
|
||||
## Technical Debt
|
||||
|
||||
- `AppModel` should stay under control as the app grows; watch for coordinator bloat
|
||||
- `script/build_and_run.sh` is central to local development and currently carries packaging assumptions that should eventually move into a cleaner release pipeline
|
||||
- The share-folder copy of the repo should not be treated as the current source of truth
|
||||
|
||||
## Things Not To Regress
|
||||
|
||||
- Global search must stay independent from the current browse page
|
||||
- Search ranking must stay stricter than raw API substring results
|
||||
- Explicit playback states must remain visible in the model and UI
|
||||
Reference in New Issue
Block a user