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

### Required

[[1](https://github.com/samuelho-dev/obsidian-linear-sync/blob/83b8d8a6452238e19141f71a5b7c91d53cc21fff/src/settings/team-settings-tab.ts#L290)][[2](https://github.com/samuelho-dev/obsidian-linear-sync/blob/83b8d8a6452238e19141f71a5b7c91d53cc21fff/src/settings/team-settings-tab.ts#L298)][[3](https://github.com/samuelho-dev/obsidian-linear-sync/blob/83b8d8a6452238e19141f71a5b7c91d53cc21fff/src/settings/team-settings-tab.ts#L302)][[4](https://github.com/samuelho-dev/obsidian-linear-sync/blob/83b8d8a6452238e19141f71a5b7c91d53cc21fff/src/settings/team-settings-tab.ts#L360)][[5](https://github.com/samuelho-dev/obsidian-linear-sync/blob/83b8d8a6452238e19141f71a5b7c91d53cc21fff/src/settings/team-settings-tab.ts#L367)][[6](https://github.com/samuelho-dev/obsidian-linear-sync/blob/83b8d8a6452238e19141f71a5b7c91d53cc21fff/src/settings/linear-sync-setting-tab.ts#L164-L171)][[7](https://github.com/samuelho-dev/obsidian-linear-sync/blob/83b8d8a6452238e19141f71a5b7c91d53cc21fff/src/settings/linear-sync-setting-tab.ts#L169)][[8](https://github.com/samuelho-dev/obsidian-linear-sync/blob/83b8d8a6452238e19141f71a5b7c91d53cc21fff/src/settings/linear-sync-setting-tab.ts#L207)][[9](https://github.com/samuelho-dev/obsidian-linear-sync/blob/83b8d8a6452238e19141f71a5b7c91d53cc21fff/src/settings/linear-sync-setting-tab.ts#L208)][[10](https://github.com/samuelho-dev/obsidian-linear-sync/blob/83b8d8a6452238e19141f71a5b7c91d53cc21fff/src/settings/linear-sync-setting-tab.ts#L209)][[11](https://github.com/samuelho-dev/obsidian-linear-sync/blob/83b8d8a6452238e19141f71a5b7c91d53cc21fff/src/settings/linear-sync-setting-tab.ts#L210)]: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/samuelho-dev/obsidian-linear-sync/blob/83b8d8a6452238e19141f71a5b7c91d53cc21fff/src/settings/team-settings-tab.ts#L297)][[2](https://github.com/samuelho-dev/obsidian-linear-sync/blob/83b8d8a6452238e19141f71a5b7c91d53cc21fff/src/settings/team-settings-tab.ts#L362)][[3](https://github.com/samuelho-dev/obsidian-linear-sync/blob/83b8d8a6452238e19141f71a5b7c91d53cc21fff/src/settings/linear-sync-setting-tab.ts#L152)][[4](https://github.com/samuelho-dev/obsidian-linear-sync/blob/83b8d8a6452238e19141f71a5b7c91d53cc21fff/src/settings/linear-sync-setting-tab.ts#L211)]: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/samuelho-dev/obsidian-linear-sync/blob/83b8d8a6452238e19141f71a5b7c91d53cc21fff/tests/__mocks__/obsidian.ts#L126)][[2](https://github.com/samuelho-dev/obsidian-linear-sync/blob/83b8d8a6452238e19141f71a5b7c91d53cc21fff/tests/__mocks__/obsidian.ts#L149)]: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/samuelho-dev/obsidian-linear-sync/blob/83b8d8a6452238e19141f71a5b7c91d53cc21fff/src/infrastructure/obsidian/vault-event-manager.ts#L96)][[2](https://github.com/samuelho-dev/obsidian-linear-sync/blob/83b8d8a6452238e19141f71a5b7c91d53cc21fff/src/infrastructure/obsidian/vault-event-manager.ts#L115)][[3](https://github.com/samuelho-dev/obsidian-linear-sync/blob/83b8d8a6452238e19141f71a5b7c91d53cc21fff/src/infrastructure/obsidian/vault-event-manager.ts#L131)][[4](https://github.com/samuelho-dev/obsidian-linear-sync/blob/83b8d8a6452238e19141f71a5b7c91d53cc21fff/src/infrastructure/obsidian/vault-event-manager.ts#L175)][[5](https://github.com/samuelho-dev/obsidian-linear-sync/blob/83b8d8a6452238e19141f71a5b7c91d53cc21fff/src/utils/error-handling.ts#L155)][[6](https://github.com/samuelho-dev/obsidian-linear-sync/blob/83b8d8a6452238e19141f71a5b7c91d53cc21fff/src/utils/error-handling.ts#L157)][[7](https://github.com/samuelho-dev/obsidian-linear-sync/blob/83b8d8a6452238e19141f71a5b7c91d53cc21fff/src/domain/sync/sync-orchestrator.ts#L201)][[8](https://github.com/samuelho-dev/obsidian-linear-sync/blob/83b8d8a6452238e19141f71a5b7c91d53cc21fff/src/domain/sync/sync-orchestrator.ts#L214)][[9](https://github.com/samuelho-dev/obsidian-linear-sync/blob/83b8d8a6452238e19141f71a5b7c91d53cc21fff/src/domain/sync/sync-orchestrator.ts#L254)][[10](https://github.com/samuelho-dev/obsidian-linear-sync/blob/83b8d8a6452238e19141f71a5b7c91d53cc21fff/src/domain/sync/sync-orchestrator.ts#L271)][[11](https://github.com/samuelho-dev/obsidian-linear-sync/blob/83b8d8a6452238e19141f71a5b7c91d53cc21fff/src/adapters/webhook/webhook-endpoint-service.ts#L81)][[12](https://github.com/samuelho-dev/obsidian-linear-sync/blob/83b8d8a6452238e19141f71a5b7c91d53cc21fff/src/adapters/webhook/webhook-endpoint-service.ts#L100)][[13](https://github.com/samuelho-dev/obsidian-linear-sync/blob/83b8d8a6452238e19141f71a5b7c91d53cc21fff/src/adapters/webhook/webhook-endpoint-service.ts#L221)][[14](https://github.com/samuelho-dev/obsidian-linear-sync/blob/83b8d8a6452238e19141f71a5b7c91d53cc21fff/src/adapters/webhook/webhook-processor-service.ts#L48)][[15](https://github.com/samuelho-dev/obsidian-linear-sync/blob/83b8d8a6452238e19141f71a5b7c91d53cc21fff/src/adapters/webhook/webhook-processor-service.ts#L61)][[16](https://github.com/samuelho-dev/obsidian-linear-sync/blob/83b8d8a6452238e19141f71a5b7c91d53cc21fff/src/adapters/webhook/webhook-processor-service.ts#L83)][[17](https://github.com/samuelho-dev/obsidian-linear-sync/blob/83b8d8a6452238e19141f71a5b7c91d53cc21fff/src/adapters/webhook/webhook-processor-service.ts#L143)][[18](https://github.com/samuelho-dev/obsidian-linear-sync/blob/83b8d8a6452238e19141f71a5b7c91d53cc21fff/src/adapters/webhook/webhook-processor-service.ts#L172)][[19](https://github.com/samuelho-dev/obsidian-linear-sync/blob/83b8d8a6452238e19141f71a5b7c91d53cc21fff/src/main.ts#L68)][[20](https://github.com/samuelho-dev/obsidian-linear-sync/blob/83b8d8a6452238e19141f71a5b7c91d53cc21fff/src/main.ts#L87)][[21](https://github.com/samuelho-dev/obsidian-linear-sync/blob/83b8d8a6452238e19141f71a5b7c91d53cc21fff/src/main.ts#L136)][[22](https://github.com/samuelho-dev/obsidian-linear-sync/blob/83b8d8a6452238e19141f71a5b7c91d53cc21fff/src/main.ts#L227)][[23](https://github.com/samuelho-dev/obsidian-linear-sync/blob/83b8d8a6452238e19141f71a5b7c91d53cc21fff/src/main.ts#L314)][[24](https://github.com/samuelho-dev/obsidian-linear-sync/blob/83b8d8a6452238e19141f71a5b7c91d53cc21fff/src/main.ts#L367)][[25](https://github.com/samuelho-dev/obsidian-linear-sync/blob/83b8d8a6452238e19141f71a5b7c91d53cc21fff/src/main.ts#L395)][[26](https://github.com/samuelho-dev/obsidian-linear-sync/blob/83b8d8a6452238e19141f71a5b7c91d53cc21fff/src/main.ts#L454)][[27](https://github.com/samuelho-dev/obsidian-linear-sync/blob/83b8d8a6452238e19141f71a5b7c91d53cc21fff/src/main.ts#L524)][[28](https://github.com/samuelho-dev/obsidian-linear-sync/blob/83b8d8a6452238e19141f71a5b7c91d53cc21fff/src/main.ts#L561)]:You should consider limiting the number of `console.log`s in your code, to not pollute the dev console.



---

### Optional

[[1](https://github.com/samuelho-dev/obsidian-linear-sync/blob/83b8d8a6452238e19141f71a5b7c91d53cc21fff/src/settings/team-settings-tab.ts#L479)][[2](https://github.com/samuelho-dev/obsidian-linear-sync/blob/83b8d8a6452238e19141f71a5b7c91d53cc21fff/src/adapters/webhook/webhook-endpoint-service.ts#L31)][[3](https://github.com/samuelho-dev/obsidian-linear-sync/blob/83b8d8a6452238e19141f71a5b7c91d53cc21fff/src/adapters/webhook/webhook-endpoint-service.ts#L99)][[4](https://github.com/samuelho-dev/obsidian-linear-sync/blob/83b8d8a6452238e19141f71a5b7c91d53cc21fff/src/adapters/webhook/webhook-processor-service.ts#L59)][[5](https://github.com/samuelho-dev/obsidian-linear-sync/blob/83b8d8a6452238e19141f71a5b7c91d53cc21fff/src/adapters/webhook/webhook-processor-service.ts#L104)][[6](https://github.com/samuelho-dev/obsidian-linear-sync/blob/83b8d8a6452238e19141f71a5b7c91d53cc21fff/src/main.ts#L408)][[7](https://github.com/samuelho-dev/obsidian-linear-sync/blob/83b8d8a6452238e19141f71a5b7c91d53cc21fff/src/main.ts#L412)]:Casting to `any` should be avoided as much as possible.

[[1](https://github.com/samuelho-dev/obsidian-linear-sync/blob/83b8d8a6452238e19141f71a5b7c91d53cc21fff/src/adapters/obsidian/vault-adapter.ts#L75)][[2](https://github.com/samuelho-dev/obsidian-linear-sync/blob/83b8d8a6452238e19141f71a5b7c91d53cc21fff/src/adapters/obsidian/vault-adapter.ts#L135)]:Use `app.fileManager.trashFile(file: TAbstractFile)` instead, this will make sure that the file is deleted according to the users preferences.



---



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.