From 1be94ae0be8676bf9ec5d5ac7a44c278c4aca998 Mon Sep 17 00:00:00 2001 From: Cory McWilliams Date: Wed, 22 May 2024 18:51:21 -0400 Subject: [PATCH] Removed ssb.addEventListener and ssb.removeEventListener from the public API. Can do the same thing with core.register. --- apps/issues/app.js | 9 ++++----- apps/journal/app.js | 2 +- apps/ssb/app.js | 4 ++-- apps/wiki/utils.js | 2 +- core/core.js | 6 ++++++ src/ssb.js.c | 2 +- 6 files changed, 15 insertions(+), 10 deletions(-) diff --git a/apps/issues/app.js b/apps/issues/app.js index 77fafa11..01b37cf8 100644 --- a/apps/issues/app.js +++ b/apps/issues/app.js @@ -67,9 +67,6 @@ tfrpc.register(function getHash(id, message) { tfrpc.register(function setHash(hash) { return app.setHash(hash); }); -ssb.addEventListener('message', async function (id) { - await tfrpc.rpc.notifyNewMessage(id); -}); tfrpc.register(async function store_blob(blob) { if (Array.isArray(blob)) { blob = Uint8Array.from(blob); @@ -91,10 +88,12 @@ tfrpc.register(function getActiveIdentity() { tfrpc.register(async function try_decrypt(id, content) { return await ssb.privateMessageDecrypt(id, content); }); -ssb.addEventListener('broadcasts', async function () { +core.register('onMessage', async function (id) { + await tfrpc.rpc.notifyNewMessage(id); +}); +core.register('onBroadcastsChanged', async function () { await tfrpc.rpc.set('broadcasts', await ssb.getBroadcasts()); }); - core.register('onConnectionsChanged', async function () { await tfrpc.rpc.set('connections', await ssb.connections()); }); diff --git a/apps/journal/app.js b/apps/journal/app.js index 44a9f354..4437c18e 100644 --- a/apps/journal/app.js +++ b/apps/journal/app.js @@ -55,7 +55,7 @@ function new_message() { return g_new_message_promise; } -ssb.addEventListener('message', function (id) { +core.register('onMessage', function (id) { let resolve = g_new_message_resolve; g_new_message_promise = new Promise(function (resolve, reject) { g_new_message_resolve = resolve; diff --git a/apps/ssb/app.js b/apps/ssb/app.js index c0f7a8cc..3868b534 100644 --- a/apps/ssb/app.js +++ b/apps/ssb/app.js @@ -76,7 +76,7 @@ tfrpc.register(function getHash(id, message) { tfrpc.register(function setHash(hash) { return app.setHash(hash); }); -ssb.addEventListener('message', async function (id) { +core.register('onMessage', async function (id) { await tfrpc.rpc.notifyNewMessage(id); }); tfrpc.register(async function store_blob(blob) { @@ -103,7 +103,7 @@ tfrpc.register(async function encrypt(id, recipients, content) { tfrpc.register(async function getActiveIdentity() { return await ssb.getActiveIdentity(); }); -ssb.addEventListener('broadcasts', async function () { +core.register('onBroadcastsChanged', async function () { await tfrpc.rpc.set('broadcasts', await ssb.getBroadcasts()); }); diff --git a/apps/wiki/utils.js b/apps/wiki/utils.js index fff4fdcc..f8718264 100644 --- a/apps/wiki/utils.js +++ b/apps/wiki/utils.js @@ -50,7 +50,7 @@ function new_message() { return g_new_message_promise; } -ssb.addEventListener('message', function (id) { +core.register('onMessage', function (id) { let resolve = g_new_message_resolve; g_new_message_promise = new Promise(function (resolve, reject) { g_new_message_resolve = resolve; diff --git a/core/core.js b/core/core.js index 641de855..b90f9cb0 100644 --- a/core/core.js +++ b/core/core.js @@ -678,6 +678,8 @@ async function getProcessBlob(blobId, key, options) { ); } }; + imports.ssb.addEventListener = undefined; + imports.ssb.removeEventListener = undefined; imports.ssb.getIdentityInfo = undefined; imports.fetch = function (url, options) { return http.fetch(url, options, gGlobalSettings.fetch_hosts); @@ -1228,6 +1230,10 @@ async function blobHandler(request, response, blobId, uri) { } } +ssb.addEventListener('message', function () { + broadcastEvent('onMessage', [...arguments]); +}); + ssb.addEventListener('broadcasts', function () { broadcastEvent('onBroadcastsChanged', []); }); diff --git a/src/ssb.js.c b/src/ssb.js.c index d7808c4f..22953f2c 100644 --- a/src/ssb.js.c +++ b/src/ssb.js.c @@ -1889,7 +1889,7 @@ void tf_ssb_register(JSContext* context, tf_ssb_t* ssb) JS_SetPropertyStr(context, object, "storeMessage", JS_NewCFunction(context, _tf_ssb_storeMessage, "storeMessage", 1)); JS_SetPropertyStr(context, object, "blobStore", JS_NewCFunction(context, _tf_ssb_blobStore, "blobStore", 1)); - /* Should be trusted only. */ + /* Trusted only. */ JS_SetPropertyStr(context, object, "addEventListener", JS_NewCFunction(context, _tf_ssb_add_event_listener, "addEventListener", 2)); JS_SetPropertyStr(context, object, "removeEventListener", JS_NewCFunction(context, _tf_ssb_remove_event_listener, "removeEventListener", 2));