From d7fe66a2ad5881de8dc887db9d56061dcf737c88 Mon Sep 17 00:00:00 2001 From: jakopako Date: Sun, 9 Feb 2025 13:51:41 +0100 Subject: [PATCH] improved autoconfig --- autoconfig/autoconfig.go | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/autoconfig/autoconfig.go b/autoconfig/autoconfig.go index 62084c0..8ffc60b 100644 --- a/autoconfig/autoconfig.go +++ b/autoconfig/autoconfig.go @@ -402,13 +402,22 @@ func checkAndUpdateLocProps(old, new *locationProps) bool { continue } ovClasses := utils.IntersectionSlices(on.classes, new.path[i].classes) - // if nodes have more than 0 classes there has to be at least 1 overlapping class - // does this make sense? if len(ovClasses) > 0 { - newNode.classes = ovClasses - newPath = append(newPath, newNode) - continue + if i > old.iStrip { + // if we're past iStrip we only consider nodes equal if they have the same classes + if len(ovClasses) == len(on.classes) { + newNode.classes = on.classes + newPath = append(newPath, newNode) + continue + } + } else { + // if nodes have more than 0 classes and we're not past iStrip there has to be at least 1 overlapping class + newNode.classes = ovClasses + newPath = append(newPath, newNode) + continue + } } + // } } } return false