Commit Graph
2 Commits
Author SHA1 Message Date
e890ef940c Fix UI blocking in Images tab (#461)
The Images tab would freeze when selecting shortcuts or correcting
grid IDs because block_on() was called on the main UI thread.

Changes:
- Convert handle_shortcut_selected() to spawn async SteamGridDB search
  in the background instead of blocking the UI thread
- Convert handle_correct_grid_request() to spawn async name search
  in the background instead of blocking
- Add poll_grid_id_search() and poll_name_search() to receive async
  results via watch channels
- Add grid_id_search and name_search fields to ImageSelectState
- Fix Windows file:// URL paths by normalizing backslashes to forward
  slashes (file:/// prefix for absolute paths)
- Remove blocking thread::sleep(100ms) after image selection, replace
  with request_repaint()

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 19:10:31 +01:00
80695c2b95 Improve error handling for shortcut saving (#462)
Errors from saving shortcuts were silently swallowed, leaving users
with no feedback when writes failed (e.g., due to Steam running or
permission issues).

Changes:
- Make save_shortcuts() return Result<(), String> with user-friendly
  error messages suggesting to check Steam is not running
- Add SyncProgress::Error variant to surface errors through the UI
- Display sync errors in red text in both the Import and Images tabs
- Propagate save errors in disconnect_shortcut()
- Continue processing other users when one fails in sync_shortcuts()
  and fix_all_shortcut_icons()

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 19:10:20 +01:00