diff --git a/ruby/lib/jam_ruby/app/mailers/user_mailer.rb b/ruby/lib/jam_ruby/app/mailers/user_mailer.rb index 8855a235b..8bb38cde7 100644 --- a/ruby/lib/jam_ruby/app/mailers/user_mailer.rb +++ b/ruby/lib/jam_ruby/app/mailers/user_mailer.rb @@ -49,7 +49,7 @@ module JamRuby mail(:to => user.email, :subject => "Welcome to JamKazam") do |format| format.text - format.html + format.html { render layout: "user_mailer_beta" } end end diff --git a/ruby/lib/jam_ruby/app/views/jam_ruby/user_mailer/new_musicians_match.html.erb b/ruby/lib/jam_ruby/app/views/jam_ruby/user_mailer/new_musicians_match.html.erb index abc7a4c80..8ec16f28c 100644 --- a/ruby/lib/jam_ruby/app/views/jam_ruby/user_mailer/new_musicians_match.html.erb +++ b/ruby/lib/jam_ruby/app/views/jam_ruby/user_mailer/new_musicians_match.html.erb @@ -1,24 +1,68 @@ - -
- -

- Hi <%= @user.first_name -%>, -

-

- The following musicians have joined JamKazam within the last week and have low internet - latency to you that will support enjoyable sessions. If you'd like to make more musical connections, - we encourage you to use the links below to send these new users a welcome message and - perhaps arrange a session to play together. -

- <% - @musicians_data.each do | data | -%> - <% - musicians = data[:musicians] - latencies = data[:latencies] - musicians.each do |musician| - latency = latencies.find{|l| l[:user_id] == musician.id } - -%> -
-
- <%= image_tag musician.photo_url.blank?? "avatar.png" : musician.photo_url, height: '32', width: '32', host: APP_CONFIG.action_mailer.assets_host -%> -
-
-
<%= musician.first_name %> <%= musician.last_name %>
-
Latency To You: <%= latency_info(latency) %>
- <% if musician.last_active_timestamp -%> -
Last Active On: <%= time_ago_in_words(Time.at(musician.last_active_timestamp)) %> ago
- <% end -%> -
-
- <% musician.musician_instruments.each do |mi| -%> -
- <%= mi.description %>: <%= @instrument_proficiencies[mi.proficiency_level.to_s.to_sym] %> -
- <% end -%> -
- -
- <% end -%> - <% end -%> -
-

- To find great musical matches across the entire JamKazam commiunity and make new connections, use the button below to access our musician search feature. - This let you filter JamKazammers by latency, instruments, skill level, genre interests, last active day and more. -

-
-
- Search JamKazam Musicians -
-
\ No newline at end of file + transition: color 0.15s ease-in-out, + background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, + box-shadow 0.15s ease-in-out; + " + ><%= I18n.t 'user_mailer.new_musicians_match.search_musicians' -%> + \ No newline at end of file diff --git a/ruby/lib/jam_ruby/app/views/jam_ruby/user_mailer/welcome_message.html.erb b/ruby/lib/jam_ruby/app/views/jam_ruby/user_mailer/welcome_message.html.erb index 817ad3787..0c09d2850 100644 --- a/ruby/lib/jam_ruby/app/views/jam_ruby/user_mailer/welcome_message.html.erb +++ b/ruby/lib/jam_ruby/app/views/jam_ruby/user_mailer/welcome_message.html.erb @@ -9,9 +9,6 @@

We're delighted to welcome you to the JamKazam community of musicians. - Following are resources you can use to get the most out of JamKazam. - We recommend you keep this email in your inbox so you can refer back to these instructions and links if needed. -

<% if @reset_url %> @@ -21,67 +18,122 @@


- + Set Password

-
- <% end %> - -

Playing Music Together Live & In Sync Over the Internet
- - JamKazam’s Mac and Windows desktop apps let musicians play together live and in sync with high-quality audio from different locations over the Internet, with an amazing feature set for mixing, recording, broadcasting, using backing tracks, and more. Great for band rehearsals, co-writing music, or just hopping into open jams with other musicians for fun. Getting your gear set up properly is critical to having a great experience on JamKazam, so we highly recommend you invest some time to use our knowledge base articles to guide you as follows: -

