fix(config): propagate GroupToTag's comparer into the effective-config projection

This commit is contained in:
Joseph Doherty
2026-08-18 05:14:58 -04:00
parent c037d9960d
commit ff16c69d59
@@ -64,12 +64,13 @@ public sealed class GatewayConfigurationProvider(IOptions<GatewayOptions> option
ShowTagValues: value.Dashboard.ShowTagValues, ShowTagValues: value.Dashboard.ShowTagValues,
GroupToRole: value.Dashboard.GroupToRole, GroupToRole: value.Dashboard.GroupToRole,
// Rebuilt rather than passed through because the value type widens from string[] // Rebuilt rather than passed through because the value type widens from string[]
// to IReadOnlyList<string>; the comparer is carried over so the projected map // to IReadOnlyList<string>; the source dictionary's own comparer is carried over
// still matches LDAP group names in whatever case the directory returns them. // (case-insensitive by default) so the projected map still matches LDAP group
// names in whatever case the directory returns them.
GroupToTag: value.Dashboard.GroupToTag.ToDictionary( GroupToTag: value.Dashboard.GroupToTag.ToDictionary(
pair => pair.Key, pair => pair.Key,
pair => (IReadOnlyList<string>)pair.Value, pair => (IReadOnlyList<string>)pair.Value,
StringComparer.OrdinalIgnoreCase), value.Dashboard.GroupToTag.Comparer),
UntaggedSessionVisibility: value.Dashboard.UntaggedSessionVisibility), UntaggedSessionVisibility: value.Dashboard.UntaggedSessionVisibility),
Protocol: new EffectiveProtocolConfiguration( Protocol: new EffectiveProtocolConfiguration(
value.Protocol.WorkerProtocolVersion, value.Protocol.WorkerProtocolVersion,