Files
ForgeLM/.planning/phases/06-chat-ui-redesign/06-01-TASK1-SUMMARY.md
Evandro Fonseca Junior cb722e79a6 feat(ui): complete Plan 06-01 - fix model scan + move model selector to input
- Fix Rust model scan to only list top-level models (not subdirectories)
- Add scan_model_dir_top_level() function in model_files.rs
- Create ModelSelectorPill component for chat input area
- Remove model-section from Sidebar, move to ChatView
- Update ChatView props to receive model-related props
- Update tests for new ChatView props
2026-04-02 09:06:06 -03:00

1.6 KiB

Task 1 Summary: Fix Rust model scan to top-level only

Status: ✅ Complete Files Modified:

  • tauri-app/src-tauri/src/model_files.rs

Changes Made

1. Added scan_model_dir_top_level function (lines 46-71)

A new function that scans only the immediate children of a directory (depth=1), returning only .gguf files without recursing into subdirectories.

2. Updated scan_model_dir to use top-level scan (lines 31-44)

Changed from calling scan_model_dir_recursive to calling scan_model_dir_top_level as the default behavior.

3. Kept scan_model_dir_recursive for future use (lines 73-97)

The recursive function is preserved with #[allow(dead_code)] annotation for potential future use cases.

4. Updated tests

  • Renamed scan_model_dir_finds_gguf_in_subdirectories to scan_model_dir_returns_only_top_level_gguf
  • Updated assertion to expect only top-level models
  • Added new test scan_model_dir_recursive_finds_nested_gguf to verify the recursive function still works

Verification

cd tauri-app/src-tauri && cargo test scan_model

All 5 tests pass:

  • scan_model_dir_filters_and_sorts_gguf_files ✅
  • scan_model_dir_ignores_directories_named_like_models ✅
  • scan_model_dir_skips_hidden_directories ✅
  • scan_model_dir_recursive_finds_nested_gguf ✅
  • scan_model_dir_returns_only_top_level_gguf ✅

Success Criteria Met

  • ✅ scan_models Tauri command returns only .gguf files in the immediate directory
  • ✅ Nested models in subdirectories are excluded from default scan
  • ✅ Recursive scan function remains available for future use
  • ✅ All existing tests continue to pass