### Required

[\[1\]](https://github.com/infinitesum/obsidian-emoji-selector/blob/778cb2be7901c2513c2531bbf3e1b1d111c2bcf6/main.ts#L114-L114)
Async method 'getEmojiManager' has no 'await' expression.

[\[1\]](https://github.com/infinitesum/obsidian-emoji-selector/blob/778cb2be7901c2513c2531bbf3e1b1d111c2bcf6/src/emoji-cache.ts#L26-L26)[\[2\]](https://github.com/infinitesum/obsidian-emoji-selector/blob/778cb2be7901c2513c2531bbf3e1b1d111c2bcf6/src/emoji-cache.ts#L96-L96)[\[3\]](https://github.com/infinitesum/obsidian-emoji-selector/blob/778cb2be7901c2513c2531bbf3e1b1d111c2bcf6/src/emoji-cache.ts#L310-L310)[\[4\]](https://github.com/infinitesum/obsidian-emoji-selector/blob/778cb2be7901c2513c2531bbf3e1b1d111c2bcf6/src/emoji-manager.ts#L46-L46)[\[5\]](https://github.com/infinitesum/obsidian-emoji-selector/blob/778cb2be7901c2513c2531bbf3e1b1d111c2bcf6/src/emoji-manager.ts#L76-L76)[\[6\]](https://github.com/infinitesum/obsidian-emoji-selector/blob/778cb2be7901c2513c2531bbf3e1b1d111c2bcf6/src/emoji-manager.ts#L117-L117)
Expected non-Promise value in a boolean conditional.

[\[1\]](https://github.com/infinitesum/obsidian-emoji-selector/blob/778cb2be7901c2513c2531bbf3e1b1d111c2bcf6/src/emoji-cache.ts#L137-L137)
'unknown' overrides all other types in this union type.

[\[1\]](https://github.com/infinitesum/obsidian-emoji-selector/blob/778cb2be7901c2513c2531bbf3e1b1d111c2bcf6/src/emoji-cache.ts#L156-L156)
Async method 'setCachedData' has no 'await' expression.

[\[1\]](https://github.com/infinitesum/obsidian-emoji-selector/blob/778cb2be7901c2513c2531bbf3e1b1d111c2bcf6/src/emoji-cache.ts#L171-L177)[\[2\]](https://github.com/infinitesum/obsidian-emoji-selector/blob/778cb2be7901c2513c2531bbf3e1b1d111c2bcf6/src/emoji-cache.ts#L205-L211)[\[3\]](https://github.com/infinitesum/obsidian-emoji-selector/blob/778cb2be7901c2513c2531bbf3e1b1d111c2bcf6/src/emoji-cache.ts#L229-L235)[\[4\]](https://github.com/infinitesum/obsidian-emoji-selector/blob/778cb2be7901c2513c2531bbf3e1b1d111c2bcf6/src/emoji-cache.ts#L288-L294)[\[5\]](https://github.com/infinitesum/obsidian-emoji-selector/blob/778cb2be7901c2513c2531bbf3e1b1d111c2bcf6/src/emoji-cache.ts#L318-L326)[\[6\]](https://github.com/infinitesum/obsidian-emoji-selector/blob/778cb2be7901c2513c2531bbf3e1b1d111c2bcf6/src/emoji-manager.ts#L63-L69)[\[7\]](https://github.com/infinitesum/obsidian-emoji-selector/blob/778cb2be7901c2513c2531bbf3e1b1d111c2bcf6/src/emoji-manager.ts#L91-L97)[\[8\]](https://github.com/infinitesum/obsidian-emoji-selector/blob/778cb2be7901c2513c2531bbf3e1b1d111c2bcf6/src/emoji-manager.ts#L103-L109)[\[9\]](https://github.com/infinitesum/obsidian-emoji-selector/blob/778cb2be7901c2513c2531bbf3e1b1d111c2bcf6/src/emoji-picker-modal.ts#L50-L50)[\[10\]](https://github.com/infinitesum/obsidian-emoji-selector/blob/778cb2be7901c2513c2531bbf3e1b1d111c2bcf6/src/emoji-picker-modal.ts#L551-L551)[\[11\]](https://github.com/infinitesum/obsidian-emoji-selector/blob/778cb2be7901c2513c2531bbf3e1b1d111c2bcf6/src/emoji-picker-modal.ts#L817-L825)[\[12\]](https://github.com/infinitesum/obsidian-emoji-selector/blob/778cb2be7901c2513c2531bbf3e1b1d111c2bcf6/src/settings-tab.ts#L29-L33)
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/infinitesum/obsidian-emoji-selector/blob/778cb2be7901c2513c2531bbf3e1b1d111c2bcf6/src/emoji-cache.ts#L196-L196)
Async method 'clearUrl' has no 'await' expression.

[\[1\]](https://github.com/infinitesum/obsidian-emoji-selector/blob/778cb2be7901c2513c2531bbf3e1b1d111c2bcf6/src/emoji-cache.ts#L220-L220)
Async method 'clearAll' has no 'await' expression.

[\[1\]](https://github.com/infinitesum/obsidian-emoji-selector/blob/778cb2be7901c2513c2531bbf3e1b1d111c2bcf6/src/emoji-cache.ts#L271-L271)
Async method 'cleanupUnusedCache' has no 'await' expression.

[\[1\]](https://github.com/infinitesum/obsidian-emoji-selector/blob/778cb2be7901c2513c2531bbf3e1b1d111c2bcf6/src/emoji-cache.ts#L304-L304)
Async method 'startBackgroundWarming' has no 'await' expression.

[\[1\]](https://github.com/infinitesum/obsidian-emoji-selector/blob/778cb2be7901c2513c2531bbf3e1b1d111c2bcf6/src/emoji-manager.ts#L116-L116)
Async method 'ensureInitialized' has no 'await' expression.

[\[1\]](https://github.com/infinitesum/obsidian-emoji-selector/blob/778cb2be7901c2513c2531bbf3e1b1d111c2bcf6/src/emoji-manager.ts#L400-L413)[\[2\]](https://github.com/infinitesum/obsidian-emoji-selector/blob/778cb2be7901c2513c2531bbf3e1b1d111c2bcf6/src/emoji-picker-modal.ts#L129-L129)[\[3\]](https://github.com/infinitesum/obsidian-emoji-selector/blob/778cb2be7901c2513c2531bbf3e1b1d111c2bcf6/src/emoji-picker-modal.ts#L155-L163)[\[4\]](https://github.com/infinitesum/obsidian-emoji-selector/blob/778cb2be7901c2513c2531bbf3e1b1d111c2bcf6/src/emoji-picker-modal.ts#L181-L192)[\[5\]](https://github.com/infinitesum/obsidian-emoji-selector/blob/778cb2be7901c2513c2531bbf3e1b1d111c2bcf6/src/emoji-picker-modal.ts#L190-L190)
Promise returned in function argument where a void return was expected.

[\[1\]](https://github.com/infinitesum/obsidian-emoji-selector/blob/778cb2be7901c2513c2531bbf3e1b1d111c2bcf6/src/emoji-picker-modal.ts#L815-L815)
Async method 'handleEmojiClick' has no 'await' expression.

[\[1\]](https://github.com/infinitesum/obsidian-emoji-selector/blob/778cb2be7901c2513c2531bbf3e1b1d111c2bcf6/src/emoji-picker-modal.ts#L860-L860)
Avoid using the navigator API to detect the operating system. Use the Platform API instead.

[\[1\]](https://github.com/infinitesum/obsidian-emoji-selector/blob/778cb2be7901c2513c2531bbf3e1b1d111c2bcf6/src/emoji-storage.ts#L569-L569)[\[2\]](https://github.com/infinitesum/obsidian-emoji-selector/blob/778cb2be7901c2513c2531bbf3e1b1d111c2bcf6/src/emoji-storage.ts#L583-L583)[\[3\]](https://github.com/infinitesum/obsidian-emoji-selector/blob/778cb2be7901c2513c2531bbf3e1b1d111c2bcf6/src/emoji-storage.ts#L596-L596)[\[4\]](https://github.com/infinitesum/obsidian-emoji-selector/blob/778cb2be7901c2513c2531bbf3e1b1d111c2bcf6/src/emoji-storage.ts#L620-L620)[\[5\]](https://github.com/infinitesum/obsidian-emoji-selector/blob/778cb2be7901c2513c2531bbf3e1b1d111c2bcf6/src/owo-parser.ts#L175-L175)[\[6\]](https://github.com/infinitesum/obsidian-emoji-selector/blob/778cb2be7901c2513c2531bbf3e1b1d111c2bcf6/src/performance-monitor.ts#L79-L79)[\[7\]](https://github.com/infinitesum/obsidian-emoji-selector/blob/778cb2be7901c2513c2531bbf3e1b1d111c2bcf6/src/recent-emoji-manager.ts#L93-L93)[\[8\]](https://github.com/infinitesum/obsidian-emoji-selector/blob/778cb2be7901c2513c2531bbf3e1b1d111c2bcf6/src/recent-emoji-manager.ts#L174-L174)[\[9\]](https://github.com/infinitesum/obsidian-emoji-selector/blob/778cb2be7901c2513c2531bbf3e1b1d111c2bcf6/src/settings-tab.ts#L437-L437)[\[10\]](https://github.com/infinitesum/obsidian-emoji-selector/blob/778cb2be7901c2513c2531bbf3e1b1d111c2bcf6/src/settings-tab.ts#L438-L438)[\[11\]](https://github.com/infinitesum/obsidian-emoji-selector/blob/778cb2be7901c2513c2531bbf3e1b1d111c2bcf6/src/virtual-emoji-renderer.ts#L60-L60)[\[12\]](https://github.com/infinitesum/obsidian-emoji-selector/blob/778cb2be7901c2513c2531bbf3e1b1d111c2bcf6/src/virtual-emoji-renderer.ts#L87-L87)
This assertion is unnecessary since it does not change the type of the expression.

[\[1\]](https://github.com/infinitesum/obsidian-emoji-selector/blob/778cb2be7901c2513c2531bbf3e1b1d111c2bcf6/src/emoji-suggest.ts#L146-L171)
Promise-returning method provided where a void return was expected by extended/implemented type 'EditorSuggest<EmojiItem>'.

[\[1\]](https://github.com/infinitesum/obsidian-emoji-selector/blob/778cb2be7901c2513c2531bbf3e1b1d111c2bcf6/src/logger.ts#L54-L54)[\[2\]](https://github.com/infinitesum/obsidian-emoji-selector/blob/778cb2be7901c2513c2531bbf3e1b1d111c2bcf6/src/logger.ts#L63-L63)[\[3\]](https://github.com/infinitesum/obsidian-emoji-selector/blob/778cb2be7901c2513c2531bbf3e1b1d111c2bcf6/src/logger.ts#L90-L90)[\[4\]](https://github.com/infinitesum/obsidian-emoji-selector/blob/778cb2be7901c2513c2531bbf3e1b1d111c2bcf6/src/logger.ts#L92-L92)[\[5\]](https://github.com/infinitesum/obsidian-emoji-selector/blob/778cb2be7901c2513c2531bbf3e1b1d111c2bcf6/src/logger.ts#L101-L101)
Unexpected console statement. Only these console methods are allowed: warn, error, debug.

[\[1\]](https://github.com/infinitesum/obsidian-emoji-selector/blob/778cb2be7901c2513c2531bbf3e1b1d111c2bcf6/src/settings-tab.ts#L219-L219)[\[2\]](https://github.com/infinitesum/obsidian-emoji-selector/blob/778cb2be7901c2513c2531bbf3e1b1d111c2bcf6/src/settings-tab.ts#L394-L394)[\[3\]](https://github.com/infinitesum/obsidian-emoji-selector/blob/778cb2be7901c2513c2531bbf3e1b1d111c2bcf6/src/settings-tab.ts#L395-L395)[\[4\]](https://github.com/infinitesum/obsidian-emoji-selector/blob/778cb2be7901c2513c2531bbf3e1b1d111c2bcf6/src/settings-tab.ts#L396-L396)[\[5\]](https://github.com/infinitesum/obsidian-emoji-selector/blob/778cb2be7901c2513c2531bbf3e1b1d111c2bcf6/src/settings-tab.ts#L397-L397)[\[6\]](https://github.com/infinitesum/obsidian-emoji-selector/blob/778cb2be7901c2513c2531bbf3e1b1d111c2bcf6/src/settings-tab.ts#L398-L398)
Use sentence case for UI text.

[\[1\]](https://github.com/infinitesum/obsidian-emoji-selector/blob/778cb2be7901c2513c2531bbf3e1b1d111c2bcf6/src/virtual-emoji-renderer.ts#L118-L118)
Unexpected lexical declaration in case block.



---

### Optional

[\[1\]](https://github.com/infinitesum/obsidian-emoji-selector/blob/778cb2be7901c2513c2531bbf3e1b1d111c2bcf6/src/emoji-formatter.ts#L84-L84)[\[2\]](https://github.com/infinitesum/obsidian-emoji-selector/blob/778cb2be7901c2513c2531bbf3e1b1d111c2bcf6/src/emoji-storage.ts#L203-L203)[\[3\]](https://github.com/infinitesum/obsidian-emoji-selector/blob/778cb2be7901c2513c2531bbf3e1b1d111c2bcf6/src/emoji-storage.ts#L346-L346)[\[4\]](https://github.com/infinitesum/obsidian-emoji-selector/blob/778cb2be7901c2513c2531bbf3e1b1d111c2bcf6/src/owo-parser.ts#L88-L88)
'error' is defined but never used.

[\[1\]](https://github.com/infinitesum/obsidian-emoji-selector/blob/778cb2be7901c2513c2531bbf3e1b1d111c2bcf6/src/emoji-picker-modal.ts#L35-L35)
'startTime' is assigned a value but never used.

[\[1\]](https://github.com/infinitesum/obsidian-emoji-selector/blob/778cb2be7901c2513c2531bbf3e1b1d111c2bcf6/src/emoji-suggest.ts#L108-L108)
'img' is assigned a value but never used.

[\[1\]](https://github.com/infinitesum/obsidian-emoji-selector/blob/778cb2be7901c2513c2531bbf3e1b1d111c2bcf6/src/emoji-suggest.ts#L118-L118)
'span' is assigned a value but never used.

[\[1\]](https://github.com/infinitesum/obsidian-emoji-selector/blob/778cb2be7901c2513c2531bbf3e1b1d111c2bcf6/src/virtual-emoji-renderer.ts#L300-L300)
'gap' is assigned a value but never used.



---



Do <b>NOT</b> open a new PR for re-validation.
Once you have pushed some changes to your repository the bot will rescan 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.
To run these checks locally, install the [eslint plugin](https://github.com/obsidianmd/eslint-plugin) in your project.
Do <b>NOT</b> rebase this PR, this will be handled by the reviewer once the plugin has been approved.