Thank you for your submission, an automated scan of your plugin code's revealed the following issues:

### Required

[[1](https://github.com/ai-chen2050/obsidian-youtube-downloader/blob/e667bb7d1bc43ceb44ddab4100a5d90be5ceb200/src/api.ts#L25)]:You should not cast this, instead use a `instanceof` check to make sure that it's actually the adapter you expect.

[[1](https://github.com/ai-chen2050/obsidian-youtube-downloader/blob/e667bb7d1bc43ceb44ddab4100a5d90be5ceb200/src/settingTab.ts#L99)][[2](https://github.com/ai-chen2050/obsidian-youtube-downloader/blob/e667bb7d1bc43ceb44ddab4100a5d90be5ceb200/src/settingTab.ts#L100)][[3](https://github.com/ai-chen2050/obsidian-youtube-downloader/blob/e667bb7d1bc43ceb44ddab4100a5d90be5ceb200/src/settingTab.ts#L101)][[4](https://github.com/ai-chen2050/obsidian-youtube-downloader/blob/e667bb7d1bc43ceb44ddab4100a5d90be5ceb200/src/settingTab.ts#L112)][[5](https://github.com/ai-chen2050/obsidian-youtube-downloader/blob/e667bb7d1bc43ceb44ddab4100a5d90be5ceb200/src/settingTab.ts#L113)][[6](https://github.com/ai-chen2050/obsidian-youtube-downloader/blob/e667bb7d1bc43ceb44ddab4100a5d90be5ceb200/src/settingTab.ts#L114)][[7](https://github.com/ai-chen2050/obsidian-youtube-downloader/blob/e667bb7d1bc43ceb44ddab4100a5d90be5ceb200/src/settingTab.ts#L138)][[8](https://github.com/ai-chen2050/obsidian-youtube-downloader/blob/e667bb7d1bc43ceb44ddab4100a5d90be5ceb200/src/settingTab.ts#L167)][[9](https://github.com/ai-chen2050/obsidian-youtube-downloader/blob/e667bb7d1bc43ceb44ddab4100a5d90be5ceb200/src/settingTab.ts#L168)][[10](https://github.com/ai-chen2050/obsidian-youtube-downloader/blob/e667bb7d1bc43ceb44ddab4100a5d90be5ceb200/src/settingTab.ts#L169)][[11](https://github.com/ai-chen2050/obsidian-youtube-downloader/blob/e667bb7d1bc43ceb44ddab4100a5d90be5ceb200/src/settingTab.ts#L177)][[12](https://github.com/ai-chen2050/obsidian-youtube-downloader/blob/e667bb7d1bc43ceb44ddab4100a5d90be5ceb200/src/settingTab.ts#L178)][[13](https://github.com/ai-chen2050/obsidian-youtube-downloader/blob/e667bb7d1bc43ceb44ddab4100a5d90be5ceb200/src/settingTab.ts#L179)][[14](https://github.com/ai-chen2050/obsidian-youtube-downloader/blob/e667bb7d1bc43ceb44ddab4100a5d90be5ceb200/src/settingTab.ts#L186)]:You should avoid assigning styles via JavaScript or in HTML and instead move all these styles into CSS so that they are more easily adaptable by themes and snippets.


[[1](https://github.com/ai-chen2050/obsidian-youtube-downloader/blob/e667bb7d1bc43ceb44ddab4100a5d90be5ceb200/src/showModals.ts#L173)]:Using `innerHTML`, `outerHTML` or similar API's is a security risk. Instead, use the DOM API or the Obsidian helper functions: <https://docs.obsidian.md/Plugins/User+interface/HTML+elements>



---



Do <b>NOT</b> open a new PR for re-validation.
Once you have pushed all of the required changes to your repo, the bot will update the labels on this PR within 6 hours.
If you think some of the required changes are incorrect, please comment with `/skip` and the reason why you think the results are incorrect.