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>