### Required

[\[1\]](https://github.com/LunarWatcher/obsidian-webdav-sync/blob/05f1b74f8015bf2e5e057257f4d416ab086e1398/src/integration/actions.ts#L12-L12)[\[2\]](https://github.com/LunarWatcher/obsidian-webdav-sync/blob/05f1b74f8015bf2e5e057257f4d416ab086e1398/src/main.ts#L21-L21)[\[3\]](https://github.com/LunarWatcher/obsidian-webdav-sync/blob/05f1b74f8015bf2e5e057257f4d416ab086e1398/src/main.ts#L30-L30)[\[4\]](https://github.com/LunarWatcher/obsidian-webdav-sync/blob/05f1b74f8015bf2e5e057257f4d416ab086e1398/src/main.ts#L66-L66)[\[5\]](https://github.com/LunarWatcher/obsidian-webdav-sync/blob/05f1b74f8015bf2e5e057257f4d416ab086e1398/src/main.ts#L105-L105)[\[6\]](https://github.com/LunarWatcher/obsidian-webdav-sync/blob/05f1b74f8015bf2e5e057257f4d416ab086e1398/src/settings.ts#L36-L36)[\[7\]](https://github.com/LunarWatcher/obsidian-webdav-sync/blob/05f1b74f8015bf2e5e057257f4d416ab086e1398/src/settings.ts#L37-L37)[\[8\]](https://github.com/LunarWatcher/obsidian-webdav-sync/blob/05f1b74f8015bf2e5e057257f4d416ab086e1398/src/settings.ts#L46-L46)[\[9\]](https://github.com/LunarWatcher/obsidian-webdav-sync/blob/05f1b74f8015bf2e5e057257f4d416ab086e1398/src/settings.ts#L49-L49)[\[10\]](https://github.com/LunarWatcher/obsidian-webdav-sync/blob/05f1b74f8015bf2e5e057257f4d416ab086e1398/src/settings.ts#L56-L56)[\[11\]](https://github.com/LunarWatcher/obsidian-webdav-sync/blob/05f1b74f8015bf2e5e057257f4d416ab086e1398/src/settings.ts#L59-L59)[\[12\]](https://github.com/LunarWatcher/obsidian-webdav-sync/blob/05f1b74f8015bf2e5e057257f4d416ab086e1398/src/settings.ts#L69-L69)[\[13\]](https://github.com/LunarWatcher/obsidian-webdav-sync/blob/05f1b74f8015bf2e5e057257f4d416ab086e1398/src/settings.ts#L70-L70)[\[14\]](https://github.com/LunarWatcher/obsidian-webdav-sync/blob/05f1b74f8015bf2e5e057257f4d416ab086e1398/src/settings.ts#L120-L120)[\[15\]](https://github.com/LunarWatcher/obsidian-webdav-sync/blob/05f1b74f8015bf2e5e057257f4d416ab086e1398/src/settings.ts#L121-L121)[\[16\]](https://github.com/LunarWatcher/obsidian-webdav-sync/blob/05f1b74f8015bf2e5e057257f4d416ab086e1398/src/settings.ts#L123-L123)[\[17\]](https://github.com/LunarWatcher/obsidian-webdav-sync/blob/05f1b74f8015bf2e5e057257f4d416ab086e1398/src/settings.ts#L163-L163)[\[18\]](https://github.com/LunarWatcher/obsidian-webdav-sync/blob/05f1b74f8015bf2e5e057257f4d416ab086e1398/src/settings.ts#L169-L169)[\[19\]](https://github.com/LunarWatcher/obsidian-webdav-sync/blob/05f1b74f8015bf2e5e057257f4d416ab086e1398/src/settings.ts#L179-L179)[\[20\]](https://github.com/LunarWatcher/obsidian-webdav-sync/blob/05f1b74f8015bf2e5e057257f4d416ab086e1398/src/sync/sync_modal.ts#L36-L36)
Use sentence case for UI text.

[\[1\]](https://github.com/LunarWatcher/obsidian-webdav-sync/blob/05f1b74f8015bf2e5e057257f4d416ab086e1398/src/main.ts#L43-L43)
Async method 'uploadAction' has no 'await' expression.

[\[1\]](https://github.com/LunarWatcher/obsidian-webdav-sync/blob/05f1b74f8015bf2e5e057257f4d416ab086e1398/src/main.ts#L44-L51)[\[2\]](https://github.com/LunarWatcher/obsidian-webdav-sync/blob/05f1b74f8015bf2e5e057257f4d416ab086e1398/src/main.ts#L55-L62)[\[3\]](https://github.com/LunarWatcher/obsidian-webdav-sync/blob/05f1b74f8015bf2e5e057257f4d416ab086e1398/src/settings.ts#L134-L134)
Promises must be awaited, end with a call to .catch, end with a call to .then with a rejection handler or be explicitly marked as ignored with the `void` operator.

[\[1\]](https://github.com/LunarWatcher/obsidian-webdav-sync/blob/05f1b74f8015bf2e5e057257f4d416ab086e1398/src/main.ts#L54-L54)
Async method 'downloadAction' has no 'await' expression.

[\[1\]](https://github.com/LunarWatcher/obsidian-webdav-sync/blob/05f1b74f8015bf2e5e057257f4d416ab086e1398/src/main.ts#L65-L65)
Async method 'initRibbon' has no 'await' expression.

[\[1\]](https://github.com/LunarWatcher/obsidian-webdav-sync/blob/05f1b74f8015bf2e5e057257f4d416ab086e1398/src/main.ts#L100-L100)
Async method 'reloadClient' has no 'await' expression.

[\[1\]](https://github.com/LunarWatcher/obsidian-webdav-sync/blob/05f1b74f8015bf2e5e057257f4d416ab086e1398/src/settings.ts#L221-L221)[\[2\]](https://github.com/LunarWatcher/obsidian-webdav-sync/blob/05f1b74f8015bf2e5e057257f4d416ab086e1398/src/sync/sync_impl.ts#L143-L143)[\[3\]](https://github.com/LunarWatcher/obsidian-webdav-sync/blob/05f1b74f8015bf2e5e057257f4d416ab086e1398/src/sync/sync_impl.ts#L248-L248)
This assertion is unnecessary since it does not change the type of the expression.

[\[1\]](https://github.com/LunarWatcher/obsidian-webdav-sync/blob/05f1b74f8015bf2e5e057257f4d416ab086e1398/src/sync/files.ts#L84-L84)[\[2\]](https://github.com/LunarWatcher/obsidian-webdav-sync/blob/05f1b74f8015bf2e5e057257f4d416ab086e1398/src/sync/sync_impl.ts#L86-L86)[\[3\]](https://github.com/LunarWatcher/obsidian-webdav-sync/blob/05f1b74f8015bf2e5e057257f4d416ab086e1398/src/sync/sync_impl.ts#L193-L193)[\[4\]](https://github.com/LunarWatcher/obsidian-webdav-sync/blob/05f1b74f8015bf2e5e057257f4d416ab086e1398/src/sync/sync_modal.ts#L177-L177)
Unexpected any. Specify a different type.

[\[1\]](https://github.com/LunarWatcher/obsidian-webdav-sync/blob/05f1b74f8015bf2e5e057257f4d416ab086e1398/src/sync/sync.ts#L97-L97)[\[2\]](https://github.com/LunarWatcher/obsidian-webdav-sync/blob/05f1b74f8015bf2e5e057257f4d416ab086e1398/src/sync/sync.ts#L209-L209)[\[3\]](https://github.com/LunarWatcher/obsidian-webdav-sync/blob/05f1b74f8015bf2e5e057257f4d416ab086e1398/src/sync/sync_modal.ts#L76-L76)
Obsidian's configuration folder is not necessarily `.obsidian`, it can be configured by the user.

[\[1\]](https://github.com/LunarWatcher/obsidian-webdav-sync/blob/05f1b74f8015bf2e5e057257f4d416ab086e1398/src/sync/sync.ts#L304-L304)
Invalid operand for a '+' operation. Operands must each be a number or string, allowing a string + any of: `any`, `boolean`, `null`, `RegExp`, `undefined`. Got `never`.

[\[1\]](https://github.com/LunarWatcher/obsidian-webdav-sync/blob/05f1b74f8015bf2e5e057257f4d416ab086e1398/src/sync/sync.ts#L373-L373)[\[2\]](https://github.com/LunarWatcher/obsidian-webdav-sync/blob/05f1b74f8015bf2e5e057257f4d416ab086e1398/src/sync/sync_impl.ts#L134-L134)[\[3\]](https://github.com/LunarWatcher/obsidian-webdav-sync/blob/05f1b74f8015bf2e5e057257f4d416ab086e1398/src/sync/sync_impl.ts#L135-L135)[\[4\]](https://github.com/LunarWatcher/obsidian-webdav-sync/blob/05f1b74f8015bf2e5e057257f4d416ab086e1398/src/sync/sync_impl.ts#L238-L238)[\[5\]](https://github.com/LunarWatcher/obsidian-webdav-sync/blob/05f1b74f8015bf2e5e057257f4d416ab086e1398/src/sync/sync_impl.ts#L239-L239)
Unexpected console statement. Only these console methods are allowed: warn, error, debug.

[\[1\]](https://github.com/LunarWatcher/obsidian-webdav-sync/blob/05f1b74f8015bf2e5e057257f4d416ab086e1398/src/sync/sync.ts#L376-L376)
Invalid operand for a '+' operation. Operands must each be a number or string, allowing a string + any of: `any`, `boolean`, `null`, `RegExp`, `undefined`. Got `Folder`.

[\[1\]](https://github.com/LunarWatcher/obsidian-webdav-sync/blob/05f1b74f8015bf2e5e057257f4d416ab086e1398/src/sync/sync.ts#L376-L376)
'folder' will use Object's default stringification format ('[object Object]') when stringified.

[\[1\]](https://github.com/LunarWatcher/obsidian-webdav-sync/blob/05f1b74f8015bf2e5e057257f4d416ab086e1398/src/sync/sync_impl.ts#L127-L127)[\[2\]](https://github.com/LunarWatcher/obsidian-webdav-sync/blob/05f1b74f8015bf2e5e057257f4d416ab086e1398/src/sync/sync_impl.ts#L178-L178)[\[3\]](https://github.com/LunarWatcher/obsidian-webdav-sync/blob/05f1b74f8015bf2e5e057257f4d416ab086e1398/src/sync/sync_impl.ts#L232-L232)[\[4\]](https://github.com/LunarWatcher/obsidian-webdav-sync/blob/05f1b74f8015bf2e5e057257f4d416ab086e1398/src/sync/sync_impl.ts#L284-L284)[\[5\]](https://github.com/LunarWatcher/obsidian-webdav-sync/blob/05f1b74f8015bf2e5e057257f4d416ab086e1398/src/sync/sync_modal.ts#L27-L27)
A method that is not declared with `this: void` may cause unintentional scoping of `this` when separated from its object.
Consider using an arrow function or explicitly `.bind()`ing the method to avoid calling the method with an unintended `this` value. 
If a function does not access `this`, it can be annotated with `this: void`.

[\[1\]](https://github.com/LunarWatcher/obsidian-webdav-sync/blob/05f1b74f8015bf2e5e057257f4d416ab086e1398/src/sync/sync_impl.ts#L413-L413)
Async method 'resolveConflict' has no 'await' expression.

[\[1\]](https://github.com/LunarWatcher/obsidian-webdav-sync/blob/05f1b74f8015bf2e5e057257f4d416ab086e1398/src/sync/sync_modal.ts#L95-L97)[\[2\]](https://github.com/LunarWatcher/obsidian-webdav-sync/blob/05f1b74f8015bf2e5e057257f4d416ab086e1398/src/sync/sync_modal.ts#L103-L105)
Promise returned in function argument where a void return was expected.



---

### Optional

[\[1\]](https://github.com/LunarWatcher/obsidian-webdav-sync/blob/05f1b74f8015bf2e5e057257f4d416ab086e1398/src/sync/sync.ts#L100-L100)[\[2\]](https://github.com/LunarWatcher/obsidian-webdav-sync/blob/05f1b74f8015bf2e5e057257f4d416ab086e1398/src/sync/sync.ts#L130-L130)
'_' is assigned a value but never used.

[\[1\]](https://github.com/LunarWatcher/obsidian-webdav-sync/blob/05f1b74f8015bf2e5e057257f4d416ab086e1398/src/sync/sync_impl.ts#L418-L418)
'getRemoteFiles' is defined but never used.

