51 lines
1.6 KiB
Markdown
51 lines
1.6 KiB
Markdown
# 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
|