Analytics overhaul #1024
No reviewers
Labels
No labels
accessibility
app-parity
area: creator
area: daemon
area: design
area: devops
area: discovery
area: docs
area: installer
area: internal
area: livestream
area: performance
area: proposal
area: reposts
area: rewards
area: search
area: security
area: subscriptions
area: sync
area: ux
area: viewer
area: wallet
BEAMER
channel
comments
community PR
consider soon
core team
css
dependencies
electron
Epic
feature request
first-timers-only
good first issue
hacktoberfest
help wanted
hub-dependent
icebox
Invalid
level: 0
level: 1
level: 2
level: 3
level: 4
merge when green
needs: exploration
needs: grooming
needs: priority
needs: repro
needs: tech design
notifications
odysee
on hold
playlists
priority: blocker
priority: high
priority: low
priority: medium
protocol dependent
recsys
redesign
regression
resilience
sdk dependent
Tom's Wishlist
trending
type: bug
type: discussion
type: improvement
type: new feature
type: refactor
type: task
type: testing
unplanned
windows
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: LBRYCommunity/lbry-desktop#1024
Loading…
Add table
Reference in a new issue
No description provided.
Delete branch "mixpanel"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Unfortunately, due to changes in how we route URLs as well as increasing the power, scope, and privacy of analytics, I had to introduce analytics calls outside of renderer/index.js. That said, all the code is contained to one separate file, so its not bad at all.
Nice work. IMO we shouldn't be tracking based on the users the email, especially since we aren't allowing opt out during first run (for now). I would definitely turn off analytics if I knew that was happening. I am in favor of keeping the analytics as anonymized as possible.
Also I think it would also be nice to check if the app is in dev mode and make sure no analytics are taken if that is the case.
@ -0,0 +25,4 @@
if(user.id) {
mixpanel.identify(user.id);
}
if(user.primary_email) {
Should we be using emails in tracking? I thought it would be only user id to keep it anonymized.
@ -0,0 +33,4 @@
},
toggle: (enabled: boolean, logDisabled: ?boolean): void => {
if(!enabled && logDisabled) {
mixpanel.track('DISABLED');
What does this do?
Oh I'm guessing it's so we can know how many people disable analytics?
@ -0,0 +25,4 @@
if(user.id) {
mixpanel.identify(user.id);
}
if(user.primary_email) {
this is so it only tracks people who have an account, which is reasonable, imo
@ -0,0 +33,4 @@
},
toggle: (enabled: boolean, logDisabled: ?boolean): void => {
if(!enabled && logDisabled) {
mixpanel.track('DISABLED');
yes, so we don't get bad data. For instance, we don't think people drop off and we know, instead, they just opted-out of analytics. Also, the reason for the second argument is so that we don't get multiple DISABLED's logged, thereby telling us whenever the open the app.
@liamcardenas re: analytics calls inside of other logic, please at least make sure it's easy for a fork of the app to work without analytics. I.e., someone forking the app shouldn't have to update each call or write dummy functions to have it work. I think it's coded this way currently, but wasn't 100% sure.
Also, please consider how this will work with
lbry-redux
.