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

### Required

[[1](https://github.com/elias-shalom/obsidian-agenda/blob/00085724c3dbe491cd5b0db15319f2019cc6199d/src/core/i18n.ts#L13)][[2](https://github.com/elias-shalom/obsidian-agenda/blob/00085724c3dbe491cd5b0db15319f2019cc6199d/src/views/base-view.ts#L9)][[3](https://github.com/elias-shalom/obsidian-agenda/blob/00085724c3dbe491cd5b0db15319f2019cc6199d/src/main.ts#L71)]:Obsidian's configuration directory isn't necessarily `.obsidian`, it can be configured by the user. You can access the configured value from `Vault#configDir`

[[1](https://github.com/elias-shalom/obsidian-agenda/blob/00085724c3dbe491cd5b0db15319f2019cc6199d/src/views/base-view.ts#L237)][[2](https://github.com/elias-shalom/obsidian-agenda/blob/00085724c3dbe491cd5b0db15319f2019cc6199d/src/views/base-view.ts#L299)][[3](https://github.com/elias-shalom/obsidian-agenda/blob/00085724c3dbe491cd5b0db15319f2019cc6199d/src/views/base-view.ts#L303)][[4](https://github.com/elias-shalom/obsidian-agenda/blob/00085724c3dbe491cd5b0db15319f2019cc6199d/src/views/base-view.ts#L445)]: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>

[[1](https://github.com/elias-shalom/obsidian-agenda/blob/00085724c3dbe491cd5b0db15319f2019cc6199d/src/views/table-view.ts#L111)][[2](https://github.com/elias-shalom/obsidian-agenda/blob/00085724c3dbe491cd5b0db15319f2019cc6199d/src/views/table-view.ts#L118)][[3](https://github.com/elias-shalom/obsidian-agenda/blob/00085724c3dbe491cd5b0db15319f2019cc6199d/src/views/table-view.ts#L124)][[4](https://github.com/elias-shalom/obsidian-agenda/blob/00085724c3dbe491cd5b0db15319f2019cc6199d/src/views/table-view.ts#L323)][[5](https://github.com/elias-shalom/obsidian-agenda/blob/00085724c3dbe491cd5b0db15319f2019cc6199d/src/views/table-view.ts#L326)][[6](https://github.com/elias-shalom/obsidian-agenda/blob/00085724c3dbe491cd5b0db15319f2019cc6199d/src/views/table-view.ts#L333)][[7](https://github.com/elias-shalom/obsidian-agenda/blob/00085724c3dbe491cd5b0db15319f2019cc6199d/src/views/table-view.ts#L351)]: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/elias-shalom/obsidian-agenda/blob/00085724c3dbe491cd5b0db15319f2019cc6199d/test/setupTests.ts#L42)][[2](https://github.com/elias-shalom/obsidian-agenda/blob/00085724c3dbe491cd5b0db15319f2019cc6199d/test/setupTests.ts#L81)]:You should not cast this, instead use a `instanceof` check to make sure that it's actually a file/folder.



---

### Optional

[[1](https://github.com/elias-shalom/obsidian-agenda/blob/00085724c3dbe491cd5b0db15319f2019cc6199d/src/views/base-view.ts#L397)][[2](https://github.com/elias-shalom/obsidian-agenda/blob/00085724c3dbe491cd5b0db15319f2019cc6199d/src/views/list-view.ts#L187)][[3](https://github.com/elias-shalom/obsidian-agenda/blob/00085724c3dbe491cd5b0db15319f2019cc6199d/test/setupTests.ts#L42)][[4](https://github.com/elias-shalom/obsidian-agenda/blob/00085724c3dbe491cd5b0db15319f2019cc6199d/test/setupTests.ts#L81)][[5](https://github.com/elias-shalom/obsidian-agenda/blob/00085724c3dbe491cd5b0db15319f2019cc6199d/test/setupTests.ts#L82)]:Casting to `any` should be avoided as much as possible.



---



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.