fix(reflectors): merge missing country metadata without startup conflicts
Build binaries / Build (aarch64-musl) (push) Successful in 1m54s
Build binaries / Build (arm-musleabi) (push) Successful in 1m54s
Build binaries / Build (arm-musleabihf) (push) Successful in 1m56s
Build binaries / Build (armv7-musleabi) (push) Successful in 1m56s
Build binaries / Build (armv7-musleabihf) (push) Successful in 1m56s
Build binaries / Build (i686-musl) (push) Successful in 1m55s
Build binaries / Build (mips64-muslabi64) (push) Successful in 2m0s
Build binaries / Build (mips-musl) (push) Successful in 2m3s
Build binaries / Build (mipsel-musl) (push) Successful in 2m9s
Build binaries / Build (mips64el-muslabi64) (push) Successful in 2m13s
Build binaries / Build (riscv64gc-musl) (push) Successful in 1m53s
Build binaries / Build (x86_64-musl) (push) Successful in 1m53s

This commit is contained in:
Nils Andreas Svee committed 2026-10-13 22:58:15 +07:00
1 parent cb4ae4d251
commit 7fb744790d
1 file changed
+5 -3
+5 -3
View File
@@ -196,11 +196,10 @@ fn insert_reflector(
endpoint: SocketAddr, endpoint: SocketAddr,
definition: ReflectorDefinition, definition: ReflectorDefinition,
) -> anyhow::Result<()> { ) -> anyhow::Result<()> {
if let Some(existing) = reflectors.get(&endpoint) { if let Some(existing) = reflectors.get_mut(&endpoint) {
let same_country = match (&existing.country, &definition.country) { let same_country = match (&existing.country, &definition.country) {
(Some(a), Some(b)) => a.eq_ignore_ascii_case(b), (Some(a), Some(b)) => a.eq_ignore_ascii_case(b),
(None, None) => true, _ => true,
_ => false,
}; };
let same_protocols = existing let same_protocols = existing
.protocols .protocols
@@ -217,6 +216,9 @@ fn insert_reflector(
{ {
anyhow::bail!("conflicting reflector definitions for resolved endpoint {endpoint}"); anyhow::bail!("conflicting reflector definitions for resolved endpoint {endpoint}");
} }
if existing.country.is_none() {
existing.country = definition.country;
}
} else { } else {
reflectors.insert(endpoint, definition); reflectors.insert(endpoint, definition);
} }