@@ -5,6 +5,25 @@ const { version } =
55 ? chrome . runtime . getManifest ( )
66 : { } ;
77
8+ const CACHED = {
9+ userID : null ,
10+ } ;
11+
12+ export async function setUserId ( uid = new Date ( ) . getTime ( ) ) {
13+ CACHED . userID = uid ;
14+ await Storage . set ( "userId" , uid ) ;
15+ }
16+
17+ export async function getUserId ( ) {
18+ if ( ! CACHED . userID ) {
19+ CACHED . userID = await Storage . get ( "userId" ) ;
20+ }
21+ if ( ! CACHED . userID ) {
22+ await setUserId ( ) ;
23+ }
24+ return CACHED . userID ;
25+ }
26+
827export function waitForTabToLoad ( tabId ) {
928 return new Promise ( ( resolve ) => {
1029 // check if tab already loaded
@@ -71,6 +90,7 @@ export async function trackEvent(scriptId) {
7190 body : JSON . stringify ( {
7291 script : scriptId ,
7392 version : version ,
93+ uid : await getUserId ( ) ,
7494 } ) ,
7595 }
7696 ) ;
@@ -91,16 +111,16 @@ export async function sendEventToTab(tabId, data) {
91111// #region Storage Utils
92112
93113// https://developer.chrome.com/docs/extensions/reference/storage/
94- // export const localStorage = {
95- // set: async (key, value) => {
96- // await chrome.storage.sync .set({ [key]: value });
97- // return value;
98- // },
99- // get: async (key, defaultValue = "") => {
100- // let result = await chrome.storage.sync .get([key]);
101- // return result[key] || defaultValue;
102- // },
103- // };
114+ export const Storage = {
115+ set : async ( key , value ) => {
116+ await chrome . storage . local . set ( { [ key ] : value } ) ;
117+ return value ;
118+ } ,
119+ get : async ( key , defaultValue = "" ) => {
120+ let result = await chrome . storage . local . get ( [ key ] ) ;
121+ return result [ key ] || defaultValue ;
122+ } ,
123+ } ;
104124
105125const listActiveScriptsKey = "activeScripts" ;
106126export async function setActiveScript ( scriptId , isActive = true ) {
0 commit comments