### Required

[\[1\]](https://github.com/mr-asa/obsidian_weather/blob/0bb674eaa6e2b2147513681ca3c74d73533b6d28/src/canvas/canvas-bridge.ts#L45-L45)
`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/mr-asa/obsidian_weather/blob/0bb674eaa6e2b2147513681ca3c74d73533b6d28/src/commands/index.ts#L8-L8)[\[2\]](https://github.com/mr-asa/obsidian_weather/blob/0bb674eaa6e2b2147513681ca3c74d73533b6d28/src/commands/index.ts#L16-L16)
The command ID should not include the plugin ID.

[\[1\]](https://github.com/mr-asa/obsidian_weather/blob/0bb674eaa6e2b2147513681ca3c74d73533b6d28/src/commands/index.ts#L11-L11)[\[2\]](https://github.com/mr-asa/obsidian_weather/blob/0bb674eaa6e2b2147513681ca3c74d73533b6d28/src/main.ts#L98-L98)
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/mr-asa/obsidian_weather/blob/0bb674eaa6e2b2147513681ca3c74d73533b6d28/src/markdown/weather-codeblock.ts#L41-L41)[\[2\]](https://github.com/mr-asa/obsidian_weather/blob/0bb674eaa6e2b2147513681ca3c74d73533b6d28/src/markdown/weather-codeblock.ts#L41-L41)
Unnecessary escape character: \".

[\[1\]](https://github.com/mr-asa/obsidian_weather/blob/0bb674eaa6e2b2147513681ca3c74d73533b6d28/src/services/weather-service.ts#L152-L152)[\[2\]](https://github.com/mr-asa/obsidian_weather/blob/0bb674eaa6e2b2147513681ca3c74d73533b6d28/src/services/weather-service.ts#L185-L185)
Unexpected use of 'fetch'. Use the built-in `requestUrl` function instead of `fetch` for network requests in Obsidian.

[\[1\]](https://github.com/mr-asa/obsidian_weather/blob/0bb674eaa6e2b2147513681ca3c74d73533b6d28/src/settings-tab.ts#L192-L192)[\[2\]](https://github.com/mr-asa/obsidian_weather/blob/0bb674eaa6e2b2147513681ca3c74d73533b6d28/src/settings-tab.ts#L1604-L1604)
Use `new Setting(containerEl).setName(...).setHeading()` instead of creating HTML heading elements directly.

[\[1\]](https://github.com/mr-asa/obsidian_weather/blob/0bb674eaa6e2b2147513681ca3c74d73533b6d28/src/settings-tab.ts#L272-L272)[\[2\]](https://github.com/mr-asa/obsidian_weather/blob/0bb674eaa6e2b2147513681ca3c74d73533b6d28/src/settings-tab.ts#L279-L279)[\[3\]](https://github.com/mr-asa/obsidian_weather/blob/0bb674eaa6e2b2147513681ca3c74d73533b6d28/src/settings-tab.ts#L306-L306)[\[4\]](https://github.com/mr-asa/obsidian_weather/blob/0bb674eaa6e2b2147513681ca3c74d73533b6d28/src/ui/weather-widget.ts#L587-L587)
This assertion is unnecessary since it does not change the type of the expression.

[\[1\]](https://github.com/mr-asa/obsidian_weather/blob/0bb674eaa6e2b2147513681ca3c74d73533b6d28/src/settings-tab.ts#L333-L345)[\[2\]](https://github.com/mr-asa/obsidian_weather/blob/0bb674eaa6e2b2147513681ca3c74d73533b6d28/src/settings-tab.ts#L347-L354)
Promise returned in function argument where a void return was expected.

[\[1\]](https://github.com/mr-asa/obsidian_weather/blob/0bb674eaa6e2b2147513681ca3c74d73533b6d28/src/settings-tab.ts#L1612-L1612)
Unexpected confirm.

[\[1\]](https://github.com/mr-asa/obsidian_weather/blob/0bb674eaa6e2b2147513681ca3c74d73533b6d28/src/ui/weather-widget-view.ts#L29-L29)
Async method 'onOpen' has no 'await' expression.

[\[1\]](https://github.com/mr-asa/obsidian_weather/blob/0bb674eaa6e2b2147513681ca3c74d73533b6d28/src/ui/weather-widget-view.ts#L33-L33)
Async method 'onClose' has no 'await' expression.



---

### Optional

[\[1\]](https://github.com/mr-asa/obsidian_weather/blob/0bb674eaa6e2b2147513681ca3c74d73533b6d28/src/settings-tab.ts#L15-L15)
'normalize' is defined but never used.

