From 437ccebbaab251223501acdeadca3a493a70041b Mon Sep 17 00:00:00 2001 From: Graham McIntire Date: Fri, 25 Jul 2025 12:10:47 -0500 Subject: [PATCH] Fix duplicate APRS-IS connections in clustered deployments MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Prevent both AprsIsConnection and cluster-managed Is connection from starting simultaneously. When clustering is enabled, only the cluster's ConnectionManager should handle APRS-IS connections via leader election. This resolves aprsc server disconnections caused by duplicate validated clients with the same username (W5ISP-1). 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- lib/aprsme/application.ex | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/aprsme/application.ex b/lib/aprsme/application.ex index 0e67e7b..f4056bc 100644 --- a/lib/aprsme/application.ex +++ b/lib/aprsme/application.ex @@ -139,8 +139,10 @@ defmodule Aprsme.Application do defp maybe_add_aprs_connection(children, _env) do disable_connection = Application.get_env(:aprsme, :disable_aprs_connection, false) + cluster_enabled = Application.get_env(:aprsme, :cluster_enabled, false) - if disable_connection do + # Don't add AprsIsConnection if clustering is enabled or connection is disabled + if disable_connection or cluster_enabled do children else children ++ [Aprsme.AprsIsConnection]