Extensions anyone can publish from theseus.x/extensions
- by signing the package with the wallet that holds a BCDN name. Before installing, Theseus checks that signature
- against the name's current owner in its own chain index — the relay can't substitute code under a trusted name.
-
-
Loading…
-
Extensions run with full app access — treat installing one like installing an unsigned executable.
- Only load extensions whose source you trust.
+
To install a new extension, browse the catalogue at
+ theseus.x/extensions
+ and use the Install button there. Theseus checks each publisher's signature against the name's current
+ owner on chain before installing — the relay can't substitute code under a trusted name. Extensions run
+ with full app access — treat installing one like installing an unsigned executable, and only load
+ extensions whose source you trust.
';
- let r;
- try { r = await C.communityCatalog(); } catch (e) { r = { ok: false, error: e?.message || String(e), extensions: [] }; }
- if (!r.ok) { communityList.innerHTML = '
Catalog unavailable: ' + escapeHtml(r.error) + '
'; return; }
- // Hide extensions already shown in the Installed list above — the
- // Community list's job is to surface things you DON'T have. Updates to
- // installed extensions come through the poll + "Check for updates" flow
- // in the Installed list, not through a second card for the same id here.
- const catalog = r.extensions.filter((e) => !e.installedVersion);
- if (!catalog.length) { communityList.innerHTML = '
' + (r.extensions.length ? "All catalog extensions are already installed." : "Nothing published yet. Be the first — see theseus.x/extensions.") + '