mirror of
https://github.com/austinried/subtracks.git
synced 2026-11-10 15:11:58 +01:00
88b53821bd04cb272cad6bbb00ca039479bbc34b
The repositories and the playback controller each created a hidden SupervisorJob scope and exposed close() only so tests could join it before closing the DB; production never called close(). Inject the scope instead and have each test cancel and join the scope it passes, so no test-only teardown lives in the app. Koin now provides the app/io/playback scopes. Also read upcomingItem under the controller lock, and give the wall-clock test waits one shared 30s budget instead of 5s per file: a loaded runner could starve the controller's single thread past the old deadline.
Languages
Kotlin
99.1%
Nushell
0.7%
Nix
0.1%