diff --git a/app/assets/javascripts/AAB_message_factory.js b/app/assets/javascripts/AAB_message_factory.js
index 94a1ccafc..7159e549c 100644
--- a/app/assets/javascripts/AAB_message_factory.js
+++ b/app/assets/javascripts/AAB_message_factory.js
@@ -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")
diff --git a/app/assets/javascripts/JamServer.js b/app/assets/javascripts/JamServer.js
index 6656f4db3..d635bf7fd 100644
--- a/app/assets/javascripts/JamServer.js
+++ b/app/assets/javascripts/JamServer.js
@@ -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);
};
diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb
index a3746d28e..75d60e7cc 100644
--- a/app/controllers/users_controller.rb
+++ b/app/controllers/users_controller.rb
@@ -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)
diff --git a/app/views/spikes/facebook_invite.html.erb b/app/views/spikes/facebook_invite.html.erb
index 6d1189b94..9ad848a6a 100644
--- a/app/views/spikes/facebook_invite.html.erb
+++ b/app/views/spikes/facebook_invite.html.erb
@@ -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" %>
Facebook Invitations
diff --git a/config/application.rb b/config/application.rb
index 9d9b44285..3bba478fc 100644
--- a/config/application.rb
+++ b/config/application.rb
@@ -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"
diff --git a/config/routes.rb b/config/routes.rb
index 113305062..05b1d7dec 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -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
diff --git a/lib/managers/music_session_manager.rb b/lib/managers/music_session_manager.rb
index 1a7068940..c6c43b014 100644
--- a/lib/managers/music_session_manager.rb
+++ b/lib/managers/music_session_manager.rb
@@ -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