From fc31d375a2451536166f0e559b5ebf8dcf0a3bf4 Mon Sep 17 00:00:00 2001 From: "Arthur K." Date: Fri, 23 Jan 2026 12:19:16 +0300 Subject: [PATCH 1/2] fix: prevent firing registry events on heartbeat --- internal/registry/registry.go | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/internal/registry/registry.go b/internal/registry/registry.go index 610e153..9e425d2 100644 --- a/internal/registry/registry.go +++ b/internal/registry/registry.go @@ -123,6 +123,15 @@ func (r *Registry) RemoveNode(node types.Node) error { func (r *Registry) Set(nodes map[string]types.Node) error { r.lock.Lock() + equalFunc := func(a, b types.Node) bool { + return a.Hostname == b.Hostname + } + + if maps.EqualFunc(r.nodes, nodes, equalFunc) { + r.lock.Unlock() + return nil + } + r.nodes = maps.Clone(nodes) snapshot := r.snapshot() r.lock.Unlock() From 0d90395eefa97e0ab020f024dd50cedcc0063801 Mon Sep 17 00:00:00 2001 From: "Arthur K." Date: Sat, 31 Jan 2026 15:37:05 +0300 Subject: [PATCH 2/2] chore: remove empty hivemind-lite --- cmd/hivemind-lite/main.go | 7 ------- internal/config/config.go | 3 +++ 2 files changed, 3 insertions(+), 7 deletions(-) delete mode 100644 cmd/hivemind-lite/main.go diff --git a/cmd/hivemind-lite/main.go b/cmd/hivemind-lite/main.go deleted file mode 100644 index e41a223..0000000 --- a/cmd/hivemind-lite/main.go +++ /dev/null @@ -1,7 +0,0 @@ -package main - -import "fmt" - -func main() { - fmt.Println("hivemind lite") -} diff --git a/internal/config/config.go b/internal/config/config.go index 3795d3b..033a094 100644 --- a/internal/config/config.go +++ b/internal/config/config.go @@ -9,6 +9,9 @@ import ( "github.com/BurntSushi/toml" ) +// TODO: make all configs have a codegen verification and merging +// assume that 0 and "" are invalid values, i.e. use -1 for unset + type Configs struct { Master MasterConfig Dns DnsConfig