aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2026-10-02 21:41:06 -0700
committerAdam Soltys <[email protected]>2026-10-02 21:41:06 -0700
commitca0a7e0cd15bdbd553e80a7bf651acb4ba795658 (patch)
treec13ddb941d43333272eab738397390c6fc922383
parente42e8cca57bfc59dd8a0b8e347dcf71e2a96054a (diff)
downloadcoinosv3-ca0a7e0cd15bdbd553e80a7bf651acb4ba795658.tar.gz
coinosv3-ca0a7e0cd15bdbd553e80a7bf651acb4ba795658.zip
README: where the White Noise code lives; the live UI test waits out a relay reconnect
Co-Authored-By: Claude Fable 5.1 <[email protected]>
-rw-r--r--README.md1
-rw-r--r--tools/marmot-chat-test.js3
2 files changed, 3 insertions, 1 deletions
diff --git a/README.md b/README.md
index 25940e2..2b6fa25 100644
--- a/README.md
+++ b/README.md
@@ -150,6 +150,7 @@ On load and on a timer the wallet reconciles against its data source; a manual
| `src/swap.js` | Boltz submarine/reverse swap engine |
| `src/silentpay.js` / `src/sp-worker.js` | BIP-352 math + its Web Worker |
| `src/nostr.js` | NIP-44 state sync, NIP-17 DMs, profiles |
+| `src/mls.js` / `src/marmot.js` / `src/marmot-client.js` | White Noise group chats: native-JS MLS (RFC 9420, one ciphersuite), the Marmot layer over it, and the per-device client (IndexedDB state, relay traffic) |
| `src/electrum.js` / `src/scan.js` / `src/qr.js` | Electrum transport, camera QR scanner, QR rendering |
| `src/app.js` | UI controller (vanilla DOM) + feature registry |
| `build.js` / `dev.js` | Bun bundler → inlined `index.html` + PWA sidecars; dev server with regtest proxies |
diff --git a/tools/marmot-chat-test.js b/tools/marmot-chat-test.js
index da56fba..1078bec 100644
--- a/tools/marmot-chat-test.js
+++ b/tools/marmot-chat-test.js
@@ -144,7 +144,8 @@ try {
await click('button', 'Join');
check('the group opens', !!await waitText('2 members'));
wn(['messages', 'send', gid, 'hello from white noise'], alice);
- const arrived = !!await waitText('hello from white noise');
+ // on public relays a dropped socket is only noticed by the watchdog's next pass
+ const arrived = !!await waitText('hello from white noise', SITE ? 120000 : 20000);
check('their message arrives', arrived);
if (!arrived && process.env.DEBUG) {
const chat = (wn(['chats', 'list'], alice).chats || []).find((c) => c.group_id === gid) || {};