diff --git a/materialious/electron/package-lock.json b/materialious/electron/package-lock.json
index 14ff9ce2..9e22f55c 100644
--- a/materialious/electron/package-lock.json
+++ b/materialious/electron/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "Materialious",
- "version": "1.15.7",
+ "version": "1.16.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "Materialious",
- "version": "1.15.7",
+ "version": "1.16.0",
"license": "MIT",
"dependencies": {
"@capacitor-community/electron": "^5.0.0",
diff --git a/materialious/src/lib/externalSettings/index.ts b/materialious/src/lib/externalSettings/index.ts
index 08c47357..6bb2ec83 100644
--- a/materialious/src/lib/externalSettings/index.ts
+++ b/materialious/src/lib/externalSettings/index.ts
@@ -26,7 +26,6 @@ export async function syncSettingsToBackend() {
let initalLoad = true;
store.store.subscribe((value) => {
if (!get(rawMasterKeyStore)) return;
-
if (initalLoad) {
initalLoad = false;
return;
diff --git a/materialious/src/lib/misc.ts b/materialious/src/lib/misc.ts
index 514afc79..a6aaecd8 100644
--- a/materialious/src/lib/misc.ts
+++ b/materialious/src/lib/misc.ts
@@ -314,7 +314,7 @@ export async function goToInvidiousLogin() {
path.search = searchParams.toString();
await Browser.open({ url: path.toString() });
} else {
- searchParams.set('callback_url', `${location.origin}${resolve('/auth', {})}`);
+ searchParams.set('callback_url', `${location.origin}${resolve('/invidious/auth', {})}`);
path.search = searchParams.toString();
document.location.href = path.toString();
}
diff --git a/materialious/src/routes/(app)/auth/+page.svelte b/materialious/src/routes/(app)/auth/+page.svelte
deleted file mode 100644
index 709e08b6..00000000
--- a/materialious/src/routes/(app)/auth/+page.svelte
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-
diff --git a/materialious/src/routes/(app)/auth/+page.ts b/materialious/src/routes/(app)/auth/+page.ts
deleted file mode 100644
index e69de29b..00000000
diff --git a/materialious/src/routes/+layout.svelte b/materialious/src/routes/+layout.svelte
index dcc0a5b6..e7f81a04 100644
--- a/materialious/src/routes/+layout.svelte
+++ b/materialious/src/routes/+layout.svelte
@@ -83,11 +83,12 @@
onMount(async () => {
ui();
- if (Capacitor.getPlatform() === 'android' && $themeColorStore) {
+ if (Capacitor.getPlatform() === 'android' && !$themeColorStore) {
try {
const colorPalette = await colorTheme.getColorPalette();
- themeColorStore.set(convertToHexColorCode(colorPalette.primary));
- await ui('theme', $themeColorStore);
+ const colorAsHex = convertToHexColorCode(colorPalette.primary);
+ themeColorStore.set(colorAsHex);
+ await ui('theme', colorAsHex);
} catch {
// Continue regardless of error
}
diff --git a/materialious/src/routes/api/proxy/[urlToProxy]/+server.ts b/materialious/src/routes/api/proxy/[urlToProxy]/+server.ts
index c5cb302c..7f676510 100644
--- a/materialious/src/routes/api/proxy/[urlToProxy]/+server.ts
+++ b/materialious/src/routes/api/proxy/[urlToProxy]/+server.ts
@@ -106,6 +106,11 @@ async function proxyRequest(
requestHeaders.set('origin', urlToProxyObj.origin);
requestHeaders.set('user-agent', USER_AGENT);
+ const authHeader = request.headers.get('Authorization');
+ if (authHeader) {
+ requestHeaders.set('Authorization', authHeader);
+ }
+
const requestOptions: RequestInit = {
method: request.method,
headers: requestHeaders,
diff --git a/materialious/src/routes/invidious/auth/+page.ts b/materialious/src/routes/invidious/auth/+page.ts
new file mode 100644
index 00000000..5fa87762
--- /dev/null
+++ b/materialious/src/routes/invidious/auth/+page.ts
@@ -0,0 +1,17 @@
+import { resolve } from '$app/paths';
+import { invidiousAuthStore } from '$lib/store';
+import { redirect } from '@sveltejs/kit';
+
+export async function load({ url }) {
+ const username = url.searchParams.get('username');
+ const token = url.searchParams.get('token');
+
+ if (username && token) {
+ invidiousAuthStore.set({
+ username: username,
+ token: token
+ });
+ }
+
+ throw redirect(302, resolve('/', {}));
+}