* VRFS-1165 resolved for real this time

This commit is contained in:
Seth Call 2014-02-25 21:25:59 +00:00
parent 45c61ad038
commit 7882d65dc7
2 changed files with 20 additions and 18 deletions

View File

@ -108,7 +108,9 @@
// time, for that entire duration you'll still be sending voice data to the other users.
// this may be bad if someone decides to badmouth others in the left-session during this time
logger.debug("calling jamClient.LeaveSession for clientId=" + clientId);
console.time('jamClient.LeaveSession');
client.LeaveSession({ sessionID: currentSessionId });
console.timeEnd('jamClient.LeaveSession');
leaveSessionRest(currentSessionId)
.done(function() {
sessionChanged();

View File

@ -100,29 +100,13 @@ MusicSessionManager < BaseManager
def participant_create(user, music_session_id, client_id, as_musician, tracks)
connection = nil
music_session = nil
ActiveRecord::Base.transaction do
music_session = MusicSession.find(music_session_id)
connection = ConnectionManager.new.join_music_session(user, client_id, music_session, as_musician, tracks)
unless connection.errors.any?
user.update_progression_field(:first_music_session_at)
MusicSessionUserHistory.save(music_session_id, user.id, client_id, tracks)
if as_musician && music_session.musician_access
# send to session participants
Notification.send_session_join(music_session, connection, user)
# send "musician joined session" notification only if it's not a band session since there will be a "band joined session" notification
if music_session.band.nil?
Notification.send_musician_session_join(music_session, connection, user)
end
end
end
if connection.errors.any?
# rollback the transaction to make sure nothing is disturbed in the database
raise ActiveRecord::Rollback
@ -132,7 +116,23 @@ MusicSessionManager < BaseManager
end
end
return connection
unless connection.errors.any?
user.update_progression_field(:first_music_session_at)
MusicSessionUserHistory.save(music_session_id, user.id, client_id, tracks)
if as_musician && music_session.musician_access
# send to session participants
Notification.send_session_join(music_session, connection, user)
# send "musician joined session" notification only if it's not a band session since there will be a "band joined session" notification
if music_session.band.nil?
Notification.send_musician_session_join(music_session, connection, user)
end
end
end
connection
end
def participant_delete(user, connection, music_session)