diff --git a/docs/DOCKER-FULL.md b/docs/DOCKER-FULL.md index 8a29ea73..b31c5c02 100644 --- a/docs/DOCKER-FULL.md +++ b/docs/DOCKER-FULL.md @@ -112,7 +112,7 @@ volumes: ``` ### Overwriting Materialious defaults -Materialious lets you customize the default settings by overriding them with `PUBLIC_DEFAULT_SETTINGS`. To configure this easily, go to **Settings** → **Interface** and click "Export to JSON." For more details, check the [SETTINGS](./SETTINGS.md) page. +Materialious lets you customize the default settings by overriding them with `PUBLIC_DEFAULT_SETTINGS`. To configure this easily, go to **Settings** → **Export/Import** and click "Export to clipboard" under the "Settings" header. For more details, check the [SETTINGS](./SETTINGS.md) page. **Please note:** These overwrites only apply on 1st load & won't replace existing configuration stored in browser local storage. diff --git a/materialious/android/app/build.gradle b/materialious/android/app/build.gradle index 7c42562c..a867ecd3 100644 --- a/materialious/android/app/build.gradle +++ b/materialious/android/app/build.gradle @@ -7,8 +7,8 @@ android { applicationId "us.materialio.app" minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion - versionCode 228 - versionName "1.16.11" + versionCode 229 + versionName "1.16.12" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" aaptOptions { // Files and dirs to omit from the packaged assets dir, modified to accommodate modern web apps. diff --git a/materialious/electron/materialious.metainfo.xml b/materialious/electron/materialious.metainfo.xml index e77f4016..89d245d8 100644 --- a/materialious/electron/materialious.metainfo.xml +++ b/materialious/electron/materialious.metainfo.xml @@ -70,6 +70,10 @@ intense + + + https://github.com/Materialious/Materialious/releases/tag/1.16.12 + https://github.com/Materialious/Materialious/releases/tag/1.16.11 diff --git a/materialious/electron/package.json b/materialious/electron/package.json index 906d9f4c..e23383a7 100644 --- a/materialious/electron/package.json +++ b/materialious/electron/package.json @@ -1,6 +1,6 @@ { "name": "Materialious", - "version": "1.16.11", + "version": "1.16.12", "description": "Modern material design for YouTube and Invidious.", "author": { "name": "Ward Pearce", @@ -44,4 +44,4 @@ "capacitor", "electron" ] -} +} \ No newline at end of file diff --git a/materialious/package-lock.json b/materialious/package-lock.json index 9af80fd0..6520b6b0 100644 --- a/materialious/package-lock.json +++ b/materialious/package-lock.json @@ -1,12 +1,12 @@ { "name": "materialious", - "version": "1.16.8", + "version": "1.16.12", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "materialious", - "version": "1.16.8", + "version": "1.16.12", "hasInstallScript": true, "dependencies": { "@capacitor-community/electron": "^5.0.1", @@ -47,6 +47,7 @@ "melt": "^0.44.0", "mousetrap": "^1.6.5", "mysql2": "^3.18.2", + "papaparse": "^5.5.3", "pg": "^8.19.0", "pg-hstore": "^2.3.4", "safe-regex2": "^5.0.0", @@ -76,6 +77,7 @@ "@types/human-number": "^1.0.2", "@types/jsdom": "^28.0.0", "@types/mousetrap": "^1.6.15", + "@types/papaparse": "^5.5.2", "@vite-pwa/sveltekit": "^1.0.0", "eslint": "^10.0.2", "eslint-config-prettier": "^10.1.8", @@ -6125,6 +6127,16 @@ "dev": true, "license": "MIT" }, + "node_modules/@types/papaparse": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/@types/papaparse/-/papaparse-5.5.2.tgz", + "integrity": "sha512-gFnFp/JMzLHCwRf7tQHrNnfhN4eYBVYYI897CGX4MY1tzY9l2aLkVyx2IlKZ/SAqDbB3I1AOZW5gTMGGsqWliA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@types/phoenix": { "version": "1.6.7", "resolved": "https://registry.npmjs.org/@types/phoenix/-/phoenix-1.6.7.tgz", @@ -14525,6 +14537,12 @@ "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", "license": "BlueOak-1.0.0" }, + "node_modules/papaparse": { + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/papaparse/-/papaparse-5.5.3.tgz", + "integrity": "sha512-5QvjGxYVjxO59MGU2lHVYpRWBBtKHnlIAcSe1uNFCkkptUh63NFRj0FJQm7nR67puEruUci/ZkjmEFrjCAyP4A==", + "license": "MIT" + }, "node_modules/parse-json": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", diff --git a/materialious/package.json b/materialious/package.json index c0e2e50f..5f7f56e7 100644 --- a/materialious/package.json +++ b/materialious/package.json @@ -1,6 +1,6 @@ { "name": "materialious", - "version": "1.16.11", + "version": "1.16.12", "private": true, "scripts": { "dev": "npm run patch:github && vite dev", @@ -30,6 +30,7 @@ "@types/human-number": "^1.0.2", "@types/jsdom": "^28.0.0", "@types/mousetrap": "^1.6.15", + "@types/papaparse": "^5.5.2", "@vite-pwa/sveltekit": "^1.0.0", "eslint": "^10.0.2", "eslint-config-prettier": "^10.1.8", @@ -85,6 +86,7 @@ "melt": "^0.44.0", "mousetrap": "^1.6.5", "mysql2": "^3.18.2", + "papaparse": "^5.5.3", "pg": "^8.19.0", "pg-hstore": "^2.3.4", "safe-regex2": "^5.0.0", diff --git a/materialious/src/lib/api/index.ts b/materialious/src/lib/api/index.ts index ea9c5dc1..2d4565e0 100644 --- a/materialious/src/lib/api/index.ts +++ b/materialious/src/lib/api/index.ts @@ -220,11 +220,8 @@ export async function notificationsMarkAsRead(fetchOptions: RequestInit = {}) { return notificationsMarkAsReadInvidious(fetchOptions); } -export async function getSubscriptions( - fetchOptions: RequestInit = {}, - bypassYTBackend: boolean = false -): Promise { - if (isYTBackend() && !bypassYTBackend) { +export async function getSubscriptions(fetchOptions: RequestInit = {}): Promise { + if (isYTBackend()) { if (isOwnBackend()?.internalAuth && get(rawMasterKeyStore)) { return (await getSubscriptionsBackend()).map((sub) => { return { @@ -257,15 +254,15 @@ export async function amSubscribed( export async function postSubscribe( authorId: string, - fetchOptions: RequestInit = {}, - bypassYTBackend: boolean = false + authorName: string | undefined = undefined, + fetchOptions: RequestInit = {} ) { - if (isYTBackend() && !bypassYTBackend) { + if (isYTBackend()) { if (isOwnBackend()?.internalAuth && get(rawMasterKeyStore)) { - return postSubscribeBackend(authorId); + return postSubscribeBackend(authorId, authorName); } - return postSubscribeYTjs(authorId); + return postSubscribeYTjs(authorId, authorName); } return postSubscribeInvidious(authorId, fetchOptions); diff --git a/materialious/src/lib/components/Toast.svelte b/materialious/src/lib/components/Toast.svelte index c1c984a6..6350c609 100644 --- a/materialious/src/lib/components/Toast.svelte +++ b/materialious/src/lib/components/Toast.svelte @@ -11,7 +11,7 @@ action?: ToastAction; } - const toaster = new Toaster(); + export const toaster = new Toaster(); export const addToast = toaster.addToast; diff --git a/materialious/src/lib/components/settings/Engine.svelte b/materialious/src/lib/components/settings/Engine.svelte index 2c81fa92..a5603d0b 100644 --- a/materialious/src/lib/components/settings/Engine.svelte +++ b/materialious/src/lib/components/settings/Engine.svelte @@ -1,22 +1,14 @@
@@ -107,7 +45,7 @@
{#if $backendInUseStore === 'yt'} -
Feed
+

Feed

view_stream
- - {#if $invidiousAuthStore && $invidiousInstanceStore} -
{$_('layout.backendEngine.importExport')}
-
- - - -
- - - {/if} {:else} -
{$_('layout.backendEngine.fallbacks')}
+

{$_('layout.backendEngine.fallbacks')}

{#each engineFallbacks as fallback (fallback)}