### Required

[\[1\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L221-L221)[\[2\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L3678-L3678)
`substr` is deprecated. A legacy feature for browser compatibility

[\[1\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L409-L409)[\[2\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L422-L422)[\[3\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L508-L508)[\[4\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L510-L510)[\[5\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L655-L655)[\[6\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L706-L706)[\[7\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L722-L722)[\[8\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L728-L728)[\[9\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L1212-L1212)[\[10\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L1221-L1221)[\[11\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L1389-L1389)[\[12\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L1392-L1392)[\[13\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L1401-L1401)[\[14\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L1420-L1420)[\[15\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L1436-L1436)[\[16\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L1441-L1441)[\[17\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L1506-L1506)[\[18\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L1746-L1746)[\[19\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L1873-L1873)[\[20\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L1899-L1899)[\[21\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L2094-L2094)[\[22\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L2161-L2161)[\[23\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L3826-L3826)[\[24\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L4212-L4212)[\[25\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L4214-L4214)
Use sentence case for UI text.

[\[1\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L429-L429)[\[2\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L2179-L2179)[\[3\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L2184-L2184)[\[4\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/src/services/scheduler/SchedulerService.ts#L11-L47)[\[5\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/src/services/tracking/TrackingService.ts#L38-L46)
Promise returned in function argument where a void return was expected.

[\[1\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L524-L524)[\[2\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L526-L526)[\[3\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L603-L603)[\[4\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L604-L604)
Avoid setting styles directly via `element.style.display`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L630-L630)[\[2\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L750-L750)[\[3\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L750-L750)[\[4\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L762-L762)[\[5\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L908-L908)[\[6\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L908-L908)[\[7\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L915-L915)[\[8\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L925-L925)[\[9\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L925-L925)[\[10\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L934-L934)[\[11\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L1027-L1027)[\[12\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L1398-L1398)[\[13\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L3512-L3512)[\[14\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L3514-L3514)[\[15\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L3515-L3515)[\[16\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L3550-L3550)[\[17\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L3554-L3554)[\[18\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L3555-L3555)[\[19\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L3556-L3556)[\[20\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L3557-L3557)[\[21\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L3580-L3580)[\[22\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L3584-L3584)[\[23\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L3585-L3585)[\[24\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L3586-L3586)[\[25\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L3587-L3587)[\[26\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L3590-L3590)[\[27\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L3594-L3594)[\[28\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L3595-L3595)[\[29\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L3596-L3596)[\[30\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L3597-L3597)[\[31\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L3618-L3618)[\[32\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L3618-L3618)[\[33\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L3618-L3618)[\[34\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L3838-L3838)[\[35\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L3883-L3883)[\[36\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L3886-L3886)[\[37\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L3933-L3933)[\[38\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L4023-L4023)[\[39\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L4092-L4092)[\[40\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L4116-L4116)[\[41\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L4135-L4135)[\[42\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L4152-L4152)[\[43\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L4169-L4169)[\[44\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L4194-L4194)[\[45\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L4203-L4203)[\[46\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L4222-L4222)[\[47\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L4224-L4224)[\[48\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L4237-L4237)[\[49\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L4238-L4238)[\[50\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L4258-L4258)[\[51\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L4277-L4277)[\[52\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/src/services/analytics/AnalyticsService.ts#L9-L9)[\[53\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/src/services/analytics/AnalyticsService.ts#L10-L10)[\[54\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/src/services/analytics/AnalyticsTypes.ts#L3-L3)[\[55\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/src/services/analytics/AnalyticsTypes.ts#L4-L4)[\[56\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/src/services/session/SessionService.ts#L18-L18)[\[57\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/src/services/session/SessionService.ts#L53-L53)[\[58\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/src/services/session/SessionService.ts#L107-L107)[\[59\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/src/services/summary/SummaryService.ts#L85-L85)[\[60\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/src/services/summary/SummaryService.ts#L98-L98)[\[61\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/src/services/summary/SummaryService.ts#L100-L100)[\[62\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/src/services/summary/SummaryService.ts#L104-L104)[\[63\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/src/services/tags/TagIndexService.ts#L33-L33)[\[64\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/src/services/tags/TagIndexService.ts#L33-L33)[\[65\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/src/services/tracking/TrackingService.ts#L31-L31)[\[66\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/src/services/tracking/TrackingService.ts#L37-L37)[\[67\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/src/services/tracking/TrackingService.ts#L49-L49)[\[68\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/src/services/tracking/TrackingService.ts#L54-L54)[\[69\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/src/services/tracking/TrackingService.ts#L57-L57)[\[70\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/src/services/tracking/TrackingService.ts#L66-L66)
Unexpected any. Specify a different type.

[\[1\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L736-L736)
Async method 'getCategoryTimes' has no 'await' expression.

[\[1\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L892-L892)[\[2\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L967-L972)[\[3\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L1003-L1003)[\[4\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L1027-L1027)[\[5\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L1077-L1077)[\[6\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L1188-L1188)[\[7\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L1193-L1193)[\[8\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L1288-L1294)[\[9\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L1293-L1293)[\[10\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L1328-L1328)[\[11\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L1429-L1429)[\[12\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L1512-L1512)[\[13\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L1937-L1937)[\[14\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L2023-L2023)[\[15\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L2031-L2031)[\[16\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L2122-L2122)[\[17\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L2141-L2141)[\[18\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L2142-L2142)[\[19\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L2155-L2155)[\[20\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L2169-L2169)[\[21\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L2260-L2260)[\[22\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L2272-L2274)[\[23\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L2336-L2336)[\[24\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L2425-L2425)[\[25\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L3483-L3483)
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/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L897-L897)
Async method 'computeRemainingGoalSeconds' has no 'await' expression.

[\[1\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L2114-L2114)[\[2\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L2610-L2610)[\[3\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L3913-L3913)[\[4\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L3961-L3961)[\[5\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L4077-L4077)[\[6\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L4088-L4088)[\[7\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L4282-L4282)[\[8\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/src/services/tags/TagIndexService.ts#L95-L95)
This assertion is unnecessary since it does not change the type of the expression.

[\[1\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L2116-L2116)[\[2\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L2351-L2351)[\[3\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L3512-L3512)[\[4\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L3552-L3552)[\[5\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L3582-L3582)[\[6\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L3592-L3592)[\[7\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L3623-L3623)[\[8\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L3629-L3629)
Empty block statement.

[\[1\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L2140-L2140)
Async arrow function has no 'await' expression.

[\[1\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L2610-L2610)[\[2\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L2941-L2941)[\[3\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/src/services/tracking/TrackingService.ts#L37-L37)[\[4\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/src/services/tracking/TrackingService.ts#L39-L39)[\[5\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/src/services/tracking/TrackingService.ts#L42-L42)[\[6\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/src/services/tracking/TrackingService.ts#L49-L49)[\[7\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/src/services/tracking/TrackingService.ts#L58-L58)
Avoid casting to 'TFile'. Use an 'instanceof TFile' check to safely narrow the type.

[\[1\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L2781-L2781)[\[2\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L3627-L3627)[\[3\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L3656-L3656)[\[4\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L3664-L3664)[\[5\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L3731-L3731)
Unexpected console statement. Only these console methods are allowed: warn, error, debug.

[\[1\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L3357-L3357)
Unnecessary escape character: \!.

[\[1\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L3414-L3436)
Promise-returning method provided where a void return was expected by extended/implemented type 'Plugin'.

[\[1\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L4051-L4051)
Creating and attaching "style" elements is not allowed. For loading CSS, use a "styles.css" file instead, which Obsidian loads for you.

[\[1\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/src/services/tags/TagIndexService.ts#L52-L52)
Async method 'buildInitialIndex' has no 'await' expression.



---

### Optional

[\[1\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L1-L1)
'Editor' is defined but never used.

[\[1\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L1-L1)
'MarkdownView' is defined but never used.

[\[1\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L673-L673)
'categoryTimes' is assigned a value but never used.

[\[1\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L3137-L3137)
'createdNotes' is assigned a value but never used.

[\[1\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L3168-L3168)
'wordsData' is assigned a value but never used.

[\[1\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L3169-L3169)
'timeData' is assigned a value but never used.

[\[1\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L3577-L3577)
'prevLive' is assigned a value but never used.

[\[1\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L3730-L3730)
'error' is defined but never used.

[\[1\]](https://github.com/rouvenjahnke/study-analytics/blob/39f38218a0508a6410fa1bec40b93d9be775e076/main.ts#L3843-L3843)
'hint' is assigned a value but never used.

