Commit Graph
12 Commits
Author SHA1 Message Date
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 3d35f148c5 Updates 2026-05-27 20:03:25 -04:00
Raven Scott dbc6997219 Fixes 2026-05-27 19:59:45 -04:00
Raven Scott 8bed09a537 fix: prevent EADDRINUSE double-bind on Holesail client startup
Add global activeClientKeys Set to track all active clients and prevent
race conditions between domain init and cache restore paths. Add EADDRINUSE
error handling in holesail.js, holesail_child.js
2026-02-20 19:53:16 -05:00
Raven Scott eff22719ff cleanup/enhance cleanup 2025-12-26 18:02:21 -05:00
Raven Scott 01acfb766c feat: Add P2P Domain Conflicts management
Implement comprehensive P2P domain conflict resolution allowing users to choose between local claim hashes and consensus-resolved hashes for domains where they have local claims but another claimant won consensus.

Key features:
- P2P Domain Conflicts UI tab in Local DNS section
- Hash preference toggle (local vs resolved) with automatic client restart
- Extended selector_cache.json to store hashPreferences alongside versionPreferences
- DNS cache invalidation for immediate preference application
- REST API endpoints for conflict detection and preference management
- Automatic Holesail client restart when hash preferences change
- Complete documentation updates across README, API docs, and glossary

Resolves conflicts between local claims and consensus resolution by giving users control over which hash their domain resolves to, with seamless client management ensuring immediate effect.
2025-12-26 16:36:19 -05:00
Raven Scott 14cd0d98dd allow public holesail keys 2025-12-20 17:03:20 -05:00
Raven Scott 6128abe902 tests 2025-12-20 15:41:48 -05:00
Raven Scott 5f022eae91 further adjustments 2025-12-17 22:39:20 -05:00
Raven Scott eb5675adb2 fixes 2025-12-17 22:32:07 -05:00
Raven Scott eecd85c066 Invite Diagnostics + Cleanup and Reboot 2025-12-17 21:44:58 -05:00
Raven Scott 742e27d3f7 reorg 2025-12-17 20:05:50 -05:00