diff --git a/src/app/MatrixLogin.tsx b/src/app/MatrixLogin.tsx index f066777..bf59e42 100644 --- a/src/app/MatrixLogin.tsx +++ b/src/app/MatrixLogin.tsx @@ -44,6 +44,9 @@ const LoginScreen = ({ const resolveHomeserver = useCallback(() => { if (homeserverURL.startsWith("https://") || homeserverURL.startsWith("http://")) { + if (homeserverURL.endsWith("/")) { + setHomeserverURL(homeserverURL.slice(0, -1)) + } matrixClient.getLoginFlows().then( resp => { setLoginFlows(new Set(resp.flows.map(flow => flow.type))) diff --git a/src/electron.ts b/src/electron.ts index ce6d85d..438b463 100644 --- a/src/electron.ts +++ b/src/electron.ts @@ -65,6 +65,16 @@ const createWindow = () => { }) }) + // Force-allow cross-origin requests, particularly for development mode, + // where the file is served from localhost + mainWindow.webContents.session.webRequest.onHeadersReceived((details, callback) => { + const responseHeaders = details.responseHeaders || {}; + responseHeaders["access-control-allow-origin"] = ["*"] + callback({ + responseHeaders, + }) + }) + loadIndexPage() if (process.env.NODE_ENV === "development") { mainWindow.webContents.openDevTools()