### Required

[\[1\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/ApiService.ts#L24-L24)
Unexpected undescribed directive comment. Include descriptions to explain why the comment is necessary.

[\[1\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/ApiService.ts#L24-L24)
Disabling '@typescript-eslint/no-explicit-any' is not allowed.

[\[1\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/ApiService.ts#L25-L25)
'any' overrides all other types in this union type.

[\[1\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/ApiService.ts#L78-L80)[\[2\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/ApiService.ts#L109-L111)[\[3\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/DefaultFolderUtils.ts#L331-L333)[\[4\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/DefaultFolderUtils.ts#L358-L360)[\[5\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/DefaultFolderUtils.ts#L369-L374)[\[6\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/MessageUtils.ts#L125-L164)[\[7\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/components/Message.tsx#L210-L214)[\[8\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/components/Messages.tsx#L182-L195)[\[9\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/components/Messages.tsx#L251-L251)[\[10\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/components/Messages.tsx#L253-L253)[\[11\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/components/Messages.tsx#L287-L287)[\[12\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/components/Messages.tsx#L289-L289)[\[13\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/components/Messages.tsx#L326-L326)[\[14\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/components/Messages.tsx#L328-L328)[\[15\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/components/Messages.tsx#L420-L420)[\[16\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/components/Messages.tsx#L422-L422)[\[17\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/components/ModalPrompt.tsx#L114-L119)[\[18\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/main.ts#L151-L155)[\[19\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/settings.ts#L179-L180)[\[20\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/settings.ts#L239-L241)[\[21\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/settings.ts#L263-L265)[\[22\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/settings.ts#L289-L291)[\[23\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/settings.ts#L332-L341)[\[24\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/settings.ts#L354-L486)[\[25\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/settings.ts#L434-L440)[\[26\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/settings.ts#L469-L475)
Promise returned in function argument where a void return was expected.

[\[1\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/ApiService.ts#L78-L78)[\[2\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/DefaultFolderUtils.ts#L132-L132)[\[3\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/DefaultFolderUtils.ts#L203-L203)[\[4\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/DefaultFolderUtils.ts#L369-L369)[\[5\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/settings.ts#L328-L328)[\[6\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/settings.ts#L430-L430)[\[7\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/settings.ts#L462-L462)
Async arrow function has no 'await' expression.

[\[1\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/ApiService.ts#L79-L79)[\[2\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/DefaultFolderUtils.ts#L72-L72)[\[3\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/DefaultFolderUtils.ts#L318-L318)[\[4\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/DefaultFolderUtils.ts#L371-L371)[\[5\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/components/Message.tsx#L54-L54)[\[6\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/components/Message.tsx#L153-L153)[\[7\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/components/Message.tsx#L158-L158)[\[8\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/components/Message.tsx#L193-L193)[\[9\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/components/MessagePad.tsx#L49-L49)[\[10\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/components/MessagePad.tsx#L68-L68)[\[11\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/components/Messages.tsx#L117-L117)[\[12\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/components/Messages.tsx#L279-L279)[\[13\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/components/Messages.tsx#L307-L307)[\[14\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/components/Messages.tsx#L377-L377)[\[15\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/components/Messages.tsx#L479-L479)[\[16\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/components/ModalCustomCommand.tsx#L103-L138)[\[17\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/components/ModalPrompt.tsx#L126-L126)[\[18\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/main.ts#L82-L82)[\[19\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/main.ts#L90-L90)[\[20\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/main.ts#L99-L99)[\[21\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/main.ts#L111-L111)[\[22\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/main.ts#L128-L128)[\[23\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/main.ts#L220-L220)[\[24\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/main.ts#L278-L278)[\[25\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/main.ts#L307-L317)[\[26\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/main.ts#L331-L341)
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/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/ApiService.ts#L86-L86)
Async method 'openApiKeyProblemModal' has no 'await' expression.

[\[1\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/components/Message.tsx#L53-L53)
Async arrow function 'saveBlockAs' has no 'await' expression.

[\[1\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/components/Message.tsx#L71-L71)
'children' may use Object's default stringification format ('[object Object]') when stringified.

[\[1\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/components/Message.tsx#L116-L116)[\[2\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/components/Message.tsx#L290-L290)[\[3\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/components/Message.tsx#L305-L305)[\[4\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/components/MessagePad.tsx#L80-L80)[\[5\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/components/Messages.tsx#L556-L556)[\[6\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/components/Messages.tsx#L564-L564)[\[7\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/components/Messages.tsx#L565-L565)[\[8\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/components/Messages.tsx#L566-L566)[\[9\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/components/ModalPrompt.tsx#L179-L179)
Promise-returning function provided to attribute where a void return was expected.

[\[1\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/components/Message.tsx#L152-L152)
Async arrow function 'saveMessageAs' has no 'await' expression.

[\[1\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/components/Message.tsx#L206-L206)
Async arrow function 'editCustomCommand' has no 'await' expression.

[\[1\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/components/Messages.tsx#L99-L99)
Async arrow function 'startNewConvo' has no 'await' expression.

[\[1\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/components/Messages.tsx#L124-L124)
Async arrow function 'removeLastMessage' has no 'await' expression.

[\[1\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/components/Messages.tsx#L219-L219)
Async arrow function 'handleNewConvoMessage' has no 'await' expression.

[\[1\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/components/Messages.tsx#L260-L260)
Async arrow function 'handleResponseMessage' has no 'await' expression.

[\[1\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/components/Messages.tsx#L333-L333)
200 is overridden by number in this union type.

[\[1\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/components/Messages.tsx#L443-L443)
Async arrow function 'scrollToMessage' has no 'await' expression.

[\[1\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/components/Messages.tsx#L484-L484)
Async arrow function 'scrollToBottom' has no 'await' expression.

[\[1\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/components/ModalConfirm.tsx#L12-L12)
"Quill Confirmation" is overridden by string in this union type.

[\[1\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/components/ModalConfirm.tsx#L16-L16)
"Are you sure you want to do this? This action cannot be undone." is overridden by string in this union type.

[\[1\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/components/ModalConfirm.tsx#L17-L17)
"Yes, I'm sure" is overridden by string in this union type.

[\[1\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/components/ModalConfirm.tsx#L18-L18)
false is overridden by boolean in this union type.

[\[1\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/components/ModalCustomCommand.tsx#L86-L86)[\[2\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/components/ModalSaveConversation.tsx#L39-L39)[\[3\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/components/ModalSaveMessageAs.tsx#L69-L69)[\[4\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/settings.ts#L127-L127)[\[5\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/settings.ts#L314-L314)
Use sentence case for UI text.

[\[1\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/components/view.tsx#L52-L52)
Async method 'onOpen' has no 'await' expression.

[\[1\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/components/view.tsx#L85-L85)
Async method 'onClose' has no 'await' expression.

[\[1\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/executeFeature.ts#L132-L135)
Unexpected iterable of non-Promise (non-"Thenable") values passed to promise aggregator.

[\[1\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/featuresRegistry.ts#L64-L64)[\[2\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/main.ts#L182-L182)
Promise-returning function provided to property where a void return was expected.

[\[1\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/main.ts#L110-L110)
Async method 'callback' has no 'await' expression.

[\[1\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/main.ts#L143-L143)
Adding `command` to the command name is not necessary.

[\[1\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/main.ts#L250-L250)
Async method 'loadCommands' has no 'await' expression.

[\[1\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/main.ts#L346-L350)
Promise-returning function provided to variable where a void return was expected.

[\[1\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/main.ts#L380-L380)
Async method 'openPluginSettings' has no 'await' expression.

[\[1\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/settings.ts#L114-L114)[\[2\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/settings.ts#L114-L114)[\[3\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/settings.ts#L114-L114)[\[4\]](https://github.com/cathoderaynoob/obsidian-quill/blob/dad44294c3f2db6c26773fcc941299c3ab95d4fa/src/settings.ts#L114-L114)
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`.



---

### Optional

