* VRFS-484 support for increased leave/join messaging and reconnect scenarios
This commit is contained in:
parent
248f9b3048
commit
2e63b897d1
|
|
@ -76,7 +76,9 @@
|
|||
};
|
||||
|
||||
// create a login message using token (a cookie or similiar)
|
||||
factory.login_with_token = function(token) {
|
||||
// reconnect_music_session_id is an optional argument that allows the session to be immediately associated
|
||||
// with a music session.
|
||||
factory.login_with_token = function(token, reconnect_music_session_id) {
|
||||
//context.JK.logger.debug("*** login_with_token: client_id = "+$.cookie("client_id"));
|
||||
var login = { token : token,
|
||||
client_id : $.cookie("client_id")
|
||||
|
|
|
|||
|
|
@ -55,7 +55,7 @@
|
|||
server.rememberLogin = function() {
|
||||
var token, loginMessage;
|
||||
token = $.cookie("remember_token");
|
||||
loginMessage = msg_factory.login_with_token(token);
|
||||
loginMessage = msg_factory.login_with_token(token, null);
|
||||
server.send(loginMessage);
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ class UsersController < ApplicationController
|
|||
|
||||
if !@invited_user.nil? && @invited_user.accepted
|
||||
# short-circuit out if this invitation is already accepted
|
||||
render "already_signed_up"
|
||||
render "already_signed_up", :layout => 'landing'
|
||||
return
|
||||
end
|
||||
@signup_postback = load_postback(@invited_user)
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
<% provide(:title, "Facebook Invitations") %>
|
||||
<%= javascript_include_tag "jquery" %>
|
||||
<%= javascript_include_tag "jqfmfs/jquery.facebook.multifriend.select" %>
|
||||
<%= stylesheet_link_tag "jqfmfs/jquery.facebook.multifriend.select" %>
|
||||
<h1>Facebook Invitations</h1>
|
||||
|
|
|
|||
|
|
@ -100,8 +100,8 @@ if defined?(Bundler)
|
|||
config.websocket_gateway_connect_time_stale = 2
|
||||
config.websocket_gateway_connect_time_expire = 5
|
||||
else
|
||||
config.websocket_gateway_connect_time_stale = 30
|
||||
config.websocket_gateway_connect_time_expire = 180
|
||||
config.websocket_gateway_connect_time_stale = 6
|
||||
config.websocket_gateway_connect_time_expire = 10
|
||||
end
|
||||
config.websocket_gateway_internal_debug = false
|
||||
config.websocket_gateway_port = 6767
|
||||
|
|
@ -121,6 +121,9 @@ if defined?(Bundler)
|
|||
config.aws_bucket_public = 'jamkazam-dev-public'
|
||||
config.aws_cache = '315576000'
|
||||
|
||||
# facebook keys
|
||||
config.facebook_key = '468555793186398'
|
||||
|
||||
if Rails.env == 'production'
|
||||
config.desk_url = 'https://jamkazam.desk.com'
|
||||
config.multipass_callback_url = "http://jamkazam.desk.com/customer/authentication/multipass/callback"
|
||||
|
|
|
|||
|
|
@ -42,6 +42,9 @@ SampleApp::Application.routes.draw do
|
|||
|
||||
match '/test_connection', to: 'sessions#connection_state', :as => :connection_state
|
||||
|
||||
# spikes
|
||||
match '/facebook_invite', to: 'spikes#facebook_invite'
|
||||
|
||||
# password reset
|
||||
match '/request_reset_password' => 'users#request_reset_password', :via => :get
|
||||
match '/reset_password' => 'users#reset_password', :via => :post
|
||||
|
|
|
|||
|
|
@ -43,7 +43,13 @@ class MusicSessionManager < BaseManager
|
|||
MusicSessionHistory.save(music_session)
|
||||
|
||||
# auto-join this user into the newly created session
|
||||
connection = ConnectionManager.new.join_music_session(user, client_id, music_session, true, tracks)
|
||||
as_musician = true
|
||||
connection = ConnectionManager.new.join_music_session(user, client_id, music_session, as_musician, tracks) do |db_conn, connection|
|
||||
if as_musician && music_session.musician_access
|
||||
Notification.send_musician_session_join(music_session, connection, user)
|
||||
Notification.send_friend_session_join(db_conn, connection, user)
|
||||
end
|
||||
end
|
||||
|
||||
unless connection.errors.any?
|
||||
return_value = music_session
|
||||
|
|
@ -97,7 +103,12 @@ class MusicSessionManager < BaseManager
|
|||
|
||||
music_session = MusicSession.find(music_session_id)
|
||||
|
||||
connection = ConnectionManager.new.join_music_session(user, client_id, music_session, as_musician, tracks)
|
||||
connection = ConnectionManager.new.join_music_session(user, client_id, music_session, as_musician, tracks) do |db_conn, connection|
|
||||
if as_musician && music_session.musician_access
|
||||
Notification.send_musician_session_join(music_session, connection, user)
|
||||
Notification.send_friend_session_join(db_conn, connection, user)
|
||||
end
|
||||
end
|
||||
|
||||
if connection.errors.any?
|
||||
# rollback the transaction to make sure nothing is disturbed in the database
|
||||
|
|
@ -117,7 +128,9 @@ class MusicSessionManager < BaseManager
|
|||
raise PermissionError, "you do not own this connection"
|
||||
end
|
||||
|
||||
ConnectionManager.new.leave_music_session(user, connection, music_session)
|
||||
ConnectionManager.new.leave_music_session(user, connection, music_session) do
|
||||
Notification.send_musician_session_depart(music_session, connection.client_id, user)
|
||||
end
|
||||
|
||||
unless music_session.nil?
|
||||
# send out notification to queue to the rest of the session
|
||||
|
|
|
|||
Loading…
Reference in New Issue