Commit Graph
16 Commits
Author SHA1 Message Date
Raven Scott 1aff73eada Docs update concerning consensus 2026-05-31 00:02:00 -04:00
Raven Scott 7c076ec1e4 Remove sanity scans 2026-05-30 17:44:54 -04:00
Raven Scott 71207e77ba Update migration system 2026-05-30 17:21:25 -04:00
Raven Scott 343102d4b5 Update docs 2026-05-28 12:39:38 -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 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 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 d95baaed1c Bump 2026-05-28 01:14:13 -04:00
Raven Scott 5559c9096d Skip migration if its completed 2026-05-28 00:26:32 -04:00
Raven Scott 8eb2bc5946 automatic db migrations on version bump 2026-05-28 00:19:43 -04:00
Raven Scott 30153bf958 peer paste updates 2026-05-27 23:08:45 -04:00
Raven Scott e802bbcf64 Introduce peer.paste 2026-05-27 22:23:30 -04:00
Raven Scott 396bba5bb2 Update Docs 2026-05-27 22:15:33 -04:00
Raven Scott d57433d3e0 Modernize Holepunch stack for HyperDB 6 and current replication APIs
Align P2NS with current Autopass, Hypercore, Hyperdrive, and Protomux behavior:
add plugin DB recovery for incompatible persisted HyperDB data, stop
unconditional spec rebuilds via fingerprinting, update SDK replication paths,
and align proxy invite channels with p2ns.core-* protocols without replicating
Autopass over the p2ns topic.
2026-05-27 21:02:17 -04:00
Raven Scott 742e27d3f7 reorg 2025-12-17 20:05:50 -05:00