- - - - -

Music Education
- JamKazam is being used heavily for music education – by universities, K-12 schools, other commercial and community music schools, and individual freelance instructors. - You can visit the education section of our website to learn more about JamKazam for music education. Educational organizations must be licensed to use JamKazam for educational purposes.

- -

Learning & Playing Along With Your Favorite Songs
- In addition to playing with other musicians online, JamKazam also provides a fantastic way to play along with your - favorite songs, called JamTracks. JamTracks are complete multi-track professional recordings, with fully isolated tracks - for each part of the music. Mute any part. Slow down playback for practice. Change pitch/key up or down. - Record yourself playing along with the rest of “the band” in audio or video, and more. Get your first JamTrack free to try one out! - After that they are just $1.99/$2.99 each. You can use JamTracks in your browser, in our Mac or Windows desktop app, or in our iOS app. -

- -

Live Music Broadcasts
- JamKazam is also being increasingly used to live broadcast JamKazam session performances – for free just for fun, to busk for tips, and for premium ticketed concert events. - Check out a help video on how to live broadcast session performances for fun, - and if your band wants to use JamKazam to broadcast premium ticketed concert events using JamKazam, - visit the premium concert section of our website to connect with us about this. - Premium ticketed concert broadcasts require licensing from JamKazam. -

+
+<% end %>

- Whew! That was a lot to cover, but JamKazam is a fantastic musical playground, and we wanted to make sure you know how - to get the most out of everything you can do on this platform. - Again, welcome to JamKazam, and we hope you have a great time here with us! + Following are the first 5 things we recommend you do to get started!

-

Best Regards,
- Team JamKazam

\ No newline at end of file +
+

1. Fill Out Your Profile

+

Your profile tells other musicians what instruments you play, what genres you like, and more to help get you matched up to play with others. Click the button below to update your profile.

+

+ + Update Profile + +

+
+ +
+

2. Download & Install the App

+

To play online with others, you will use JamKazam’s Mac or Windows app. If you haven’t grabbed our app yet, click the Download App button below to go to the download page. Then double click the downloaded installer, and follow the on-screen instructions to install the app. (Note: If you’re on a Mac that can’t run MacOS 10.15 or later, click the Download Legacy App button, as that version of the app supports older MacOS versions back to 10.7.)

+

+ + Download App + + + Download Legacy App + +

+
+ +
+

3. Set Up Your Gear

+

Getting your gear set up properly is critical to having a great experience on JamKazam, so we highly recommend you invest some time to review our knowledge base articles: +

+

+ +
+ +
+

4. Play In An Online Session With Others

+

Once you’ve set up your gear, you’re through the hard part, and ready to have fun!

+ +
+ +
+

5. Connect With Other Musicians

+

When you’re ready to go, if you have friends you want to play with, invite them to sign up for JamKazam, and when they’ve signed up, send them a friend connection request. To connect with musicians who are already on JamKazam, read this article for instructions on how you can search, find, and message existing JamKazam users that look like good musical matches for you. +

+

As a new user, you get our premium gold subscription plan features for your first 30 days after signing up for your account, so be sure to jump in quickly to get the full JamKazam experience. After 30 days, you can choose to keep playing on the free plan or support our continued development of the JamKazam platform and enjoy a premium experience by selecting a paid subscription plan. If you run into any trouble while getting set up to play, you can get help from our support team by opening a ticket with our help desk (recommended), or email our support team at support@jamkazam.com. +

+

Again, welcome to JamKazam, and we hope you have a great time here with us!

+
+ +
+

+ Best Regards, +
+ Team JamKazam +

+
\ No newline at end of file diff --git a/ruby/lib/jam_ruby/app/views/jam_ruby/user_mailer/welcome_message.html.erb.backup b/ruby/lib/jam_ruby/app/views/jam_ruby/user_mailer/welcome_message.html.erb.backup new file mode 100644 index 000000000..817ad3787 --- /dev/null +++ b/ruby/lib/jam_ruby/app/views/jam_ruby/user_mailer/welcome_message.html.erb.backup @@ -0,0 +1,87 @@ +<% provide(:title, 'Welcome to JamKazam!') %> + + +<% if !@user.anonymous? %> +

