### Required

[\[1\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/main.ts#L20-L20)[\[2\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/hide-dex-comments-extension.ts#L8-L8)[\[3\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/sync-buttons/codemirror-extension.ts#L9-L9)
'@codemirror/state' should be listed in the project's dependencies. Run 'npm i -S @codemirror/state' to add it

[\[1\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/main.ts#L109-L109)[\[2\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/main.ts#L115-L115)[\[3\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/main.ts#L127-L127)[\[4\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/main.ts#L138-L138)[\[5\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/main.ts#L144-L144)[\[6\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/main.ts#L150-L150)[\[7\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/main.ts#L481-L481)[\[8\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/main.ts#L559-L559)[\[9\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/core/contact-manager.ts#L93-L93)[\[10\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/core/contact-manager.ts#L127-L127)[\[11\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/contact-creation-modal.ts#L45-L45)[\[12\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/contact-creation-modal.ts#L52-L52)[\[13\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/contact-creation-modal.ts#L66-L66)[\[14\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/contact-creation-modal.ts#L77-L77)[\[15\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/contact-creation-modal.ts#L80-L80)[\[16\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/contact-creation-modal.ts#L91-L91)[\[17\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/contact-creation-modal.ts#L102-L102)[\[18\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/contact-creation-modal.ts#L121-L121)[\[19\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/contact-creation-modal.ts#L152-L152)[\[20\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/contact-creation-modal.ts#L244-L244)[\[21\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/contact-hover-card.ts#L582-L582)[\[22\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/contact-hover-card.ts#L583-L583)[\[23\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/contact-hover-card.ts#L589-L589)[\[24\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/contact-hover-card.ts#L599-L599)[\[25\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/contact-hover-card.ts#L614-L614)[\[26\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/contact-hover-card.ts#L699-L699)[\[27\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/contact-hover-card.ts#L1003-L1003)[\[28\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/contact-suggest.ts#L393-L393)[\[29\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L23-L23)[\[30\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L26-L26)[\[31\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L30-L30)[\[32\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L97-L97)[\[33\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L100-L100)[\[34\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L115-L115)[\[35\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L120-L120)[\[36\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L128-L128)[\[37\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L135-L135)[\[38\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L139-L139)[\[39\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L142-L142)[\[40\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L143-L143)[\[41\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L155-L155)[\[42\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L156-L156)[\[43\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L178-L178)[\[44\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L189-L189)[\[45\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L192-L192)[\[46\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L202-L202)[\[47\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L203-L203)[\[48\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L212-L212)[\[49\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L215-L215)[\[50\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L252-L252)[\[51\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L268-L268)[\[52\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L271-L271)[\[53\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L284-L284)[\[54\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L285-L285)[\[55\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L294-L294)[\[56\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L295-L295)[\[57\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L306-L306)[\[58\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L309-L309)[\[59\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L322-L322)[\[60\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L323-L323)[\[61\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L337-L337)[\[62\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L340-L340)[\[63\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L343-L343)[\[64\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L350-L350)[\[65\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L353-L353)[\[66\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L367-L367)[\[67\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L380-L380)[\[68\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L386-L386)[\[69\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L398-L398)[\[70\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L539-L539)[\[71\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/sync-buttons/codemirror-extension.ts#L88-L88)[\[72\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/sync-buttons/codemirror-extension.ts#L134-L134)
Use sentence case for UI text.

[\[1\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/main.ts#L116-L116)
Avoid providing a default hotkey. Users should set their own.

[\[1\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/main.ts#L120-L120)[\[2\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/main.ts#L131-L131)[\[3\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/main.ts#L575-L575)[\[4\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/core/contact-manager.ts#L85-L85)[\[5\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/contact-creation-modal.ts#L156-L156)[\[6\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/contact-creation-modal.ts#L163-L163)[\[7\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/contact-hover-card.ts#L243-L243)[\[8\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/contact-hover-card.ts#L1109-L1109)[\[9\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/contact-hover-card.ts#L1132-L1132)[\[10\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L91-L91)[\[11\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/sync-buttons/codemirror-extension.ts#L62-L62)[\[12\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/sync-buttons/codemirror-extension.ts#L64-L64)
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/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/main.ts#L247-L247)[\[2\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/main.ts#L250-L250)[\[3\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/contact-hover-card.ts#L142-L142)[\[4\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/contact-hover-card.ts#L165-L165)[\[5\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/contact-hover-card.ts#L871-L871)[\[6\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/contact-suggest.ts#L404-L404)[\[7\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/contact-suggest.ts#L411-L411)[\[8\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L62-L62)[\[9\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L73-L73)
Avoid setting styles directly via `element.style.display`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/main.ts#L262-L262)[\[2\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/contact-hover-card.ts#L642-L642)[\[3\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/utils/contact-link-extractor.ts#L63-L63)[\[4\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/utils/contact-link-updater.ts#L300-L300)
`activeLeaf` is deprecated. The use of this field is discouraged.
The recommended alternatives are:
- If you need information about the current view, use {@link Workspace.getActiveViewOfType}.
- If you need to open a new file or navigate a view, use {@link Workspace.getLeaf}.

[\[1\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/main.ts#L379-L379)[\[2\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/contact-creation-modal.ts#L216-L216)[\[3\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/contact-creation-modal.ts#L243-L243)[\[4\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L863-L863)
This assertion is unnecessary since it does not change the type of the expression.

[\[1\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/api/client.ts#L56-L56)[\[2\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/api/client.ts#L59-L59)[\[3\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/api/client.ts#L275-L275)[\[4\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/api/client.ts#L358-L358)[\[5\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/api/client.ts#L404-L404)[\[6\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/contact-creation-modal.ts#L8-L8)[\[7\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/contact-creation-modal.ts#L9-L9)[\[8\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/contact-creation-modal.ts#L22-L22)[\[9\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/contact-creation-modal.ts#L24-L24)[\[10\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/contact-creation-modal.ts#L176-L176)[\[11\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/contact-hover-card.ts#L370-L370)[\[12\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/contact-hover-card.ts#L382-L382)[\[13\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/contact-hover-card.ts#L561-L561)[\[14\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/contact-hover-card.ts#L606-L606)[\[15\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/contact-hover-card.ts#L636-L636)[\[16\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/contact-hover-card.ts#L688-L688)[\[17\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/contact-suggest.ts#L463-L463)[\[18\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/notifications.ts#L4-L4)[\[19\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/notifications.ts#L6-L6)[\[20\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L13-L13)[\[21\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/utils/contact-link-updater.ts#L195-L195)[\[22\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/utils/debug-logger.ts#L47-L47)[\[23\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/utils/debug-logger.ts#L65-L65)
Unexpected any. Specify a different type.

[\[1\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/core/contact-manager.ts#L45-L45)
Expected non-Promise value in a boolean conditional.

[\[1\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/contact-hover-card.ts#L163-L163)[\[2\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/contact-hover-card.ts#L337-L337)[\[3\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/utils/css-manager.ts#L76-L76)
Avoid setting styles directly via `element.style.position`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/contact-hover-card.ts#L164-L164)[\[2\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/contact-hover-card.ts#L338-L338)
Avoid setting styles directly via `element.style.zIndex`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/contact-hover-card.ts#L166-L166)[\[2\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/utils/css-manager.ts#L75-L75)
Avoid setting styles directly via `element.style.visibility`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/contact-hover-card.ts#L167-L167)
Avoid setting styles directly via `element.style.opacity`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/contact-hover-card.ts#L558-L558)
Async method 'getCachedContacts' has no 'await' expression.

[\[1\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/contact-hover-card.ts#L946-L946)
`Linkedin` is deprecated. Brand icons have been deprecated and are due to be removed, please refer to https://github.com/lucide-icons/lucide/issues/670. We recommend using https://simpleicons.org/?q=linkedin instead. This icon will be removed in v1.0

[\[1\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/contact-hover-card.ts#L978-L978)[\[2\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/sync-buttons/codemirror-extension.ts#L97-L97)
Unexpected lexical declaration in case block.

[\[1\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/contact-suggest.ts#L376-L376)[\[2\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L435-L440)[\[3\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L449-L453)[\[4\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L485-L490)[\[5\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L502-L508)[\[6\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L521-L527)[\[7\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L747-L747)[\[8\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/sync-buttons/codemirror-extension.ts#L115-L115)
Do not write to DOM directly using innerHTML/outerHTML property

[\[1\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/hide-dex-comments-extension.ts#L1-L7)[\[2\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/sync-buttons/codemirror-extension.ts#L1-L8)
'@codemirror/view' should be listed in the project's dependencies. Run 'npm i -S @codemirror/view' to add it

[\[1\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/notifications.ts#L17-L17)
`noticeEl` is deprecated. Use `messageEl` instead

[\[1\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/notifications.ts#L29-L29)[\[2\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/notifications.ts#L32-L32)[\[3\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/notifications.ts#L36-L36)
Avoid setting styles directly via `element.style.borderLeft`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L23-L23)[\[2\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L26-L26)[\[3\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L135-L135)[\[4\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L189-L189)[\[5\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L212-L212)[\[6\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L268-L268)[\[7\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L306-L306)[\[8\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L337-L337)[\[9\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L350-L350)[\[10\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L409-L409)
Use `new Setting(containerEl).setName(...).setHeading()` instead of creating HTML heading elements directly.

[\[1\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L69-L71)[\[2\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L581-L597)[\[3\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L629-L642)
Promise returned in function argument where a void return was expected.

[\[1\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L230-L230)
Avoid setting styles directly via `element.style.height`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L231-L231)
Avoid setting styles directly via `element.style.resize`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L241-L241)
Avoid setting styles directly via `element.style.marginTop`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L242-L242)[\[2\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L258-L258)[\[3\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L834-L834)
Avoid setting styles directly via `element.style.padding`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L243-L243)[\[2\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L261-L261)
Avoid setting styles directly via `element.style.border`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L244-L244)[\[2\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L260-L260)
Avoid setting styles directly via `element.style.borderRadius`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L245-L245)[\[2\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L259-L259)[\[3\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L839-L839)[\[4\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L857-L857)[\[5\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L859-L859)[\[6\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L912-L912)[\[7\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L914-L914)
Avoid setting styles directly via `element.style.backgroundColor`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L248-L248)[\[2\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L256-L256)[\[3\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L847-L847)
Avoid setting styles directly via `element.style.fontSize`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L249-L249)[\[2\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L843-L843)
Avoid setting styles directly via `element.style.fontWeight`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L250-L250)
Avoid setting styles directly via `element.style.marginBottom`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L251-L251)[\[2\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L848-L848)
Avoid setting styles directly via `element.style.color`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L255-L255)
Avoid setting styles directly via `element.style.fontFamily`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L257-L257)
Avoid setting styles directly via `element.style.lineHeight`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L262-L262)
Avoid setting styles directly via `element.style.minHeight`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L835-L835)
Avoid setting styles directly via `element.style.cursor`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L836-L836)
Avoid setting styles directly via `element.style.borderBottom`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/sync-buttons/codemirror-extension.ts#L121-L121)
Async method 'handleProfileClick' has no 'await' expression.

[\[1\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/sync-buttons/codemirror-extension.ts#L264-L264)[\[2\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/utils/debug-logger.ts#L40-L40)[\[3\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/utils/debug-logger.ts#L42-L42)
Unexpected console statement. Only these console methods are allowed: warn, error, debug.

[\[1\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/utils/css-manager.ts#L77-L77)
Avoid setting styles directly via `element.style.top`. Use CSS classes for better theming and maintainability.



---

### Optional

[\[1\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/main.ts#L8-L8)
'ContactCreationModal' is defined but never used.

[\[1\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/api/client.ts#L4-L4)[\[2\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/core/contact-manager.ts#L4-L4)[\[3\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/core/memo-manager.ts#L5-L5)[\[4\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/utils/content-processor.ts#L5-L5)
'DebugLogger' is defined but never used.

[\[1\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/core/memo-manager.ts#L1-L1)
'App' is defined but never used.

[\[1\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/contact-creation-modal.ts#L217-L217)
'originalText' is assigned a value but never used.

[\[1\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/contact-hover-card.ts#L1-L1)
'Component' is defined but never used.

[\[1\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/contact-hover-card.ts#L9-L9)
'STATUS_BAR_UPDATE_DELAY' is defined but never used.

[\[1\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/contact-hover-card.ts#L17-L17)
'LinkIcon' is defined but never used.

[\[1\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/contact-hover-card.ts#L249-L249)
'target' is assigned a value but never used.

[\[1\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/contact-hover-card.ts#L535-L535)[\[2\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L393-L393)
'error' is defined but never used.

[\[1\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L366-L366)
'debugSetting' is assigned a value but never used.

[\[1\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/settings-tab.ts#L766-L766)
'lastCursorPosition' is assigned a value but never used.

[\[1\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/sync-buttons/codemirror-extension.ts#L17-L17)
'MEMO_ID_CLEANUP_PATTERN' is defined but never used.

[\[1\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/ui/sync-buttons/codemirror-extension.ts#L351-L351)
'linkPath' is assigned a value but never used.

[\[1\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/utils/contact-selection-manager.ts#L1-L1)
'Editor' is defined but never used.

[\[1\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/utils/contact-selection-manager.ts#L102-L102)
'match' is assigned a value but never used.

[\[1\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/utils/contact-selection-manager.ts#L113-L113)
'atMatch' is assigned a value but never used.

[\[1\]](https://github.com/GraysonCAdams/dex-contacts/blob/bba016d297793ebcbbf4d82d47160a2026dc7d09/src/utils/content-processor.ts#L4-L4)
'MEMO_ID_PATTERN' is defined but never used.

