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

### Required

[[1](https://github.com/xing393939/simple-sync/blob/37481561ea0c1e42f9b2640da7f259c341c09c25/src/misc.ts#L265)]: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/xing393939/simple-sync/blob/37481561ea0c1e42f9b2640da7f259c341c09c25/src/sync.ts#L1414)][[2](https://github.com/xing393939/simple-sync/blob/37481561ea0c1e42f9b2640da7f259c341c09c25/src/main.ts#L1232)]: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/xing393939/simple-sync/blob/37481561ea0c1e42f9b2640da7f259c341c09c25/src/main.ts#L7)][[2](https://github.com/xing393939/simple-sync/blob/37481561ea0c1e42f9b2640da7f259c341c09c25/src/main.ts#L1061)]:This class is only available on desktop, which means that this will throw errors on mobile (that's a problem since you have `isDesktopOnly` marked as `false` in your manifest.json file.

[[1](https://github.com/xing393939/simple-sync/blob/37481561ea0c1e42f9b2640da7f259c341c09c25/src/main.ts#L1109)][[2](https://github.com/xing393939/simple-sync/blob/37481561ea0c1e42f9b2640da7f259c341c09c25/src/main.ts#L1124)]: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.




---

### Optional

[[1](https://github.com/xing393939/simple-sync/blob/37481561ea0c1e42f9b2640da7f259c341c09c25/src/misc.ts#L369)][[2](https://github.com/xing393939/simple-sync/blob/37481561ea0c1e42f9b2640da7f259c341c09c25/src/configPersist.ts#L23)][[3](https://github.com/xing393939/simple-sync/blob/37481561ea0c1e42f9b2640da7f259c341c09c25/src/configPersist.ts#L29-L32)][[4](https://github.com/xing393939/simple-sync/blob/37481561ea0c1e42f9b2640da7f259c341c09c25/src/configPersist.ts#L30)][[5](https://github.com/xing393939/simple-sync/blob/37481561ea0c1e42f9b2640da7f259c341c09c25/src/remoteForDropbox.ts#L695)][[6](https://github.com/xing393939/simple-sync/blob/37481561ea0c1e42f9b2640da7f259c341c09c25/src/remoteForDropbox.ts#L697)][[7](https://github.com/xing393939/simple-sync/blob/37481561ea0c1e42f9b2640da7f259c341c09c25/src/remoteForDropbox.ts#L699)][[8](https://github.com/xing393939/simple-sync/blob/37481561ea0c1e42f9b2640da7f259c341c09c25/src/remoteForDropbox.ts#L701)][[9](https://github.com/xing393939/simple-sync/blob/37481561ea0c1e42f9b2640da7f259c341c09c25/src/remoteForOnedrive.ts#L338)][[10](https://github.com/xing393939/simple-sync/blob/37481561ea0c1e42f9b2640da7f259c341c09c25/src/remoteForS3.ts#L232)][[11](https://github.com/xing393939/simple-sync/blob/37481561ea0c1e42f9b2640da7f259c341c09c25/src/metadataOnRemote.ts#L98-L101)][[12](https://github.com/xing393939/simple-sync/blob/37481561ea0c1e42f9b2640da7f259c341c09c25/src/metadataOnRemote.ts#L99)][[13](https://github.com/xing393939/simple-sync/blob/37481561ea0c1e42f9b2640da7f259c341c09c25/src/main.ts#L736)][[14](https://github.com/xing393939/simple-sync/blob/37481561ea0c1e42f9b2640da7f259c341c09c25/tests/configPersist.test.ts#L11-L13)][[15](https://github.com/xing393939/simple-sync/blob/37481561ea0c1e42f9b2640da7f259c341c09c25/tests/configPersist.test.ts#L14-L16)][[16](https://github.com/xing393939/simple-sync/blob/37481561ea0c1e42f9b2640da7f259c341c09c25/tests/configPersist.test.ts#L17-L19)][[17](https://github.com/xing393939/simple-sync/blob/37481561ea0c1e42f9b2640da7f259c341c09c25/tests/configPersist.test.ts#L20-L22)][[18](https://github.com/xing393939/simple-sync/blob/37481561ea0c1e42f9b2640da7f259c341c09c25/tests/encrypt.test.ts#L20-L22)][[19](https://github.com/xing393939/simple-sync/blob/37481561ea0c1e42f9b2640da7f259c341c09c25/tests/misc.test.ts#L165)][[20](https://github.com/xing393939/simple-sync/blob/37481561ea0c1e42f9b2640da7f259c341c09c25/tests/presetRules.test.ts#L106)][[21](https://github.com/xing393939/simple-sync/blob/37481561ea0c1e42f9b2640da7f259c341c09c25/tests/presetRules.test.ts#L109)]: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.