Hello <%= @vars[EmailBatch::VAR_FIRST_NAME] %> -- +

+<% end %> + + +

+ We're delighted to welcome you to the JamKazam community of musicians. + Following are resources you can use to get the most out of JamKazam. + We recommend you keep this email in your inbox so you can refer back to these instructions and links if needed. + +

+ +<% if @reset_url %> +

+ Your account was imported for you, so you'll need to set a password. + Click the button below to set a password for your JamKazam account. +

+
+

+ + Set Password + +

+
+ <% end %> + +

Playing Music Together Live & In Sync Over the Internet
+ + JamKazam’s Mac and Windows desktop apps let musicians play together live and in sync with high-quality audio from different locations over the Internet, with an amazing feature set for mixing, recording, broadcasting, using backing tracks, and more. Great for band rehearsals, co-writing music, or just hopping into open jams with other musicians for fun. Getting your gear set up properly is critical to having a great experience on JamKazam, so we highly recommend you invest some time to use our knowledge base articles to guide you as follows: +

+ + + + +

Music Education
+ JamKazam is being used heavily for music education – by universities, K-12 schools, other commercial and community music schools, and individual freelance instructors. + You can visit the education section of our website to learn more about JamKazam for music education. Educational organizations must be licensed to use JamKazam for educational purposes.

+ +

Learning & Playing Along With Your Favorite Songs
+ In addition to playing with other musicians online, JamKazam also provides a fantastic way to play along with your + favorite songs, called JamTracks. JamTracks are complete multi-track professional recordings, with fully isolated tracks + for each part of the music. Mute any part. Slow down playback for practice. Change pitch/key up or down. + Record yourself playing along with the rest of “the band” in audio or video, and more. Get your first JamTrack free to try one out! + After that they are just $1.99/$2.99 each. You can use JamTracks in your browser, in our Mac or Windows desktop app, or in our iOS app. +

+ +

Live Music Broadcasts
+ JamKazam is also being increasingly used to live broadcast JamKazam session performances – for free just for fun, to busk for tips, and for premium ticketed concert events. + Check out a help video on how to live broadcast session performances for fun, + and if your band wants to use JamKazam to broadcast premium ticketed concert events using JamKazam, + visit the premium concert section of our website to connect with us about this. + Premium ticketed concert broadcasts require licensing from JamKazam. +

+ +

+ Whew! That was a lot to cover, but JamKazam is a fantastic musical playground, and we wanted to make sure you know how + to get the most out of everything you can do on this platform. + Again, welcome to JamKazam, and we hope you have a great time here with us! +

+ +

Best Regards,
+ Team JamKazam

