jex detects and connects

This commit is contained in:
2022-12-28 03:23:03 -07:00
parent ce4047f795
commit 75d6d89bdf
2 changed files with 124 additions and 4 deletions
+110
View File
@@ -0,0 +1,110 @@
let detect_msg =
{id : "urmom",
name : "JR",
networkId : "ae_uat",
origin : "ur dads balls",
type : "extension"};
let detect_awcp_msg =
{type: "to_aepp",
data: {jsonrpc: "2.0",
method: "connection.announcePresence",
params: detect_msg}};
function post_detect_msg() {
window.postMessage(detect_awcp_msg, '*');
}
function post_connect_msg(msg_ident) {
// : EventData_W2A_connection_open
// http://localhost:6969/local-awcp-0.2.1/types/EventData_W2A_connection_open.html
let connect_response =
{type: "to_aepp",
data: {jsonrpc: "2.0",
id: msg_ident,
method: "connection.open",
result: detect_msg}};
window.postMessage(connect_response, '*');
}
async function mk_detectable() {
while (true) {
console.error('pee');
post_detect_msg();
await sleep(3000);
}
}
function sleep(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}
function handler(msg) {
console.error('message: ', msg);
switch(msg) {
case 'mk-detectable':
mk_detectable();
return;
default:
console.error('your mom is dead');
}
}
function window_message_handler(msg) {
console.error('the science is coming', msg);
// example science:
// {
// "type": "to_waellet",
// "data": {
// "jsonrpc": "2.0",
// "id": "ske-connect-1",
// "method": "connection.open",
// "params": {
// "name": "sidekick examples",
// "version": 1
// }
// }
// }
let the_science = msg.data;
console.error('THE SCIENCE: ', the_science);
console.error('is the science good or bad?');
if (the_science.type === 'to_waellet') {
console.error('the science is good');
the_science_is_good(the_science.data);
}
else {
console.error('the science is bad');
}
}
function the_science_is_good(awcp_rcp_data) {
// example science data:
// // layer 3: json rpc
// {jsonrpc : "2.0",
// id : "ske-connect-1",
// method : "connection.open",
// // layer 4: AWCP-specific semantics
// params : {name : "sidekick examples",
// version : 1}}}
// can assume it is a call
let msg_ident = awcp_rcp_data.id;
let msg_method = awcp_rcp_data.method;
switch (msg_method) {
case "connection.open":
post_connect_msg(msg_ident);
return;
default:
console.error('the science is worse than i initially thought');
console.error("we're going to have to put the science to sleep");
}
}
browser.runtime.onMessage.addListener(handler);
window.addEventListener('message', window_message_handler);
//window.addEventListener('message', function(evt) { console.error('BYYYYYYYYYYYYYYY', evt) });
window.addEventListener('click', function() { console.error('HERRRO'); });
console.error('poop');
+14 -4
View File
@@ -1,5 +1,15 @@
document.getElementById('mk-detectable').onclick = function() {
alert('poop')
async function active_tab_id() {
let active_tabs = await browser.tabs.query({active: true, currentWindow: true});
return active_tabs[0].id;
}
async function mk_detectable() {
let ati = await active_tab_id();
browser.tabs.sendMessage(ati, // active tab
'mk-detectable'); // message
document.getElementById('mk-detectable').disabled = true;
}
// detect button action
document.getElementById('mk-detectable').onclick = mk_detectable;