mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-05-28 19:41:33 +02:00
Merge pull request #4125 from overleaf/em-analytics-keepalive
Use keepalive when sending analytics events GitOrigin-RevId: c4e5884483313cdc67abe98e18852680692ac229
This commit is contained in:
@@ -132,7 +132,7 @@ App.controller(
|
||||
return
|
||||
}
|
||||
$scope.ui.reviewPanelOpen = !$scope.ui.reviewPanelOpen
|
||||
return eventTracking.sendMB('rp-toggle-panel', {
|
||||
eventTracking.sendMB('rp-toggle-panel', {
|
||||
value: $scope.ui.reviewPanelOpen,
|
||||
})
|
||||
}
|
||||
@@ -153,24 +153,25 @@ App.controller(
|
||||
$scope.$broadcast('layout:flat-screen:toggle')
|
||||
}
|
||||
if (newView != null && newView !== 'editor' && newView !== 'pdf') {
|
||||
return eventTracking.sendMBOnce(`ide-open-view-${newView}-once`)
|
||||
eventTracking.sendMBOnce(`ide-open-view-${newView}-once`)
|
||||
}
|
||||
})
|
||||
|
||||
$scope.$watch('ui.chatOpen', function (isOpen) {
|
||||
if (isOpen) {
|
||||
return eventTracking.sendMBOnce('ide-open-chat-once')
|
||||
eventTracking.sendMBOnce('ide-open-chat-once')
|
||||
}
|
||||
})
|
||||
|
||||
$scope.$watch('ui.leftMenuShown', function (isOpen) {
|
||||
if (isOpen) {
|
||||
return eventTracking.sendMBOnce('ide-open-left-menu-once')
|
||||
eventTracking.sendMBOnce('ide-open-left-menu-once')
|
||||
}
|
||||
})
|
||||
|
||||
$scope.trackHover = feature =>
|
||||
$scope.trackHover = feature => {
|
||||
eventTracking.sendMBOnce(`ide-hover-${feature}-once`)
|
||||
}
|
||||
// End of tracking code.
|
||||
|
||||
window._ide = ide
|
||||
|
||||
@@ -618,14 +618,14 @@ export default App.controller(
|
||||
|
||||
$scope.acceptChanges = function (change_ids) {
|
||||
_doAcceptChanges(change_ids)
|
||||
return eventTracking.sendMB('rp-changes-accepted', {
|
||||
eventTracking.sendMB('rp-changes-accepted', {
|
||||
view: $scope.ui.reviewPanelOpen ? $scope.reviewPanel.subView : 'mini',
|
||||
})
|
||||
}
|
||||
|
||||
$scope.rejectChanges = function (change_ids) {
|
||||
_doRejectChanges(change_ids)
|
||||
return eventTracking.sendMB('rp-changes-rejected', {
|
||||
eventTracking.sendMB('rp-changes-rejected', {
|
||||
view: $scope.ui.reviewPanelOpen ? $scope.reviewPanel.subView : 'mini',
|
||||
})
|
||||
}
|
||||
@@ -643,7 +643,7 @@ export default App.controller(
|
||||
|
||||
const bulkAccept = function () {
|
||||
_doAcceptChanges($scope.reviewPanel.selectedEntryIds.slice())
|
||||
return eventTracking.sendMB('rp-bulk-accept', {
|
||||
eventTracking.sendMB('rp-bulk-accept', {
|
||||
view: $scope.ui.reviewPanelOpen ? $scope.reviewPanel.subView : 'mini',
|
||||
nEntries: $scope.reviewPanel.nVisibleSelectedChanges,
|
||||
})
|
||||
@@ -651,7 +651,7 @@ export default App.controller(
|
||||
|
||||
const bulkReject = function () {
|
||||
_doRejectChanges($scope.reviewPanel.selectedEntryIds.slice())
|
||||
return eventTracking.sendMB('rp-bulk-reject', {
|
||||
eventTracking.sendMB('rp-bulk-reject', {
|
||||
view: $scope.ui.reviewPanelOpen ? $scope.reviewPanel.subView : 'mini',
|
||||
nEntries: $scope.reviewPanel.nVisibleSelectedChanges,
|
||||
})
|
||||
@@ -740,7 +740,7 @@ export default App.controller(
|
||||
)
|
||||
$scope.$broadcast('editor:clearSelection')
|
||||
$timeout(() => $scope.$broadcast('review-panel:layout'))
|
||||
return eventTracking.sendMB('rp-new-comment', { size: content.length })
|
||||
eventTracking.sendMB('rp-new-comment', { size: content.length })
|
||||
}
|
||||
|
||||
$scope.cancelNewComment = entry =>
|
||||
@@ -777,7 +777,7 @@ export default App.controller(
|
||||
entry.replyContent = ''
|
||||
entry.replying = false
|
||||
$timeout(() => $scope.$broadcast('review-panel:layout'))
|
||||
return eventTracking.sendMB('rp-comment-reply', trackingMetadata)
|
||||
eventTracking.sendMB('rp-comment-reply', trackingMetadata)
|
||||
}
|
||||
|
||||
$scope.cancelReply = function (entry) {
|
||||
@@ -793,7 +793,7 @@ export default App.controller(
|
||||
{ _csrf: window.csrfToken }
|
||||
)
|
||||
_onCommentResolved(entry.thread_id, ide.$scope.user)
|
||||
return eventTracking.sendMB('rp-comment-resolve', {
|
||||
eventTracking.sendMB('rp-comment-resolve', {
|
||||
view: $scope.ui.reviewPanelOpen ? $scope.reviewPanel.subView : 'mini',
|
||||
})
|
||||
}
|
||||
@@ -803,7 +803,7 @@ export default App.controller(
|
||||
$http.post(`/project/${$scope.project_id}/thread/${thread_id}/reopen`, {
|
||||
_csrf: window.csrfToken,
|
||||
})
|
||||
return eventTracking.sendMB('rp-comment-reopen')
|
||||
eventTracking.sendMB('rp-comment-reopen')
|
||||
}
|
||||
|
||||
var _onCommentResolved = function (thread_id, user) {
|
||||
@@ -867,7 +867,7 @@ export default App.controller(
|
||||
'X-CSRF-Token': window.csrfToken,
|
||||
},
|
||||
})
|
||||
return eventTracking.sendMB('rp-comment-delete')
|
||||
eventTracking.sendMB('rp-comment-delete')
|
||||
}
|
||||
|
||||
$scope.saveEdit = function (thread_id, comment) {
|
||||
@@ -895,7 +895,7 @@ export default App.controller(
|
||||
|
||||
$scope.setSubView = function (subView) {
|
||||
$scope.reviewPanel.subView = subView
|
||||
return eventTracking.sendMB('rp-subview-change', { subView })
|
||||
eventTracking.sendMB('rp-subview-change', { subView })
|
||||
}
|
||||
|
||||
$scope.gotoEntry = (doc_id, entry) =>
|
||||
|
||||
@@ -7,7 +7,7 @@ export function send(category, action, label, value) {
|
||||
}
|
||||
|
||||
export function sendMB(key, body = {}) {
|
||||
postJSON(`/event/${key}`, { body }).catch(() => {
|
||||
postJSON(`/event/${key}`, { body, keepalive: true }).catch(() => {
|
||||
// ignore errors
|
||||
})
|
||||
}
|
||||
|
||||
@@ -93,26 +93,28 @@ App.factory('eventTracking', function ($http, localStorage) {
|
||||
if (segmentation == null) {
|
||||
segmentation = {}
|
||||
}
|
||||
return $http({
|
||||
url: `/event/${key}`,
|
||||
fetch(`/event/${key}`, {
|
||||
method: 'POST',
|
||||
data: segmentation,
|
||||
body: JSON.stringify(segmentation),
|
||||
keepalive: true,
|
||||
headers: {
|
||||
'X-CSRF-Token': window.csrfToken,
|
||||
'Content-Type': 'application/json',
|
||||
Accept: 'application/json',
|
||||
},
|
||||
})
|
||||
},
|
||||
|
||||
sendMBSampled(key, segmentation, rate = 0.01) {
|
||||
if (Math.random() < rate) {
|
||||
return this.sendMB(key, segmentation)
|
||||
this.sendMB(key, segmentation)
|
||||
}
|
||||
},
|
||||
|
||||
sendMBOnce(key, segmentation) {
|
||||
if (!_eventInCache(key)) {
|
||||
_addEventToCache(key)
|
||||
return this.sendMB(key, segmentation)
|
||||
this.sendMB(key, segmentation)
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
Reference in New Issue
Block a user