Tree:
e0a40925a9
imwald
imwald-v0.58.10
imwald-v0.58.5
main
v0.1.0
v0.10.0
v0.10.1
v0.10.2
v0.10.3
v0.10.4
v0.10.5
v0.11.0
v0.11.1
v0.11.2
v0.11.3
v0.12.0
v0.12.1
v0.12.2
v0.12.3
v0.13.0
v0.13.1
v0.13.2
v0.14.0
v0.14.1
v0.14.2
v0.14.3
v0.14.4
v0.15.0
v0.16.0
v0.16.1
v0.16.2
v0.16.3
v0.17.0
v0.17.1
v0.17.10
v0.17.11
v0.17.12
v0.17.13
v0.17.14
v0.17.15
v0.17.16
v0.17.17
v0.17.18
v0.17.2
v0.17.3
v0.17.4
v0.17.5
v0.17.6
v0.17.7
v0.17.8
v0.17.9
v0.18.0
v0.19.0
v0.19.1
v0.19.10
v0.19.2
v0.19.3
v0.19.4
v0.19.5
v0.19.6
v0.19.7
v0.19.8
v0.19.9
v0.2.0
v0.2.1
v0.20.0
v0.20.1
v0.20.2
v0.20.3
v0.20.4
v0.20.5
v0.20.6
v0.21.0
v0.21.1
v0.21.2
v0.21.3
v0.21.4
v0.22.0
v0.23.0
v0.23.1
v0.23.3
v0.23.4
v0.24.0
v0.24.1
v0.24.2
v0.24.3
v0.24.4
v0.24.5
v0.24.6
v0.24.7
v0.25.0
v0.25.1
v0.25.3
v0.25.4
v0.25.5
v0.25.6
v0.25.7
v0.26.0
v0.26.1
v0.26.2
v0.26.3
v0.26.4
v0.27.0
v0.27.1
v0.27.2
v0.27.3
v0.27.4
v0.27.5
v0.27.6
v0.27.7
v0.27.8
v0.27.9
v0.28.0
v0.28.1
v0.28.3
v0.29.0
v0.29.1
v0.29.10
v0.29.11
v0.29.12
v0.29.13
v0.29.14
v0.29.15
v0.29.16
v0.29.17
v0.29.18
v0.29.19
v0.29.2
v0.29.20
v0.29.3
v0.29.4
v0.29.6
v0.29.7
v0.29.8
v0.29.9
v0.3.0
v0.3.1
v0.3.2
v0.30.0
v0.30.1
v0.30.2
v0.30.3
v0.31.0
v0.31.1
v0.31.1-bump
v0.31.10
v0.31.11
v0.31.2
v0.31.3
v0.31.4
v0.31.5
v0.31.6
v0.31.7
v0.31.8
v0.31.9
v0.32.0
v0.32.1
v0.32.2
v0.32.3
v0.32.4
v0.32.5
v0.32.6
v0.32.7
v0.33.0
v0.33.1
v0.34.0
v0.34.1
v0.34.2
v0.34.3
v0.34.4
v0.34.5
v0.34.6
v0.34.7
v0.35.0
v0.35.1
v0.35.2
v0.35.3
v0.35.4
v0.35.5
v0.36.0
v0.36.1
v0.36.10
v0.36.11
v0.36.12
v0.36.13
v0.36.14
v0.36.15
v0.36.16
v0.36.17
v0.36.18
v0.36.19
v0.36.2
v0.36.20
v0.36.21
v0.36.22
v0.36.23
v0.36.3
v0.36.4
v0.36.5
v0.36.6
v0.36.7
v0.36.8
v0.36.9
v0.37.0
v0.37.1
v0.37.2
v0.37.3
v0.38.0
v0.38.1
v0.39.0
v0.39.1
v0.39.2
v0.39.3
v0.39.4
v0.4.0
v0.4.1
v0.4.2
v0.4.3
v0.4.4
v0.4.5
v0.4.6
v0.4.9
v0.40.0
v0.40.1
v0.41.0
v0.42.0
v0.43.0
v0.43.1
v0.44.0
v0.44.1
v0.44.2
v0.44.3
v0.44.4
v0.44.5
v0.44.6
v0.44.7
v0.46.0
v0.46.1
v0.46.2
v0.47.0
v0.47.1
v0.48.1
v0.48.10
v0.48.11
v0.48.12
v0.48.13
v0.48.14
v0.48.15
v0.48.8
v0.48.9
v0.49.0
v0.49.1
v0.49.2
v0.50.0
v0.50.1
v0.51.0
v0.52.0
v0.52.1
v0.52.10
v0.52.11
v0.52.12
v0.52.17
v0.52.2
v0.52.3
v0.52.4
v0.52.5
v0.52.6
v0.52.7
v0.52.8
v0.52.9
v0.53.0
v0.53.1
v0.54.0
v0.55.0
v0.55.10
v0.55.11
v0.55.4
v0.55.5
v0.55.6
v0.56.0
v0.56.1
v0.56.2
v0.56.3
v0.56.4
v0.56.5
v0.56.6
v0.56.8
v0.56.9
v0.57.0
v0.57.1
v0.57.2
v0.58.0
v0.58.1
v0.58.2
v0.58.3
v0.58.4
v0.58.5
v0.6.0
v0.6.1
v0.6.2
v0.6.3
v0.6.4
v0.7.1
v0.8.0
v0.8.1
v0.8.2
v0.8.3
v0.8.4
v0.8.5
v0.8.6
v0.8.7
v0.8.8
v0.8.9
v0.9.0
v0.9.1
v0.9.2
v0.9.3
v4.1.0
${ noResults }
7 Commits (e0a40925a9c9d9e8ec6993f0fc2bc357741e3d9b)
| Author | SHA1 | Message | Date |
|---|---|---|---|
|
|
71f5a91b76 |
update docs and scripts
fix memory leaks |
3 months ago |
|
|
a5b7e75395
|
Fix NIP-77 negentropy protocol implementation and add client mode sync
NIP-77 Protocol Fixes: - Fix role reversal in HandleNegOpen: relay now correctly requires initial message from client and calls Reconcile() instead of Start() - Fix premature event transmission: haveIDs events now only sent when reconciliation completes (complete=true) - Add proper error handling for missing initial message in NEG-OPEN Sync Client Mode (gRPC IPC): - Add --server flag to 'orly sync' for connecting to running service - Enable one-shot sync without direct database access - Support remote sync operations via gRPC - Add filterToProto helper for gRPC communication Documentation: - Add NIP77_ANALYSIS_AND_FIX.md with detailed protocol analysis - Add SYNC_CLIENT_MODE.md with usage examples and architecture diagrams Bug Fix: - Fix nil pointer panic in handle-req.go when subscriptions map is uninitialized |
4 months ago |
|
|
8a2aa009d6
|
Add embedded negentropy for monolithic mode NIP-77 support (v0.57.1)
- Create negentropy.Handler interface in pkg/interfaces/negentropy - Add EmbeddedHandler that wraps negentropy.Manager for embedded mode - Update app/handle-negentropy.go to use interface instead of gRPC client - Update gRPC client to implement the Handler interface - Update startup.go to initialize embedded negentropy when not in gRPC mode - Enables NIP-77 set reconciliation in monolithic binary without gRPC Files modified: - pkg/interfaces/negentropy/negentropy.go: New interface definition - pkg/sync/negentropy/embedded.go: New embedded handler implementation - pkg/sync/negentropy/grpc/client.go: Implement Handler interface - app/handle-negentropy.go: Use interface type - pkg/relay/startup.go: Initialize embedded negentropy - pkg/version/version: Bump to v0.57.1 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> |
4 months ago |
|
|
c2d3bdeffa
|
Fix EVENT envelope format in negentropy sync (v0.55.8)
Use eventenvelope.NewResultWith() to properly format EVENT messages with subscription ID, matching the expected format: ["EVENT", sub_id, event] Previously SendEvent was sending just the raw event which caused JSON parsing errors on the receiving side. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> |
4 months ago |
|
|
1711345c64
|
Fix NIP-77 negentropy server-side event pushing (v0.55.7)
- Add have_ids, need_ids, complete fields to NegOpenResponse proto - Fix ID encoding in server: decode hex strings to binary before sending - Fix event sending order: send NEG-MSG response before EVENT envelopes - Client now waits for expected events after reconciliation completes - Store received events from peer in sync client message loop This enables bidirectional event sync via NIP-77 negentropy. The server can now push events it has that the client needs, in addition to the client pushing events to the server. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> |
4 months ago |
|
|
36e681c5f3
|
Implement server-side event pushing for NIP-77 negentropy sync (v0.55.6)
- Implement sendEventsForIDs to actually send events via EVENT envelopes - Previously this was a TODO stub that only logged "would send" - Server now fetches and sends identified "have" events to clients Files modified: - pkg/version/version: Bump to v0.55.6 - app/handle-negentropy.go: Implement sendEventsForIDs Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> |
4 months ago |
|
|
769f9d2daa
|
Add IPC sync services and NIP-77 negentropy synchronization (v0.55.0)
- Add four independent gRPC sync service binaries: - orly-sync-distributed: Serial-based peer-to-peer sync - orly-sync-cluster: Cluster replication with persistent state - orly-sync-relaygroup: Relay group config discovery (Kind 39105) - orly-sync-negentropy: NIP-77 efficient set reconciliation - Implement NIP-77 negentropy protocol for relay-to-relay sync - Add push-based event transfer for negentropy sync - Add client-facing NIP-77 WebSocket support (NEG-OPEN/MSG/CLOSE) - Add deployment scripts with symlink-based versioning - Add Makefile targets for quick deployment and rollback - Refactor existing sync code into modular service packages - Add proto definitions for all sync services - Integrate negentropy service into orly-launcher supervisor - Advertise NIP-77 support in relay info document Files modified: - Makefile: Add sync service build targets and deployment commands - README.md: Document NIP-77 support - app/config/config.go: Add negentropy configuration options - app/handle-message.go: Route NEG-* envelopes to negentropy handler - app/handle-negentropy.go: New file for NIP-77 WebSocket handling - app/handle-relayinfo.go: Advertise NIP-77 support - cmd/orly-launcher/: Add negentropy service management - cmd/orly-sync-*/: New service binaries - main.go: Add negentropy gRPC client initialization - pkg/proto/orlysync/: New proto definitions and generated code - pkg/sync/*/: Refactored sync packages with gRPC services - scripts/deploy-orly.sh: New symlink-based deployment script - scripts/build-and-deploy.sh: New build and deploy workflow Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> |
4 months ago |