Skip to content

Commit 35ebaea

Browse files
BornToBeRootclaude
andauthored
Fix: Profile and WiFi search timer (#3638)
* Fix: Profile search filters while typing DispatcherTimer.Start() is a no-op while the timer is running, so the search was filtered 750 ms after the first key press instead of after the last one. Reset the timer (Stop + Start) on every change. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Fix: WiFi connection status message hidden too early The hide timer was not reset when a new message was shown, because DispatcherTimer.Start() is a no-op while the timer is running. Also shorten the timer comments of the profile search fix. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Docs: Add PR link to changelog Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Chore: Remove obvious timer comments Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
1 parent f6e79b3 commit 35ebaea

5 files changed

Lines changed: 15 additions & 2 deletions

File tree

‎Source/NETworkManager/ViewModels/ImportProfilesResultViewModel.cs‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@ public string Search
7878
field = value;
7979

8080
IsSearching = true;
81+
_searchDispatcherTimer.Stop();
8182
_searchDispatcherTimer.Start();
8283

8384
OnPropertyChanged();

‎Source/NETworkManager/ViewModels/ProfileHostViewModelBase.cs‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,7 @@ public string Search
9595
if (!_searchDisabled)
9696
{
9797
IsSearching = true;
98+
_searchDispatcherTimer.Stop();
9899
_searchDispatcherTimer.Start();
99100
}
100101

‎Source/NETworkManager/ViewModels/ProfilesViewModel.cs‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,7 @@ public string Search
150150
if (!_searchDisabled)
151151
{
152152
IsSearching = true;
153+
_searchDispatcherTimer.Stop();
153154
_searchDispatcherTimer.Start();
154155
}
155156

‎Source/NETworkManager/ViewModels/WiFiViewModel.cs‎

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1120,7 +1120,8 @@ private void Connect()
11201120

11211121
var ssid = selectedNetwork.IsHidden ? instance.Ssid : selectedNetwork.AvailableNetwork.Ssid;
11221122

1123-
// Show status message
1123+
// Show status message (not hidden by the timer of a previous message)
1124+
_hideConnectionStatusMessageTimer.Stop();
11241125
IsConnecting = true;
11251126
ConnectionStatusMessage = string.Format(Strings.ConnectingToXXX, ssid);
11261127
IsConnectionStatusMessageDisplayed = true;
@@ -1166,6 +1167,7 @@ private void Connect()
11661167
ResourceTranslator.Translate(ResourceIdentifier.WiFiConnectionStatus, connectionResult));
11671168

11681169
// Hide message automatically
1170+
_hideConnectionStatusMessageTimer.Stop();
11691171
_hideConnectionStatusMessageTimer.Start();
11701172

11711173
// Update the Wi-Fi networks.
@@ -1179,7 +1181,8 @@ private void Connect()
11791181

11801182
var ssid = selectedNetwork.IsHidden ? instance.Ssid : selectedNetwork.AvailableNetwork.Ssid;
11811183

1182-
// Show status message
1184+
// Show status message (not hidden by the timer of a previous message)
1185+
_hideConnectionStatusMessageTimer.Stop();
11831186
IsConnecting = true;
11841187
ConnectionStatusMessage = string.Format(Strings.ConnectingToXXX, ssid);
11851188
IsConnectionStatusMessageDisplayed = true;
@@ -1203,6 +1206,7 @@ private void Connect()
12031206
ResourceTranslator.Translate(ResourceIdentifier.WiFiConnectionStatus, connectionResult));
12041207

12051208
// Hide message automatically
1209+
_hideConnectionStatusMessageTimer.Stop();
12061210
_hideConnectionStatusMessageTimer.Start();
12071211

12081212
// Update the Wi-Fi networks.
@@ -1241,6 +1245,7 @@ private async void Disconnect()
12411245
IsConnectionStatusMessageDisplayed = true;
12421246

12431247
// Hide message automatically
1248+
_hideConnectionStatusMessageTimer.Stop();
12441249
_hideConnectionStatusMessageTimer.Start();
12451250
}
12461251

‎Website/docs/changelog/next-release.md‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,7 @@ Release date: **xx.xx.2026**
9898
## Bug Fixes
9999

100100
- Fixed changes to lists in the settings (e.g. query histories, port profiles, custom commands) not being saved if no other setting was changed in the same session. This happened since the settings are stored as JSON. [#3607](https://github.com/BornToBeRoot/NETworkManager/pull/3607)
101+
- Fixed the profile search (profile list in the tools, **Profiles** settings and import result) filtering the profiles while still typing. The profiles are now filtered once after the user stopped typing, instead of every 750 ms after the first key press. [#3638](https://github.com/BornToBeRoot/NETworkManager/pull/3638)
101102

102103
**Firewall**
103104

@@ -138,6 +139,10 @@ Release date: **xx.xx.2026**
138139

139140
- Fixed the query history of **IP Geolocation** being written to the history of **Whois** instead of its own. [#3607](https://github.com/BornToBeRoot/NETworkManager/pull/3607)
140141

142+
**WiFi**
143+
144+
- Fixed the connection status message (e.g. "Connecting to ...") being hidden too early, while still connecting, if a previous message (e.g. after connecting or disconnecting) was shown shortly before. Each message is now shown for 15 seconds. [#3638](https://github.com/BornToBeRoot/NETworkManager/pull/3638)
145+
141146
## Dependencies, Refactoring & Documentation
142147

143148
- Code cleanup & refactoring

0 commit comments

Comments
 (0)