-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add trackings for polls #85
Changes from 2 commits
4340860
2afd104
9ddbb8c
7e3a9e2
c4afca1
fdaddea
03a0df7
dc572b9
922f841
1ac859c
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -64,7 +64,8 @@ | |
{"const": "Invites", "description": "Room accessed via space bottom sheet list."}, | ||
{"const": "CreateSpace", "description": "The screen shown to create a new space."}, | ||
{"const": "LocationSend", "description": "The screen shown to share location."}, | ||
{"const": "LocationView", "description": "The screen shown to view a shared location."} | ||
{"const": "LocationView", "description": "The screen shown to view a shared location."}, | ||
{"const": "CreatePollView", "description": "The screen shown to create or edit a poll."} | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Just a remark: don't we want to do the diff between creating and editing? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yes thanks, initially only poll creation will make the cut so a |
||
] | ||
}, | ||
"durationMs": { | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
{ | ||
"type": "object", | ||
"description": "Triggered when a poll is answered.", | ||
"properties": { | ||
"eventName": { | ||
"enum": ["PollAnswered"] | ||
} | ||
}, | ||
"required": ["eventName"], | ||
"additionalProperties": false | ||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
{ | ||
"type": "object", | ||
"description": "Triggered when a poll is created.", | ||
"properties": { | ||
"eventName": { | ||
"enum": ["PollStarted"] | ||
}, | ||
"isAnonymous": { | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This is the disclosed/undisclosed things? Votes are never anonymous. 🤔 There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. In the matrix spec it is called "disclosed"/"undisclosed". In the UI it is called "anonymous" true/false. Not sure what nomenclature the analytics usually follow. BTW it is not the votes that are anonymous, it is the poll. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think @alfogrillo wants to point out that the votes can be seen, so even if the UI does not tell who has chosen which option, it's not hard to see that information by inspecting content of (hidden) events in the timeline. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This is well known within the team. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We should be consistent in deciding which naming convention we want to use. |
||
"description": "Whether this poll is anonymous.", | ||
"type": "boolean" | ||
}, | ||
"numberOfAnswers": { | ||
"description": "Number of answers in the poll.", | ||
"type": "integer" | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. To me "option" would be a better naming. To me an "answer" is picking a specific option. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. In the matrix spec it is called "answer". In the UI it is called "option". Not sure what nomenclature the analytics usually follow. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Idk, staying aligned with the spec LGTM anyway 👍🏻 |
||
} | ||
}, | ||
"required": ["numberOfAnswers", "isAnonymous", "eventName"], | ||
"additionalProperties": false | ||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
{ | ||
"type": "object", | ||
"description": "Triggered when a poll is edited.", | ||
"properties": { | ||
"eventName": { | ||
"enum": ["PollEdited"] | ||
}, | ||
"isAnonymous": { | ||
"description": "Whether this poll is anonymous.", | ||
"type": "boolean" | ||
}, | ||
"numberOfAnswers": { | ||
"description": "Number of answers in the poll.", | ||
"type": "integer" | ||
} | ||
}, | ||
"required": ["numberOfAnswers", "isAnonymous", "eventName"], | ||
"additionalProperties": false | ||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
{ | ||
"type": "object", | ||
"description": "Triggered when a poll is ended.", | ||
"properties": { | ||
"eventName": { | ||
"enum": ["PollEnded"] | ||
} | ||
}, | ||
"required": ["eventName"], | ||
"additionalProperties": false | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does this property provide any value given there's a dedicated event for starting a poll?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I asked the same but @VolkerJunginger said they want the composer event as well, I'll post his answer here:
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok, that makes sense, thinking out loud here: it feels like we're doing it wrong in that case. having
isPoll
,locationType
as separate properties isn't very scalable. Because it sounds like we also want anisImage
,isVideo
etc if we want all messages sent.Perhaps we should have a
messageType
enum here with initially,Text
,Poll
,LocationPin
andLocationUser
and then in the future this could be expanded to include other types of message content?@VolkerJunginger does that sound reasonable to you (and would you have an issue if this caused any old events with the
locationType
property to be misaligned)?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Given what's been discussed in the analytics room I'll change this as suggested. Though it'll have to wait for me to be back from vacation (~1week).