* Handle FileWillBeDownloaded plugin hook rejections
- Add WebSocket handler for file_download_rejected events
- Show rejected files as file cards instead of broken thumbnails
- Display plugin rejection message in snackbar
- Store rejection reason in EphemeralStore for later retrieval
- Re-render file components when rejection events arrive
- Remove blurred preview to prevent visual blink on rejection
* chore: lint
* chore: lint and test
* fix: removed event from useEffect