Проблема с CORS при публикации в Discourse из Obsidian

Верно, Obsidian — это приложение на базе Electron, работающее локально. Оно использует локальное хранилище, поэтому API-ключ остаётся на устройстве пользователя.

Оказывается, для проблемы CORS есть решение. Пока я тестировал его только на своём настольном компьютере. Кроме того, Discourse — это здорово!

Код, который я привёл выше, нужно было изменить следующим образом:

import DiscoursePlugin from "./main";
import { requestUrl, TFile } from "obsidian";

//...
		const response = await requestUrl({
			url: url,
			method: "POST",
			contentType: "application/json",
			body,
			headers,
		});
//...

Следующий вопрос будет касаться возможности для пользователей запрашивать API-ключи пользователей непосредственно из приложения, но это отдельная тема.