diff --git a/extras/recsys/recsys.js b/extras/recsys/recsys.js index b6ede126e..b72959031 100644 --- a/extras/recsys/recsys.js +++ b/extras/recsys/recsys.js @@ -3,7 +3,9 @@ import { selectUser } from 'redux/selectors/user'; import { makeSelectRecommendedRecsysIdForClaimId } from 'redux/selectors/search'; import { v4 as Uuidv4 } from 'uuid'; import { parseURI } from 'util/lbryURI'; +import { getAuthToken } from 'util/saved-passwords'; import * as SETTINGS from 'constants/settings'; +import { X_LBRY_AUTH_TOKEN } from 'constants/token'; import { makeSelectClaimForUri } from 'redux/selectors/claims'; import { selectPlayingUri, selectPrimaryUri } from 'redux/selectors/content'; import { selectClientSetting, selectDaemonSettings } from 'redux/selectors/settings'; @@ -136,14 +138,21 @@ const recsys = { if (recsys.entries[claimId] && shareTelemetry) { const data = JSON.stringify(recsys.entries[claimId]); - try { - navigator.sendBeacon(recsysEndpoint, data); - if (!isTentative) { - delete recsys.entries[claimId]; - } - } catch (error) { - console.log('no beacon for you', error); + + if (!isTentative) { + delete recsys.entries[claimId]; } + + return fetch(recsysEndpoint, { + method: 'POST', + headers: { + [X_LBRY_AUTH_TOKEN]: getAuthToken(), + 'Content-Type': 'application/json', + }, + body: data, + }).catch((err) => { + console.log('RECSYS: failed to send entry', err); + }); } recsys.log('sendRecsysEntry', claimId); },