### Required

[\[1\]](https://github.com/katokdoescode/note-builder/blob/34d1349d640d1b8bf7c9397024a310e400b15285/main.ts#L312-L312)[\[2\]](https://github.com/katokdoescode/note-builder/blob/34d1349d640d1b8bf7c9397024a310e400b15285/main.ts#L381-L381)[\[3\]](https://github.com/katokdoescode/note-builder/blob/34d1349d640d1b8bf7c9397024a310e400b15285/main.ts#L491-L491)[\[4\]](https://github.com/katokdoescode/note-builder/blob/34d1349d640d1b8bf7c9397024a310e400b15285/main.ts#L1114-L1114)[\[5\]](https://github.com/katokdoescode/note-builder/blob/34d1349d640d1b8bf7c9397024a310e400b15285/main.ts#L1177-L1177)[\[6\]](https://github.com/katokdoescode/note-builder/blob/34d1349d640d1b8bf7c9397024a310e400b15285/main.ts#L1288-L1288)[\[7\]](https://github.com/katokdoescode/note-builder/blob/34d1349d640d1b8bf7c9397024a310e400b15285/main.ts#L1489-L1489)[\[8\]](https://github.com/katokdoescode/note-builder/blob/34d1349d640d1b8bf7c9397024a310e400b15285/main.ts#L1796-L1796)[\[9\]](https://github.com/katokdoescode/note-builder/blob/34d1349d640d1b8bf7c9397024a310e400b15285/main.ts#L1908-L1908)[\[10\]](https://github.com/katokdoescode/note-builder/blob/34d1349d640d1b8bf7c9397024a310e400b15285/main.ts#L1967-L1967)[\[11\]](https://github.com/katokdoescode/note-builder/blob/34d1349d640d1b8bf7c9397024a310e400b15285/main.ts#L1993-L1993)[\[12\]](https://github.com/katokdoescode/note-builder/blob/34d1349d640d1b8bf7c9397024a310e400b15285/main.ts#L1998-L1998)[\[13\]](https://github.com/katokdoescode/note-builder/blob/34d1349d640d1b8bf7c9397024a310e400b15285/main.ts#L2028-L2028)[\[14\]](https://github.com/katokdoescode/note-builder/blob/34d1349d640d1b8bf7c9397024a310e400b15285/main.ts#L2196-L2196)[\[15\]](https://github.com/katokdoescode/note-builder/blob/34d1349d640d1b8bf7c9397024a310e400b15285/main.ts#L2198-L2198)[\[16\]](https://github.com/katokdoescode/note-builder/blob/34d1349d640d1b8bf7c9397024a310e400b15285/main.ts#L2232-L2232)[\[17\]](https://github.com/katokdoescode/note-builder/blob/34d1349d640d1b8bf7c9397024a310e400b15285/main.ts#L2253-L2253)[\[18\]](https://github.com/katokdoescode/note-builder/blob/34d1349d640d1b8bf7c9397024a310e400b15285/main.ts#L2255-L2255)[\[19\]](https://github.com/katokdoescode/note-builder/blob/34d1349d640d1b8bf7c9397024a310e400b15285/main.ts#L2326-L2326)[\[20\]](https://github.com/katokdoescode/note-builder/blob/34d1349d640d1b8bf7c9397024a310e400b15285/main.ts#L2337-L2337)[\[21\]](https://github.com/katokdoescode/note-builder/blob/34d1349d640d1b8bf7c9397024a310e400b15285/main.ts#L2370-L2370)[\[22\]](https://github.com/katokdoescode/note-builder/blob/34d1349d640d1b8bf7c9397024a310e400b15285/main.ts#L2377-L2377)[\[23\]](https://github.com/katokdoescode/note-builder/blob/34d1349d640d1b8bf7c9397024a310e400b15285/main.ts#L2408-L2408)[\[24\]](https://github.com/katokdoescode/note-builder/blob/34d1349d640d1b8bf7c9397024a310e400b15285/main.ts#L2420-L2420)[\[25\]](https://github.com/katokdoescode/note-builder/blob/34d1349d640d1b8bf7c9397024a310e400b15285/main.ts#L2451-L2451)[\[26\]](https://github.com/katokdoescode/note-builder/blob/34d1349d640d1b8bf7c9397024a310e400b15285/main.ts#L2473-L2473)[\[27\]](https://github.com/katokdoescode/note-builder/blob/34d1349d640d1b8bf7c9397024a310e400b15285/main.ts#L2485-L2485)[\[28\]](https://github.com/katokdoescode/note-builder/blob/34d1349d640d1b8bf7c9397024a310e400b15285/main.ts#L2493-L2493)[\[29\]](https://github.com/katokdoescode/note-builder/blob/34d1349d640d1b8bf7c9397024a310e400b15285/main.ts#L2497-L2497)[\[30\]](https://github.com/katokdoescode/note-builder/blob/34d1349d640d1b8bf7c9397024a310e400b15285/main.ts#L2518-L2518)
Use sentence case for UI text.

[\[1\]](https://github.com/katokdoescode/note-builder/blob/34d1349d640d1b8bf7c9397024a310e400b15285/main.ts#L314-L314)[\[2\]](https://github.com/katokdoescode/note-builder/blob/34d1349d640d1b8bf7c9397024a310e400b15285/main.ts#L355-L355)[\[3\]](https://github.com/katokdoescode/note-builder/blob/34d1349d640d1b8bf7c9397024a310e400b15285/main.ts#L372-L372)[\[4\]](https://github.com/katokdoescode/note-builder/blob/34d1349d640d1b8bf7c9397024a310e400b15285/main.ts#L1116-L1116)[\[5\]](https://github.com/katokdoescode/note-builder/blob/34d1349d640d1b8bf7c9397024a310e400b15285/main.ts#L1153-L1153)[\[6\]](https://github.com/katokdoescode/note-builder/blob/34d1349d640d1b8bf7c9397024a310e400b15285/main.ts#L1168-L1168)[\[7\]](https://github.com/katokdoescode/note-builder/blob/34d1349d640d1b8bf7c9397024a310e400b15285/main.ts#L1798-L1798)[\[8\]](https://github.com/katokdoescode/note-builder/blob/34d1349d640d1b8bf7c9397024a310e400b15285/main.ts#L1833-L1833)[\[9\]](https://github.com/katokdoescode/note-builder/blob/34d1349d640d1b8bf7c9397024a310e400b15285/main.ts#L1848-L1848)
Avoid setting styles directly via `element.style.backgroundImage`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/katokdoescode/note-builder/blob/34d1349d640d1b8bf7c9397024a310e400b15285/main.ts#L416-L416)[\[2\]](https://github.com/katokdoescode/note-builder/blob/34d1349d640d1b8bf7c9397024a310e400b15285/main.ts#L466-L466)[\[3\]](https://github.com/katokdoescode/note-builder/blob/34d1349d640d1b8bf7c9397024a310e400b15285/main.ts#L524-L524)[\[4\]](https://github.com/katokdoescode/note-builder/blob/34d1349d640d1b8bf7c9397024a310e400b15285/main.ts#L915-L915)[\[5\]](https://github.com/katokdoescode/note-builder/blob/34d1349d640d1b8bf7c9397024a310e400b15285/main.ts#L1212-L1212)[\[6\]](https://github.com/katokdoescode/note-builder/blob/34d1349d640d1b8bf7c9397024a310e400b15285/main.ts#L1263-L1263)[\[7\]](https://github.com/katokdoescode/note-builder/blob/34d1349d640d1b8bf7c9397024a310e400b15285/main.ts#L1325-L1325)[\[8\]](https://github.com/katokdoescode/note-builder/blob/34d1349d640d1b8bf7c9397024a310e400b15285/main.ts#L1603-L1603)[\[9\]](https://github.com/katokdoescode/note-builder/blob/34d1349d640d1b8bf7c9397024a310e400b15285/main.ts#L1890-L1890)[\[10\]](https://github.com/katokdoescode/note-builder/blob/34d1349d640d1b8bf7c9397024a310e400b15285/main.ts#L1941-L1941)[\[11\]](https://github.com/katokdoescode/note-builder/blob/34d1349d640d1b8bf7c9397024a310e400b15285/main.ts#L1983-L1983)[\[12\]](https://github.com/katokdoescode/note-builder/blob/34d1349d640d1b8bf7c9397024a310e400b15285/main.ts#L2299-L2299)
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/katokdoescode/note-builder/blob/34d1349d640d1b8bf7c9397024a310e400b15285/main.ts#L443-L443)[\[2\]](https://github.com/katokdoescode/note-builder/blob/34d1349d640d1b8bf7c9397024a310e400b15285/main.ts#L1239-L1239)[\[3\]](https://github.com/katokdoescode/note-builder/blob/34d1349d640d1b8bf7c9397024a310e400b15285/main.ts#L1241-L1241)[\[4\]](https://github.com/katokdoescode/note-builder/blob/34d1349d640d1b8bf7c9397024a310e400b15285/main.ts#L1918-L1918)[\[5\]](https://github.com/katokdoescode/note-builder/blob/34d1349d640d1b8bf7c9397024a310e400b15285/main.ts#L1920-L1920)
Avoid setting styles directly via `element.style.display`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/katokdoescode/note-builder/blob/34d1349d640d1b8bf7c9397024a310e400b15285/main.ts#L521-L521)[\[2\]](https://github.com/katokdoescode/note-builder/blob/34d1349d640d1b8bf7c9397024a310e400b15285/main.ts#L1322-L1322)[\[3\]](https://github.com/katokdoescode/note-builder/blob/34d1349d640d1b8bf7c9397024a310e400b15285/main.ts#L1500-L1500)[\[4\]](https://github.com/katokdoescode/note-builder/blob/34d1349d640d1b8bf7c9397024a310e400b15285/main.ts#L1980-L1980)
Async arrow function has no 'await' expression.

[\[1\]](https://github.com/katokdoescode/note-builder/blob/34d1349d640d1b8bf7c9397024a310e400b15285/main.ts#L844-L844)[\[2\]](https://github.com/katokdoescode/note-builder/blob/34d1349d640d1b8bf7c9397024a310e400b15285/main.ts#L895-L895)[\[3\]](https://github.com/katokdoescode/note-builder/blob/34d1349d640d1b8bf7c9397024a310e400b15285/main.ts#L1532-L1532)[\[4\]](https://github.com/katokdoescode/note-builder/blob/34d1349d640d1b8bf7c9397024a310e400b15285/main.ts#L1583-L1583)[\[5\]](https://github.com/katokdoescode/note-builder/blob/34d1349d640d1b8bf7c9397024a310e400b15285/main.ts#L2133-L2133)[\[6\]](https://github.com/katokdoescode/note-builder/blob/34d1349d640d1b8bf7c9397024a310e400b15285/main.ts#L2279-L2279)
Unexpected confirm.

[\[1\]](https://github.com/katokdoescode/note-builder/blob/34d1349d640d1b8bf7c9397024a310e400b15285/main.ts#L2493-L2493)
Use `new Setting(containerEl).setName(...).setHeading()` instead of creating HTML heading elements directly.

[\[1\]](https://github.com/katokdoescode/note-builder/blob/34d1349d640d1b8bf7c9397024a310e400b15285/src/utils/recording.ts#L43-L43)
Expected the Promise rejection reason to be an Error.



---

### Optional

[\[1\]](https://github.com/katokdoescode/note-builder/blob/34d1349d640d1b8bf7c9397024a310e400b15285/main.ts#L437-L437)[\[2\]](https://github.com/katokdoescode/note-builder/blob/34d1349d640d1b8bf7c9397024a310e400b15285/main.ts#L1233-L1233)[\[3\]](https://github.com/katokdoescode/note-builder/blob/34d1349d640d1b8bf7c9397024a310e400b15285/main.ts#L1912-L1912)
'timerEl' is assigned a value but never used.

