Some users requested the ability to mute notifications from specific JIDs
without disabling all sounds. This change introduces `mute` and `unmute`
commands to allow fine-grained control over sound playback.
While implementing this, the sound path expansion logic was improved by
switching to `pathlib` with `lru_cache` for efficiency and clarity.
Playback is now also rate-limited to avoid overlapping audio triggers
from rapid message bursts.
This lays the groundwork for more user-specific customization of sound
notifications while keeping the experience smooth and reliable.
Additionally the bug with ignoring sound's `kind` was fixed: now the plugin respects specific sounds set for rooms, chats and private messages within rooms.
Finally, code was formatted via Black to avoid ambiguity in the formatting.