\ No newline at end of file diff --git a/ruby/lib/jam_ruby/app/views/jam_ruby/user_mailer/welcome_message.text.erb.backup b/ruby/lib/jam_ruby/app/views/jam_ruby/user_mailer/welcome_message.text.erb.backup new file mode 100644 index 000000000..8c37c97b8 --- /dev/null +++ b/ruby/lib/jam_ruby/app/views/jam_ruby/user_mailer/welcome_message.text.erb.backup @@ -0,0 +1,50 @@ +<% if !@user.anonymous? %>Hello <%= @vars[EmailBatch::VAR_FIRST_NAME] %> --<% end %> + +We're delighted to welcome you to the JamKazam community of musicians. Following are +resources you can use to get the most out of JamKazam. We recommend you keep this email in +your inbox so you can refer back to the links if needed. + +For Playing Music Together Live & In Sync From Different Locations +------------------------------------------------------------------ +JamKazam’s Mac and Windows desktop apps let musicians play together live and in sync with +high-quality audio from different locations over the Internet, with an amazing feature set for +mixing, recording, broadcasting, using backing tracks, and more. Great for band rehearsals, co- +writing music, or just hopping into open jams with other musicians for fun. We recommend +reading the Getting Started help articles to get oriented. Then really focus on the What Gear Do +I Need and How Do I Set Up My Gear help articles to guide your activities to get up and running +successfully in JamKazam sessions. + +For Music Education +------------------- +JamKazam is being used heavily for music education – by universities, K-12 schools, other +commercial/community music schools, and individual freelance instructors. To learn more +about JamKazam for music education, follow this link to the JamKazam website. Educational +organizations must be licensed to use JamKazam for educational purposes. + +For Live Music Broadcasts +------------------------- +JamKazam is also being increasingly used to live broadcast JamKazam session performances – +for free/fun, to busk for tips, and for premium ticketed concert events. To learn more about +JamKazam for live music broadcasting, follow this link to the JamKazam website. Premium +ticketed concert broadcasts require licensing from JamKazam. + +For Learning & Playing Along With Your Favorite Songs +--------------------------------------------------------- +JamTracks by JamKazam are the best way to play along with your favorite songs. JamTracks are +complete multi-track professional recordings, with fully isolated tracks for each part of the +music. Mute any part. Slow down playback for practice. Change pitch/key up or down. Record +yourself playing along with the rest of the band in audio or video, and more. Get your first +JamTrack free to try one out! After that they are just $1.99/$2.99 each. You can use JamTracks +in your browser, in our free Mac or Windows desktop app, or in our free iOS app. For more +information, follow this link to the JamKazam website. + +And More... +----------- +You can also connect and network with other musicians. If you run into trouble and need help, +you can refer to our knowledge base of help articles or visit our helpful forums to post +questions that have not already been answered. You can also email us +at support@jamkazam.com, but we have limited bandwidth currently to answer 1:1 questions +from our users. + +Again, welcome to JamKazam, and we hope you have a great time here! + diff --git a/ruby/lib/jam_ruby/app/views/layouts/user_mailer_beta.html.erb b/ruby/lib/jam_ruby/app/views/layouts/user_mailer_beta.html.erb index f226c6b54..d5417be56 100644 --- a/ruby/lib/jam_ruby/app/views/layouts/user_mailer_beta.html.erb +++ b/ruby/lib/jam_ruby/app/views/layouts/user_mailer_beta.html.erb @@ -1,38 +1,64 @@ - - - - - JamKazam + + + + + + JamKazam + + +
+
+
+ " alt="JamKazam" /> +
- - - - - - <%= yield -%> - - +
+ +
+ + + \ No newline at end of file diff --git a/ruby/spec/mailers/render_emails_spec.rb b/ruby/spec/mailers/render_emails_spec.rb index 6c560fbc5..26e38c635 100644 --- a/ruby/spec/mailers/render_emails_spec.rb +++ b/ruby/spec/mailers/render_emails_spec.rb @@ -524,7 +524,7 @@ describe "RenderMailers" do end end - describe "New Musician Match email" do + describe "New Musician Match email", focus: true do let(:user) { FactoryGirl.create(:user) } let(:user1) { FactoryGirl.create(:user, first_name: 'David', last_name: 'Macmillan', updated_at: 2.day.ago.to_i) } let(:user2) { FactoryGirl.create(:user, first_name: 'Tom', last_name: 'Cluff', last_jam_updated_at: 1.days.ago.to_i) } @@ -543,6 +543,7 @@ describe "RenderMailers" do before(:each) do User.delete_all ActionMailer::Base.deliveries.clear + I18n.default_locale = :en end after(:each) do diff --git a/web/Gemfile.alt b/web/Gemfile.alt index 24664efa5..df438d16e 100644 --- a/web/Gemfile.alt +++ b/web/Gemfile.alt @@ -159,6 +159,8 @@ gem 'logging', '1.7.2' gem 'rack-cors', '~> 1.0', '>= 1.0.6' +gem 'mailcatcher' + if ENV['FASTER_PATH'] == '1' # https://github.com/danielpclark/faster_path diff --git a/web/app/assets/images/email/fb-icon.svg b/web/app/assets/images/email/fb-icon.svg new file mode 100755 index 000000000..60f41bfbb --- /dev/null +++ b/web/app/assets/images/email/fb-icon.svg @@ -0,0 +1,9 @@ + + + + + + + diff --git a/web/app/assets/images/email/instagram-icon.svg b/web/app/assets/images/email/instagram-icon.svg new file mode 100755 index 000000000..754b285b1 --- /dev/null +++ b/web/app/assets/images/email/instagram-icon.svg @@ -0,0 +1,28 @@ + + + + + + + + + diff --git a/web/app/assets/images/email/linkedin-icon.svg b/web/app/assets/images/email/linkedin-icon.svg new file mode 100755 index 000000000..41fd6d1d1 --- /dev/null +++ b/web/app/assets/images/email/linkedin-icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/web/app/assets/images/email/tiktok-icon.svg b/web/app/assets/images/email/tiktok-icon.svg new file mode 100755 index 000000000..8d0b1a99f --- /dev/null +++ b/web/app/assets/images/email/tiktok-icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/web/app/assets/images/email/twitter-x-icon.svg b/web/app/assets/images/email/twitter-x-icon.svg new file mode 100755 index 000000000..b46e5f7dc --- /dev/null +++ b/web/app/assets/images/email/twitter-x-icon.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/web/app/assets/images/email/youtube-icon.svg b/web/app/assets/images/email/youtube-icon.svg new file mode 100755 index 000000000..1aeb81fba --- /dev/null +++ b/web/app/assets/images/email/youtube-icon.svg @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/web/config/environments/development.rb b/web/config/environments/development.rb index 7ae4c4ef4..0c8e8bd91 100644 --- a/web/config/environments/development.rb +++ b/web/config/environments/development.rb @@ -26,6 +26,8 @@ SampleApp::Application.configure do # Don't care if the mailer can't send config.action_mailer.raise_delivery_errors = false + config.action_mailer.delivery_method = :smtp + config.action_mailer.smtp_settings = { address: '127.0.0.1', port: 1025, domain: '127.0.0.1' } # Print deprecation notices to the Rails logger config.active_support.deprecation = :log diff --git a/web/config/locales/en.yml b/web/config/locales/en.yml index f2ab8d805..97c8dafd1 100644 --- a/web/config/locales/en.yml +++ b/web/config/locales/en.yml @@ -6,3 +6,22 @@ en: attributes: user: password_digest: "Password" + user_mailer: + new_musicians_match: + greeting: "Hi" + paragraph1: "The following musicians have joined JamKazam within the last week and have low internet latency to you that will support enjoyable sessions. If you'd like to make more musical connections, we encourage you to use the links below to send these new users a welcome message and perhaps arrange a session to play together." + latency_to_you: "Latency to You" + last_active: "Last Active" + ago: "ago" + view_profile: "View Profile" + send_message: "Send Message" + send_friend_request: "Send Friend Request" + paragraph2: "To find great musical matches across the entire JamKazam commiunity and make new connections, use the button below to access our musician search feature. This let you filter JamKazammers by latency, instruments, skill level, genre interests, last active day and more." + search_musicians: "Search JamKazam Musicians" + + welcome_message: + greeting: "Hello" + paragraph1: " We're delighted to welcome you to the JamKazam community of musicians." + paragraph2: "Your account was imported for you, so you'll need to set a password. Click the button below to set a password for your JamKazam account." + paragraph3: "Thanks for joining JamKazam!" + signature: "The JamKazam Team" diff --git a/web/config/locales/es.yml b/web/config/locales/es.yml new file mode 100644 index 000000000..91d6d1468 --- /dev/null +++ b/web/config/locales/es.yml @@ -0,0 +1,12 @@ +# Sample localization file for English. Add more files in this directory for other locales. +# See https://github.com/svenfuchs/rails-i18n/tree/master/rails%2Flocale for starting points. + +en: + activerecord: + attributes: + user: + password_digest: "Password" + user_mailer: + new_musicians_match: + greeting: "Hola" + view_profile: "Ver Perfil"