diff --git a/src/DnsmasqWebUI/Components/EffectiveConfig/Modals/EffectiveConfigSaveModal.razor b/src/DnsmasqWebUI/Components/EffectiveConfig/Modals/EffectiveConfigSaveModal.razor index f7b7053..998b883 100644 --- a/src/DnsmasqWebUI/Components/EffectiveConfig/Modals/EffectiveConfigSaveModal.razor +++ b/src/DnsmasqWebUI/Components/EffectiveConfig/Modals/EffectiveConfigSaveModal.razor @@ -122,16 +122,28 @@ @if (isMultiValue) { - var added = (newList ?? Array.Empty()).Except(oldList ?? Array.Empty()).ToList(); - var removed = (oldList ?? Array.Empty()).Except(newList ?? Array.Empty()).ToList(); + var oldSeq = oldList ?? Array.Empty(); + var newSeq = newList ?? Array.Empty(); + var added = newSeq.Except(oldSeq).ToList(); + var removed = oldSeq.Except(newSeq).ToList(); + var orderOrDuplicatesChanged = added.Count == 0 && removed.Count == 0 && !oldSeq.SequenceEqual(newSeq, StringComparer.Ordinal);
- @foreach (var val in removed) + @if (orderOrDuplicatesChanged) { -
− @val
+
Order or duplicates changed:
+
Before: @string.Join(", ", oldSeq)
+
After: @string.Join(", ", newSeq)
} - @foreach (var val in added) + else { -
+ @val
+ @foreach (var val in removed) + { +
− @val
+ } + @foreach (var val in added) + { +
+ @val
+ } }
} diff --git a/src/DnsmasqWebUI/Models/Config/DnsmasqOptions.cs b/src/DnsmasqWebUI/Models/Config/DnsmasqOptions.cs index 416337f..c42e6b4 100644 --- a/src/DnsmasqWebUI/Models/Config/DnsmasqOptions.cs +++ b/src/DnsmasqWebUI/Models/Config/DnsmasqOptions.cs @@ -50,7 +50,7 @@ public class DnsmasqOptions // --- Timeouts (seconds) for the commands above --- /// Timeout in seconds for / . Default 30. - public int RestartTimeoutSeconds { get; set; } = 15; + public int RestartTimeoutSeconds { get; set; } = 30; /// Timeout in seconds for . Default 5. public int StatusTimeoutSeconds { get; set; } = 5;