BlueHuskyStudios / BlueHuskyStudios/DeadassSimpleMediaPlayer

The reactivity model mixes three paradigms, mostly by accretion rather than by decision

Open
#65 0 comments 0 reactions 0 assignees View on GitHub
Automatically found
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.