Skip to content

Conversation

@manascb1344
Copy link

Description

This PR adds search/filter functionality to the WiFi settings page, allowing users to easily find WiFi networks when there are many available networks (50+). The search includes both currently visible networks and known/saved networks, even if they're not currently visible.

Fixes #1589

Problem

When there are many WiFi networks available, it becomes difficult to manually search through the list to find a specific SSID. Additionally, the interface reloads every 2-3 seconds, causing the network order to change, making it even harder to locate networks.

Screenshots

image

Related Issues

Closes #1589

@manascb1344
Copy link
Author

@jacobgkau Please have a look!

@mmstick mmstick requested a review from a team December 1, 2025 17:32
@mmstick
Copy link
Member

mmstick commented Dec 1, 2025

Since this isn't in our Figma design specs, it needs design approval by @maria-komarova first.

@maria-komarova
Copy link
Contributor

I would suggest we only show search within "Visible networks" section and only when there are 30+ networks.
Network - Wi-Fi

For the refresh rate I would love to better understand why networks jump around that much. Maybe we can refresh less frequently but I need more information first.

@jacobgkau
Copy link
Member

jacobgkau commented Dec 3, 2025

For the refresh rate I would love to better understand why networks jump around that much. Maybe we can refresh less frequently but I need more information first.

Not sure about the frequency, but the reason they jump around is because they're currently sorted by signal strength, and signal strength of wireless networks often changes slightly (based on the environment) between different scans.

Maybe quantizing the signal strength (e.g. chunking in groups of "5-bar, 4-bar," etc.) and then sorting alphabetically within those groups, or a similar solution, could prevent it from happening quite as much? (There would still be some networks going between the different bar groups, but it would prevent e.g. a 3.05-bar and 3.06-bar from swapping in the list constantly.)

@maria-komarova
Copy link
Contributor

Maybe quantizing the signal strength (e.g. chunking in groups of "5-bar, 4-bar," etc.) and then sorting alphabetically within those groups, or a similar solution, could prevent it from happening quite as much? (There would still be some networks going between the different bar groups, but it would prevent e.g. a 3.05-bar and 3.06-bar from swapping in the list constantly.)

I like this idea, sounds like it would be an improvement.

Copilot AI review requested due to automatic review settings December 4, 2025 03:49

This comment was marked as spam.

manascb1344 and others added 3 commits December 6, 2025 15:30
- Move search input from top-level to inside "Visible Networks" section
- Only show search when 30+ visible networks exist (per designer spec)
- Known Networks section now always unfiltered (search only applies to visible)
- "No networks found" message only shown in visible section when search active
- Addresses designer feedback from PR pop-os#1592
- Clear search_query in on_leave() to prevent stale filter on return
- Apply cargo fmt formatting fixes
@manascb1344
Copy link
Author

Updated implementation based on @maria-komarova's feedback

I've updated the implementation to match the design requirements:

Changes made:

  1. Search bar moved inside "Visible Networks" section: no longer at page top level
  2. 30+ network threshold: search only appears when wireless_access_points.len() >= 30
  3. Known Networks always unfiltered: search only filters visible networks

Screenshots:

With fewer than 30 networks (search hidden):
2025-12-06_18-01_1

With search bar (I have reduced the threshold to 2 instead of 30 for testing):
2025-12-06_17-58

Note on testing:

The 30+ threshold means the search bar won't appear in most home/small office environments. For testing, reviewers can temporarily change line 1007 in wifi.rs:
let show_search = state.wireless_access_points.len() >= 30;
// Change to >= 3 for testing, then revert

@maria-komarova @jacobgkau @mmstick

@manascb1344
Copy link
Author

Hi @jacobgkau
Can you review this once.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

there is no filter or search option for wifi

4 participants