BlueHuskyStudios / BlueHuskyStudios/DeadassSimpleMediaPlayer
The reactivity model mixes three paradigms, mostly by accretion rather than by decision
- Dominant language
- Swift
- Stars
- 0
- Forks
- 3
- Avg merge
- 2d 22h
- Merged PRs (30d)
- 9
Description
`@Observable` for app state, Combine for bridging `NotificationCenter`/KVC publishers, and raw KVO for item-readiness. The KVO choice is principled and documented — Ky's own comment records trying the Combine KVO publisher first, finding it unreliable in practice, and deliberately dropping to the mechanism that works. The Combine-everywhere-else pattern reads more like "whatever was available when each piece was written" than a considered choice.
Neither is wrong on its own, and none of this is urgent — but the aggregate is more paradigms than the app needs, and it's the shape incremental session-by-session development naturally produces. Worth naming as debt rather than letting it read as intentional.
Contributor guide
Research direction
Start by locating the @Observable app state, the Combine NotificationCenter/KVC bridges, the raw KVO item-readiness code, and Ky's comment about the failed Combine KVO publisher. Done means documenting a deliberate reactivity strategy or defining an agreed consolidation plan; this issue does not yet specify a concrete code change.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- swift
- Domain
- mobile-dev
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100