We have a couple race conditions we can encounter in the process of joining a jam and exchanging music libraries:
Both Master and Client phones need to load all their library metadata into the DB before accepting or sending join Jam requests, respectively.
When the Master phone accepts a new Client into the Jam, the Master should receive, load, and re-broadcast the new Client's remote library and album art in its entirety before accepting another join jam request.
We have a couple race conditions we can encounter in the process of joining a jam and exchanging music libraries: