Commit Graph
161 Commits
Author SHA1 Message Date
Raven Scott 9974202c39 Full Redesign of p2ns.admin 2026-05-30 19:12:35 -04:00
Raven Scott 43f69a59a7 Update UI 2026-05-30 18:17:15 -04:00
Raven Scott 7c233008ac Update 2026-05-30 18:10:54 -04:00
Raven Scott ffa9ed7242 update global.profile 2026-05-30 17:49:25 -04:00
Raven Scott 7c076ec1e4 Remove sanity scans 2026-05-30 17:44:54 -04:00
Raven Scott eba85b44ca db updates 2026-05-30 17:37:54 -04:00
Raven Scott 71207e77ba Update migration system 2026-05-30 17:21:25 -04:00
Raven Scott 1ffdd12efb fix(linux): install root CA in system store and NSS for Chrome
Chrome/Chromium on Linux use ~/.pki/nssdb, not only
update-ca-certificates. Auto-install now runs both paths.
- certificate_authority.js: installLinuxRootCA + certutil for
  user NSS (~/.pki/nssdb) and optional /etc/pki/nssdb
- docs/CERTIFICATES.md: manual steps (libnss3-tools, certutil, verify)
- docs/README_LONGFORM.md, EXAMPLES.md, README.md: aligned Linux instructions
2026-05-29 06:48:50 -04:00
Raven Scott b1a02e2e84 feat(experimental)!: multi-master one ledger (Option B)
Remove the last layer of soft centralization: a lone `--master` on empty
storage could still implicitly genesis a separate Autopass and split the
network on the same TOPIC_SEED. Genesis is now explicit (`--master
--genesis`); secondary masters pair via invite into the same dnsPass as
joiners, with a shared network manifest, split-brain diagnostics, and
writer-aware quorum.

- Genesis vs secondary master boot paths; auto-adopt manifest on upgrade
- Masters without dnsPass accept invites; masters with pass ignore them
- NETWORK_MANIFEST_FILE, P2NS_GENESIS, MASTER_LOAD_DOMAINS, MASTER_INVITE_ONLY
- core.status networkId; admin diagnostics; docs and multi-master tests

BREAKING: operators must run one genesis per network; additional masters
use `node p2ns.js --master` (not `--genesis`) on empty storage.
2026-05-29 05:34:50 -04:00
Raven Scott 9e931b1f4d RFC Update 2026-05-28 20:11:09 -04:00
Raven Scott 2fe3d9fba5 Updates 2026-05-28 18:19:32 -04:00
Raven Scott d046f6a8e2 Attempted fixes 2026-05-28 18:10:40 -04:00
Raven Scott 343102d4b5 Update docs 2026-05-28 12:39:38 -04:00
Raven Scott 564029af44 Remove border, drop down, logs 2026-05-28 12:16:42 -04:00
Raven Scott 44fbc3be92 Log updates 2026-05-28 12:14:42 -04:00
Raven Scott ca324ec4a6 Upgrade logs 2026-05-28 12:12:24 -04:00
Raven Scott 6ee20a3f68 Migrate plugin channels to protomux-rpc only
Replace dual message-channel + RPC setup with a single registerPluginProtocol
path, unified sdk.channels (register/request/event/broadcast), RPC keepalive
(__p2ns.ping/pong), and core request lifecycle on RPC open. Update
global.profile and example.plugin, admin Plugin RPC stats, docs, and
test:plugin-rpc. Breaking: upgrade all peers together; no legacy adapters.
2026-05-28 11:55:01 -04:00
Raven Scott ba44ef267d Fix 2026-05-28 11:37:45 -04:00
Raven Scott 8854365add Add core.status RPC, RPC invite diagnostics, and WebSocket stats refresh
- core.status handler and coreStatusRequest; diagnoseInviteIssuesAsync
  clears stale failed-invite flags when peers report canProvideInvite
- Admin invite diagnostics and Core stats UI: per-peer remote state,
  text status marks, recommendations aligned with invite.deliver RPC
- Extract stats-collector; push stats/health/status via subscribe-stats
  WebSocket; HTTP only on first Stats tab load
- Document core.status in PLUGIN_SDK; proxy registers onCoreStatus
2026-05-28 11:35:01 -04:00
Raven Scott 1d309aa82d Add Core RPC section to admin Stats tab
Surface invite diagnostics (RPC health, per-peer state, queues,
recommendations) under Resource Usage via /api/stats core payload
and auto-refreshing renderCoreStats in the stats UI.
2026-05-28 11:24:41 -04:00
Raven Scott 51184d2446 Update invite diagnostics for RPC-only core invite flow
Replace legacy invite-channel checks with schema v2 diagnostics:
per-peer RPC/request channel health, pending invite.ack and master
queue state, and an admin UI that matches invite.deliver on
p2ns.core-request-rpc.
2026-05-28 11:20:08 -04:00
Raven Scott 51ad117612 Fix: use newPass.base 2026-05-28 11:11:27 -04:00
Raven Scott 84199270b3 BREAKING: Native p2ns.core RPC — invite.deliver, remove legacy invite channel
Replace RPC-to-string adapters and processCoreRequestMessage (~470 lines) with
typed handlers in core-swarm-handlers.js. Autopass invite wire now uses
invite.deliver RPC only; p2ns.core-invite protomux channel is removed.

- Add core-rpc-contract.js (METHODS, INVITE_STATUS) and core-swarm-handlers.js
  with shared processInviteWire for deliver, relay, and pairing
- core-rpc.js: deliverInviteWire via invite.deliver; invite.request returns
  { status, reason, inviteId }; invite.ack carries optional inviteId
- p2ns.js: register native handlers; slim p2ns.core-request (lifecycle only);
  proactive invite ack tracks inviteId; fix missing invite.queued handler
- proxy-server: channel-manager + shared handlers (no p2ns.core-invite strings)
- Tests: core-swarm-handlers.test.js, core-invite-rpc-integration.js; extend test:core-rpc
- Docs: PLUGIN_SDK RPC table; consensus.removeDomain in longform/RESTAPI/glossary
2026-05-28 11:09:05 -04:00
Raven Scott ea9124c429 BREAKING EXPERIMENTAL: Holepunch-native hard migration (RPC core, shared storage, SDK v2)
BREAKING: All nodes must upgrade together. Legacy p2ns.core-request string
messages are rejected; invite/consensus control plane uses protomux-rpc
(invite.request, invite.ack, invite.relay*, consensus.*). Shared Corestore
namespaces are the default for plugin DBs and drives; USE_SHARED_CORESTORE_NAMESPACES=false
is debug-only. Admin plugin actions with params are validated before run.

EXPERIMENTAL: End-to-end RPC invite path reuses existing handlers via adapters;
invite wire still ships on the invite channel. Multi-peer invite/relay
integration tests are not in CI yet (core-rpc-smoke only).

SDK & channels:
- channel-rpc.js, sdk.channels.rpc (register/request/event)
- core-rpc.js for p2ns.core; action-params + plugin route validation
- sdk.db.getCore/reopen, sdk.state.getPeerChannelSnapshot,
  sdk.metrics.getHolepunchStats (schema v1)

Runtime:
- p2ns.js: RPC-first core invite/consensus; Hyperswarm firewall/reconnect
- channel-manager: required protomux-rpc per peer
- db-shared-namespace-migration; drive-manager shared namespaces
- proxy-server: invite.request RPC for joiners

Plugins: file.drop, global.profile, peer.directory, domain.consensus,
peer.visualize, example.plugin (RPC demo); peer.directory UI polish

Also: CI/smoke scripts, diagnostics hardening, plugin config schema validation,
admin action param modal, docs/RFCS, package-lock + engines.node >= 18
2026-05-28 10:51:19 -04:00
Raven Scott 4b783801c5 update 2026-05-28 01:58:17 -04:00
Raven Scott 25f3195e57 Update peer paste 2026-05-28 01:55:01 -04:00
Raven Scott 95559fc552 fixing boot 2026-05-28 01:46:38 -04:00
Raven Scott 7c49928a5c corestore init 2026-05-28 01:41:48 -04:00
Raven Scott b7b3a1c111 Updates 2026-05-28 01:35:59 -04:00
Raven Scott df8a141ebb Fixes 2026-05-28 01:34:07 -04:00
Raven Scott 64b9b6f9b8 Disable file.drop on master 2026-05-28 01:30:42 -04:00
Raven Scott dff3fb2040 Fix regression 2026-05-28 01:25:00 -04:00
Raven Scott 9057b9661d dnspass fixes 2026-05-28 01:20:52 -04:00
Raven Scott d95baaed1c Bump 2026-05-28 01:14:13 -04:00
Raven Scott 6ccfac862d Global Paste Feed 2026-05-28 01:10:11 -04:00
Raven Scott 65e3791553 Migration 2026-05-28 01:01:10 -04:00
Raven Scott 50e5fac0c0 Bump 2026-05-28 00:55:43 -04:00
Raven Scott badd23a7e7 Edit/Preview pane 2026-05-28 00:48:25 -04:00
Raven Scott ac06ffe22d peer.paste style/layout 2026-05-28 00:41:51 -04:00
Raven Scott 5559c9096d Skip migration if its completed 2026-05-28 00:26:32 -04:00
Raven Scott 7b1983cd81 Bump file.drop and peer.paste 2026-05-28 00:21:56 -04:00
Raven Scott 8eb2bc5946 automatic db migrations on version bump 2026-05-28 00:19:43 -04:00
Raven Scott 2d10e0a4a9 auto clean ledger on boot 2026-05-28 00:12:32 -04:00
Raven Scott 322812804f Remove automatic cleanup on launch 2026-05-28 00:10:31 -04:00
Raven Scott aac69de4cf Updates peer.paste 2026-05-28 00:03:52 -04:00
Raven Scott 60d17a7b91 Update docs peer.paste 2026-05-27 23:58:04 -04:00
Raven Scott 345dbf2156 visual polish peer.paste 2026-05-27 23:54:46 -04:00
Raven Scott aebbdd43ed Updates peer.paste 2026-05-27 23:49:13 -04:00
Raven Scott 22d9926c52 E2EE syntax highlight peer.paste 2026-05-27 23:45:55 -04:00
Raven Scott 371fce2847 Updates peer.paste 2026-05-27 23:43:05 -04:00