diff --git a/jrx/notes.txt b/jrx/notes.txt
index e2fd419..14f20a9 100644
--- a/jrx/notes.txt
+++ b/jrx/notes.txt
@@ -29,3 +29,9 @@ background script
- raseev requests
- send responses back to page
-
+
+----
+vdk general lib
+
+sleep
+bulrtot
diff --git a/jrx/pages/msg_confirm.html b/jrx/pages/msg_confirm.html
index be05063..c275d69 100644
--- a/jrx/pages/msg_confirm.html
+++ b/jrx/pages/msg_confirm.html
@@ -14,7 +14,7 @@
-
+
diff --git a/jrx/pages/msg_confirm.js b/jrx/pages/msg_confirm.js
deleted file mode 100644
index f8f49db..0000000
--- a/jrx/pages/msg_confirm.js
+++ /dev/null
@@ -1,14 +0,0 @@
-console.log('ur mom');
-var result = null;
-document.getElementById('good').onclick = () => { console.log('click good'); result = 'good' }
-document.getElementById('bad').onclick = () => { console.log('click bad'); result = 'bad' }
-
-// for some reason the listener here never gets triggered
-async function listener(msg, _sender, _sendResponse) {
- console.log('listener triggered');
- console.log(msg);
-}
-
-console.log('adding listener');
-browser.runtime.onMessage.addListener(listener);
-console.log('added listener');
diff --git a/jrx/src/b_lib.ts b/jrx/src/b_lib.ts
index d46aab9..608195a 100644
--- a/jrx/src/b_lib.ts
+++ b/jrx/src/b_lib.ts
@@ -359,10 +359,15 @@ msg_sign
let confirm_window = await browser.windows.create({url : '../pages/msg_confirm.html',
type : 'popup'});
console.log('b');
+ console.log(confirm_window.tabs);
// @ts-ignore shut the fuck up
let tabid : number = confirm_window.tabs[0].id;
console.log('tabid', tabid);
+ // stupid hack because otherwise the message gets sent before the listener in the page script is created
+ await sleep(500);
+ console.log('slept');
+
let result = await browser.tabs.sendMessage(tabid, {msg_str : msg_str});
console.log('result', result);
@@ -769,3 +774,17 @@ bi_s2i
return {keypairs: i_keypairs};
}
+
+
+
+/**
+ * Hack from stack overflow somewhere to sleep for the given number of ms
+ */
+async function
+sleep
+ (ms: number)
+ : Promise
+{
+ return new Promise(resolve => setTimeout(resolve, ms));
+}
+
diff --git a/jrx/src/msg_confirm.ts b/jrx/src/msg_confirm.ts
new file mode 100644
index 0000000..0f42c19
--- /dev/null
+++ b/jrx/src/msg_confirm.ts
@@ -0,0 +1,33 @@
+/**
+ * Page script for "confirm sign message" popup window
+ */
+
+
+main();
+
+async function
+main
+ ()
+ : Promise
+{
+ console.log('msg_confirm main');
+ var result = null;
+ document.getElementById('good')!.onclick = () => { console.log('click good'); result = 'good' }
+ document.getElementById('bad')!.onclick = () => { console.log('click bad'); result = 'bad' }
+
+ console.log('adding listener');
+ browser.runtime.onMessage.addListener(listener);
+ console.log('added listener');
+}
+
+// for some reason the listener here never gets triggered
+async function
+listener
+ (msg : any,
+ _sender : any,
+ _sendResponse : any)
+ : Promise
+{
+ console.log('listener triggered');
+ console.log(msg);
+}