fix: enable filtering and fetch all members in user selection prompts
Summary
This MR addresses issue #8152 (closed) where type-to-search functionality was lost after migrating from survey to huh.
Changes
- Enable
.Filterable(true)on MultiSelect prompts to allow/key filtering - Implement proper pagination using
gitlab.Scanto fetch all project members across all pages - Add loading spinner with progress feedback during member fetching
- Update
listProjectMembershelper to use pagination internally
Before
- Only the first 100 members were loaded
- Filtering was disabled
- No feedback during loading
After
- All members are fetched across all pages (e.g., 2847 members for gitlab-org/cli)
- Users can press
/to filter through the complete list - Loading spinner shows progress: "Loading project members..." → "Loaded 2847 members"
Known Limitation
Due to a limitation in huh v0.8.0, the filter input text is not visible while typing. However, the filtering functionality works - users can type to filter the list even though they can't see what they're typing. This is tracked as a separate issue in the huh library.
Testing
Tested with glab mr create on gitlab-org/cli project:
-
✅ All 2847 members loaded (took ~20 seconds with loading spinner) -
✅ Found members beyond the first 100 using/filter -
✅ Loading spinner provides feedback during fetch
Closes #8152 (closed)