From 48810ce98e79bb4c91f6bce661fd51d441fd25da Mon Sep 17 00:00:00 2001 From: Ahmet Soormally Date: Thu, 18 Dec 2025 21:07:23 +0000 Subject: [PATCH] fix(demo): initialize NATS adapters and add GetPubSubName function - Call Startup() on NATS adapters to establish connections - Add GetPubSubName function to subgraphs config to prevent nil pointer dereference - Fixes "nats client not initialized" error in mood and availability subgraphs The NATS adapters were being created but not started, leaving the client field uninitialized. This caused mutations that publish to NATS to fail with "nats client not initialized" errors. --- demo/cmd/all/main.go | 3 +++ demo/pkg/subgraphs/subgraphs.go | 6 ++++++ 2 files changed, 9 insertions(+) diff --git a/demo/cmd/all/main.go b/demo/cmd/all/main.go index 2a102cb522..0d885a0d95 100644 --- a/demo/cmd/all/main.go +++ b/demo/cmd/all/main.go @@ -37,6 +37,9 @@ func main() { ProductsFG: *productsFeatureSubgraph, }, EnableDebug: *debug, + GetPubSubName: func(name string) string { + return name + }, } ctx := context.Background() subgraphs, err := subgraphs.New(ctx, &config) diff --git a/demo/pkg/subgraphs/subgraphs.go b/demo/pkg/subgraphs/subgraphs.go index cb7060883f..3b5d294fca 100644 --- a/demo/pkg/subgraphs/subgraphs.go +++ b/demo/pkg/subgraphs/subgraphs.go @@ -218,6 +218,9 @@ func New(ctx context.Context, config *Config) (*Subgraphs, error) { if err != nil { return nil, fmt.Errorf("failed to create default nats adapter: %w", err) } + if err := defaultAdapter.Startup(ctx); err != nil { + return nil, fmt.Errorf("failed to start default nats adapter: %w", err) + } natsPubSubByProviderID["default"] = defaultAdapter myNatsAdapter, err := natsPubsub.NewAdapter(ctx, zap.NewNop(), url, []nats.Option{}, "hostname", "test", datasource.ProviderOpts{ @@ -226,6 +229,9 @@ func New(ctx context.Context, config *Config) (*Subgraphs, error) { if err != nil { return nil, fmt.Errorf("failed to create my-nats adapter: %w", err) } + if err := myNatsAdapter.Startup(ctx); err != nil { + return nil, fmt.Errorf("failed to start my-nats adapter: %w", err) + } natsPubSubByProviderID["my-nats"] = myNatsAdapter defaultConnection, err := nats.Connect(url)