Skip to content

Feat/filter rule type select#64

Open
FaustUser wants to merge 6 commits intocoolcoala:mainfrom
FaustUser:feat/filter-rule-type-select
Open

Feat/filter rule type select#64
FaustUser wants to merge 6 commits intocoolcoala:mainfrom
FaustUser:feat/filter-rule-type-select

Conversation

@FaustUser
Copy link

What This PR Changes

This PR improves the rule editor UX for rule type and payload selection.

Included Improvements

  • replaced the plain Rule Type dropdown with a filterable selector
  • added inline help tooltips with descriptions for each rule type
  • localized rule type descriptions for all supported UI languages
  • fixed dropdown overflow so filtered results stay inside the scrollable list
  • added validated payload selectors for GEOIP, SRC-GEOIP, and GEOSITE
  • payload values are now loaded from local geoip.dat and geosite.dat
  • validation now allows only values that actually exist in the corresponding Geo database
  • improved selector search behavior to avoid irrelevant fuzzy matches
  • optimized large payload lists to prevent UI freezes when opening or filtering selectors

Technical Details

  • added a main-process utility to read available entries from local Geo databases
  • exposed Geo database entries to the renderer through IPC
  • switched combobox search from built-in fuzzy filtering to explicit controlled filtering
  • limited rendered search results to reduce expensive list rendering in large datasets

Result

The rule editor is now faster and more predictable:

  • rule types are easier to find
  • GeoIP / GeoSite payloads can be selected from valid database-backed values
  • invalid Geo payloads are prevented
  • dropdowns no longer overflow visually
  • opening payload selectors no longer causes noticeable UI hangs

Verification

  • npm.cmd run typecheck

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant