* feat: add youtube engine abstraction and yt-dlp integration
* chore: add yt-dlp as optional dependency
* feat: implement custom path support for youtube engines
* chore: check for custom path in setting engine select dropdown
* chore: update yt_dlp_dart
* chore: setting video url instead of video id in fetchSiblings
* feat: implement NewPipe engine
* chore: update local path to git url for flutter_new_pipe_extractor package
* chore: fix android build isn't working
* chore: fix routes not working when initially signing in
* refactor: drop fallback support to different sources
* feat: add connect server support
* feat: add ability discover and connect to same network Spotube(s) and sync queue
* feat(connect): add player controls, shuffle, loop, progress bar and queue support
* feat: make control page adaptive
* feat: add volume control support
* cd: upgrade macos runner version
* chore: upgrade inappwebview version to 6
* feat: customized devices button
* feat: add user icon next to devices button
* feat: add play in remote device support
* feat: show alert when new client connects
* fix: ignore the device itself from broadcast list
* fix: volume control not working
* feat: add ability to select current device's output speaker