✨ Added
- File Browser for Script Path - Settings page script path field now has a browse button that opens a file picker modal
- Category in Download Events -
downloadAdded,downloadFinished,fileDeleted, andfileMovedevents now include thecategoryfield - Delete Event - Now includes
categoryfield in the event payload
🐛 Fixed
- fileMoved Event Category - Category was always
nullin fileMoved events due to missing field in DB row mapping and missing parameter in move queue calls - fileMoved Notification Destination - Apprise notification showed "To: Unknown" due to field name mismatch (
destinationvsdestPath) - aMule Category Name Resolution - aMule category IDs are resolved to human-readable names for event scripting
- aMule Relative Path in History -
downloadFinishedevents showed relative.partpaths (e.g.,003.part/file.mkv) instead of absolute paths; now only uses absolute paths from aMule shared files - Path Validation Race Condition - Multiple client connections triggering concurrent
validateAllPaths()calls caused inconsistent results; now debounced with 500ms delay - Path Validation Error Detail - Permission check failures now show detailed diagnostics (uid, gid, directory ownership, file mode) instead of generic "Missing write permission"
- qBittorrent Downloaded Bytes - Fixed incorrect field name (
sizeDownloaded→downloaded) in history metadata for qBittorrent - qBittorrent Peer Data - Normalize peer data at source to match rTorrent format
- qBittorrent Peer Counter - Fix peer counter for qBittorrent downloads in Active Downloads widget
- Download History Ratio - Ratio values now rounded to 2 decimal places
🔧 Changed
- UI Path Display - AlertBox supports
breakAllprop for better word-breaking of long paths and hashes - Client Selector - BitTorrentClientSelector supports
showFullNameprop to always display full client name - Download Normalizer - rTorrent hash lowercased for consistency, added
categoryalias andfinishedTimefield - File Selection Mode in Directory Browser -
DirectoryBrowserModalsupportsmode="file"to browse and select files (directories still navigable)
📝 Documentation
- Event Scripting README - Updated
downloadAddedevent documentation with newcategoryfield and JSON examples - Installation Docs - Updated for three-client support
- Landing Page - Updated for three-client support