diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb
index 3e51a5936..696006c23 100644
--- a/app/controllers/users_controller.rb
+++ b/app/controllers/users_controller.rb
@@ -50,6 +50,7 @@ class UsersController < ApplicationController
@user.save
if @user.errors.empty?
session[:user_id] = @user.id
+ flash[:alias_mixpanel] = true
else
flash[:notice] = "Sign up failed: #{@user.errors.full_messages.join("; ")}"
end
diff --git a/app/javascript/packs/application.js b/app/javascript/packs/application.js
index 092cb13b2..dd267c07f 100644
--- a/app/javascript/packs/application.js
+++ b/app/javascript/packs/application.js
@@ -43,4 +43,4 @@ export { default as Shortcuts } from '../src/javascripts/shortcuts.js';
export { default as Upload } from '../src/javascripts/uploads.js';
export { default as Utility } from '../src/javascripts/utility.js';
export { default as Ugoira } from '../src/javascripts/ugoira.js';
-export { mixpanelInit, mixpanelEvent } from '../src/javascripts/mixpanel.js';
+export { mixpanelInit, mixpanelEvent, mixpanelAlias } from '../src/javascripts/mixpanel.js';
diff --git a/app/javascript/src/javascripts/mixpanel.js b/app/javascript/src/javascripts/mixpanel.js
index 98122ac03..0e726094e 100644
--- a/app/javascript/src/javascripts/mixpanel.js
+++ b/app/javascript/src/javascripts/mixpanel.js
@@ -1,18 +1,14 @@
-const mixpanelInit = (user_id, session_id, opt_out, user_data) => {
+const mixpanelInit = (user_id, opt_out, user_data) => {
if (typeof window.mixpanel !== "object") {
return;
}
- if (user_id) {
- window.mixpanel.identify(user_id);
+ window.mixpanel.identify(user_id);
- if (opt_out) {
- window.mixpanel.opt_out_tracking();
- } else {
- window.mixpanel.people.set(user_data);
- }
- } else if (session_id) {
- window.mixpanel.identify("anon:" + session_id);
+ if (opt_out) {
+ window.mixpanel.opt_out_tracking();
+ } else {
+ window.mixpanel.people.set(user_data);
}
}
@@ -24,4 +20,12 @@ const mixpanelEvent = (title, props) => {
window.mixpanel.track(title, props);
}
-export { mixpanelInit, mixpanelEvent };
+const mixpanelAlias = (user_id) => {
+ if (typeof window.mixpanel !== "object") {
+ return;
+ }
+
+ window.mixpanel.alias(user_id);
+}
+
+export { mixpanelInit, mixpanelEvent, mixpanelAlias };
diff --git a/app/views/layouts/default.html.erb b/app/views/layouts/default.html.erb
index 21f0d625e..23eb01844 100644
--- a/app/views/layouts/default.html.erb
+++ b/app/views/layouts/default.html.erb
@@ -84,18 +84,15 @@
$(window).trigger("danbooru:error", msg);
}
-
+ );
+
+ <% end %>
<%= tag.body **body_attributes(CurrentUser.user) do %>
diff --git a/app/views/user_feedbacks/show.html.erb b/app/views/user_feedbacks/show.html.erb
index 34efbfb57..54d0c5be4 100644
--- a/app/views/user_feedbacks/show.html.erb
+++ b/app/views/user_feedbacks/show.html.erb
@@ -20,3 +20,13 @@
<% content_for(:page_title) do %>
Feedback - <%= @user_feedback.user_name %> - <%= Danbooru.config.app_name %>
<% end %>
+
+<% if flash[:alias_mixpanel] %>
+ <% content_for(:html_header) do %>
+
+ <% end %>
+<% end %>
\ No newline at end of file