From c7e95a7b67925d8c1c2028931e256e656d5c1ae5 Mon Sep 17 00:00:00 2001 From: WardPearce Date: Sun, 8 Mar 2026 22:47:10 +1300 Subject: [PATCH 01/10] Bump versions --- materialious/android/app/build.gradle | 4 ++-- materialious/electron/materialious.metainfo.xml | 6 +++++- materialious/electron/package.json | 2 +- materialious/package.json | 2 +- update_versions.py | 2 +- 5 files changed, 10 insertions(+), 6 deletions(-) diff --git a/materialious/android/app/build.gradle b/materialious/android/app/build.gradle index f777be5e..0ded4280 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 232 - versionName "1.16.15" + versionCode 233 + versionName "1.16.16" 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 dd9eb768..3789b97d 100644 --- a/materialious/electron/materialious.metainfo.xml +++ b/materialious/electron/materialious.metainfo.xml @@ -74,7 +74,11 @@ - + + + https://github.com/Materialious/Materialious/releases/tag/1.16.16 + + https://github.com/Materialious/Materialious/releases/tag/1.16.15 diff --git a/materialious/electron/package.json b/materialious/electron/package.json index 63a428b7..8f2d7d36 100644 --- a/materialious/electron/package.json +++ b/materialious/electron/package.json @@ -1,6 +1,6 @@ { "name": "Materialious", - "version": "1.16.15", + "version": "1.16.16", "description": "Modern material design for YouTube and Invidious.", "author": { "name": "Ward Pearce", diff --git a/materialious/package.json b/materialious/package.json index a5b735bb..c968ccc2 100644 --- a/materialious/package.json +++ b/materialious/package.json @@ -1,6 +1,6 @@ { "name": "materialious", - "version": "1.16.15", + "version": "1.16.16", "private": true, "scripts": { "dev": "npm run patch:github && vite dev", diff --git a/update_versions.py b/update_versions.py index 971f8701..33af9ef6 100644 --- a/update_versions.py +++ b/update_versions.py @@ -3,7 +3,7 @@ import os import re from datetime import datetime -LATEST_VERSION = "1.16.15" +LATEST_VERSION = "1.16.16" RELEASE_DATE = datetime.now().strftime("%Y-%-m-%d") # Format: YYYY-M-D WORKING_DIR = os.path.join(os.path.dirname(os.path.realpath(__file__)), "materialious") From fa3965f7bedf38752940ea644dad8b0ee69e5bed Mon Sep 17 00:00:00 2001 From: WardPearce Date: Sun, 8 Mar 2026 23:09:51 +1300 Subject: [PATCH 02/10] Improved how auth tokens are synced to accounts --- materialious/src/lib/auth.ts | 11 +++++++++++ materialious/src/lib/externalSettings/index.ts | 13 +++++-------- materialious/static/localApi/ghContributors.json | 2 +- 3 files changed, 17 insertions(+), 9 deletions(-) diff --git a/materialious/src/lib/auth.ts b/materialious/src/lib/auth.ts index 3a427fb7..b6693bca 100644 --- a/materialious/src/lib/auth.ts +++ b/materialious/src/lib/auth.ts @@ -15,6 +15,7 @@ import { isOwnBackend } from './shared'; import { Browser } from '@capacitor/browser'; import { clearFeedYTjs } from './api/youtubejs/subscriptions'; import { ensureNoTrailingSlash, isYTBackend } from './misc'; +import { deleteKeyValue } from './api/backend/keyvalue'; export function clearCaches() { feedCacheStore.set({}); @@ -29,6 +30,12 @@ export function authProtected() { } } +async function removeAuthFromBackend() { + if (!get(rawMasterKeyStore)) return; + + await deleteKeyValue('authToken'); +} + export async function setInvidiousInstance( instanceUrl: string | undefined | null ): Promise { @@ -64,6 +71,8 @@ export async function setInvidiousInstance( invidiousInstanceStore.set(instance); invidiousAuthStore.set(null); + await removeAuthFromBackend(); + return true; } @@ -86,6 +95,8 @@ export async function goToInvidiousLogin() { export async function invidiousLogout() { invidiousAuthStore.set(null); + await removeAuthFromBackend(); + goto(resolve('/', {})); } diff --git a/materialious/src/lib/externalSettings/index.ts b/materialious/src/lib/externalSettings/index.ts index cb88cf87..ebe24c4c 100644 --- a/materialious/src/lib/externalSettings/index.ts +++ b/materialious/src/lib/externalSettings/index.ts @@ -9,22 +9,19 @@ import { addOrUpdateKeyValue, getKeyValue } from '$lib/api/backend/keyvalue'; import { rawMasterKeyStore } from '$lib/store'; import { getPublicEnv } from '$lib/misc'; -const allowNullOverwrite = ['authToken']; +const dontAutoSync = ['authToken']; export async function syncSettingsToBackend() { if (!isOwnBackend() || !get(rawMasterKeyStore)) return; await Promise.all( persistedStores.map(async (store) => { - if (store.excludeFromBackendSync) return; + if (store.excludeFromBackendSync || dontAutoSync.includes(store.name)) return; getKeyValue(store.name).then((currentKeyValue) => { - if (currentKeyValue !== null || allowNullOverwrite.includes(store.name)) { + if (currentKeyValue !== null) { const currentKeyValueParsed = parseWithSchema(store.schema, currentKeyValue); - if ( - (currentKeyValueParsed !== null && currentKeyValueParsed !== undefined) || - allowNullOverwrite.includes(store.name) - ) { + if (currentKeyValueParsed !== null && currentKeyValueParsed !== undefined) { store.store.set(currentKeyValueParsed); } } @@ -34,7 +31,7 @@ export async function syncSettingsToBackend() { store.store.subscribe((value) => { if (!get(rawMasterKeyStore)) return; - if (initialLoad && !allowNullOverwrite.includes(store.name)) { + if (initialLoad) { initialLoad = false; return; } diff --git a/materialious/static/localApi/ghContributors.json b/materialious/static/localApi/ghContributors.json index b5cf773e..1e99e01d 100644 --- a/materialious/static/localApi/ghContributors.json +++ b/materialious/static/localApi/ghContributors.json @@ -1 +1 @@ -[{"login":"WardPearce","id":27844174,"node_id":"MDQ6VXNlcjI3ODQ0MTc0","avatar_url":"https://avatars.githubusercontent.com/u/27844174?v=4","gravatar_id":"","url":"https://api.github.com/users/WardPearce","html_url":"https://github.com/WardPearce","followers_url":"https://api.github.com/users/WardPearce/followers","following_url":"https://api.github.com/users/WardPearce/following{/other_user}","gists_url":"https://api.github.com/users/WardPearce/gists{/gist_id}","starred_url":"https://api.github.com/users/WardPearce/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/WardPearce/subscriptions","organizations_url":"https://api.github.com/users/WardPearce/orgs","repos_url":"https://api.github.com/users/WardPearce/repos","events_url":"https://api.github.com/users/WardPearce/events{/privacy}","received_events_url":"https://api.github.com/users/WardPearce/received_events","type":"User","user_view_type":"public","site_admin":false,"contributions":2327},{"login":"dependabot[bot]","id":49699333,"node_id":"MDM6Qm90NDk2OTkzMzM=","avatar_url":"https://avatars.githubusercontent.com/in/29110?v=4","gravatar_id":"","url":"https://api.github.com/users/dependabot%5Bbot%5D","html_url":"https://github.com/apps/dependabot","followers_url":"https://api.github.com/users/dependabot%5Bbot%5D/followers","following_url":"https://api.github.com/users/dependabot%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/dependabot%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/dependabot%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dependabot%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/dependabot%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/dependabot%5Bbot%5D/repos","events_url":"https://api.github.com/users/dependabot%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/dependabot%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false,"contributions":241},{"login":"Lezurex","id":48829956,"node_id":"MDQ6VXNlcjQ4ODI5OTU2","avatar_url":"https://avatars.githubusercontent.com/u/48829956?v=4","gravatar_id":"","url":"https://api.github.com/users/Lezurex","html_url":"https://github.com/Lezurex","followers_url":"https://api.github.com/users/Lezurex/followers","following_url":"https://api.github.com/users/Lezurex/following{/other_user}","gists_url":"https://api.github.com/users/Lezurex/gists{/gist_id}","starred_url":"https://api.github.com/users/Lezurex/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Lezurex/subscriptions","organizations_url":"https://api.github.com/users/Lezurex/orgs","repos_url":"https://api.github.com/users/Lezurex/repos","events_url":"https://api.github.com/users/Lezurex/events{/privacy}","received_events_url":"https://api.github.com/users/Lezurex/received_events","type":"User","user_view_type":"public","site_admin":false,"contributions":44},{"login":"ghostofsparta222","id":251893418,"node_id":"U_kgDODwOWqg","avatar_url":"https://avatars.githubusercontent.com/u/251893418?v=4","gravatar_id":"","url":"https://api.github.com/users/ghostofsparta222","html_url":"https://github.com/ghostofsparta222","followers_url":"https://api.github.com/users/ghostofsparta222/followers","following_url":"https://api.github.com/users/ghostofsparta222/following{/other_user}","gists_url":"https://api.github.com/users/ghostofsparta222/gists{/gist_id}","starred_url":"https://api.github.com/users/ghostofsparta222/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ghostofsparta222/subscriptions","organizations_url":"https://api.github.com/users/ghostofsparta222/orgs","repos_url":"https://api.github.com/users/ghostofsparta222/repos","events_url":"https://api.github.com/users/ghostofsparta222/events{/privacy}","received_events_url":"https://api.github.com/users/ghostofsparta222/received_events","type":"User","user_view_type":"public","site_admin":false,"contributions":15},{"login":"Coool","id":8421903,"node_id":"MDQ6VXNlcjg0MjE5MDM=","avatar_url":"https://avatars.githubusercontent.com/u/8421903?v=4","gravatar_id":"","url":"https://api.github.com/users/Coool","html_url":"https://github.com/Coool","followers_url":"https://api.github.com/users/Coool/followers","following_url":"https://api.github.com/users/Coool/following{/other_user}","gists_url":"https://api.github.com/users/Coool/gists{/gist_id}","starred_url":"https://api.github.com/users/Coool/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Coool/subscriptions","organizations_url":"https://api.github.com/users/Coool/orgs","repos_url":"https://api.github.com/users/Coool/repos","events_url":"https://api.github.com/users/Coool/events{/privacy}","received_events_url":"https://api.github.com/users/Coool/received_events","type":"User","user_view_type":"public","site_admin":false,"contributions":15},{"login":"araujosemacento","id":60983392,"node_id":"MDQ6VXNlcjYwOTgzMzky","avatar_url":"https://avatars.githubusercontent.com/u/60983392?v=4","gravatar_id":"","url":"https://api.github.com/users/araujosemacento","html_url":"https://github.com/araujosemacento","followers_url":"https://api.github.com/users/araujosemacento/followers","following_url":"https://api.github.com/users/araujosemacento/following{/other_user}","gists_url":"https://api.github.com/users/araujosemacento/gists{/gist_id}","starred_url":"https://api.github.com/users/araujosemacento/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/araujosemacento/subscriptions","organizations_url":"https://api.github.com/users/araujosemacento/orgs","repos_url":"https://api.github.com/users/araujosemacento/repos","events_url":"https://api.github.com/users/araujosemacento/events{/privacy}","received_events_url":"https://api.github.com/users/araujosemacento/received_events","type":"User","user_view_type":"public","site_admin":false,"contributions":14},{"login":"toolatebot","id":169580663,"node_id":"U_kgDOChuYdw","avatar_url":"https://avatars.githubusercontent.com/u/169580663?v=4","gravatar_id":"","url":"https://api.github.com/users/toolatebot","html_url":"https://github.com/toolatebot","followers_url":"https://api.github.com/users/toolatebot/followers","following_url":"https://api.github.com/users/toolatebot/following{/other_user}","gists_url":"https://api.github.com/users/toolatebot/gists{/gist_id}","starred_url":"https://api.github.com/users/toolatebot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/toolatebot/subscriptions","organizations_url":"https://api.github.com/users/toolatebot/orgs","repos_url":"https://api.github.com/users/toolatebot/repos","events_url":"https://api.github.com/users/toolatebot/events{/privacy}","received_events_url":"https://api.github.com/users/toolatebot/received_events","type":"User","user_view_type":"public","site_admin":false,"contributions":9},{"login":"Precific","id":30053082,"node_id":"MDQ6VXNlcjMwMDUzMDgy","avatar_url":"https://avatars.githubusercontent.com/u/30053082?v=4","gravatar_id":"","url":"https://api.github.com/users/Precific","html_url":"https://github.com/Precific","followers_url":"https://api.github.com/users/Precific/followers","following_url":"https://api.github.com/users/Precific/following{/other_user}","gists_url":"https://api.github.com/users/Precific/gists{/gist_id}","starred_url":"https://api.github.com/users/Precific/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Precific/subscriptions","organizations_url":"https://api.github.com/users/Precific/orgs","repos_url":"https://api.github.com/users/Precific/repos","events_url":"https://api.github.com/users/Precific/events{/privacy}","received_events_url":"https://api.github.com/users/Precific/received_events","type":"User","user_view_type":"public","site_admin":false,"contributions":9},{"login":"yzqzss","id":30341059,"node_id":"MDQ6VXNlcjMwMzQxMDU5","avatar_url":"https://avatars.githubusercontent.com/u/30341059?v=4","gravatar_id":"","url":"https://api.github.com/users/yzqzss","html_url":"https://github.com/yzqzss","followers_url":"https://api.github.com/users/yzqzss/followers","following_url":"https://api.github.com/users/yzqzss/following{/other_user}","gists_url":"https://api.github.com/users/yzqzss/gists{/gist_id}","starred_url":"https://api.github.com/users/yzqzss/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yzqzss/subscriptions","organizations_url":"https://api.github.com/users/yzqzss/orgs","repos_url":"https://api.github.com/users/yzqzss/repos","events_url":"https://api.github.com/users/yzqzss/events{/privacy}","received_events_url":"https://api.github.com/users/yzqzss/received_events","type":"User","user_view_type":"public","site_admin":false,"contributions":4},{"login":"thejenja","id":65224669,"node_id":"MDQ6VXNlcjY1MjI0NjY5","avatar_url":"https://avatars.githubusercontent.com/u/65224669?v=4","gravatar_id":"","url":"https://api.github.com/users/thejenja","html_url":"https://github.com/thejenja","followers_url":"https://api.github.com/users/thejenja/followers","following_url":"https://api.github.com/users/thejenja/following{/other_user}","gists_url":"https://api.github.com/users/thejenja/gists{/gist_id}","starred_url":"https://api.github.com/users/thejenja/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thejenja/subscriptions","organizations_url":"https://api.github.com/users/thejenja/orgs","repos_url":"https://api.github.com/users/thejenja/repos","events_url":"https://api.github.com/users/thejenja/events{/privacy}","received_events_url":"https://api.github.com/users/thejenja/received_events","type":"User","user_view_type":"public","site_admin":false,"contributions":4},{"login":"cookiennn","id":114363954,"node_id":"U_kgDOBtEOMg","avatar_url":"https://avatars.githubusercontent.com/u/114363954?v=4","gravatar_id":"","url":"https://api.github.com/users/cookiennn","html_url":"https://github.com/cookiennn","followers_url":"https://api.github.com/users/cookiennn/followers","following_url":"https://api.github.com/users/cookiennn/following{/other_user}","gists_url":"https://api.github.com/users/cookiennn/gists{/gist_id}","starred_url":"https://api.github.com/users/cookiennn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cookiennn/subscriptions","organizations_url":"https://api.github.com/users/cookiennn/orgs","repos_url":"https://api.github.com/users/cookiennn/repos","events_url":"https://api.github.com/users/cookiennn/events{/privacy}","received_events_url":"https://api.github.com/users/cookiennn/received_events","type":"User","user_view_type":"public","site_admin":false,"contributions":4},{"login":"SecularSteve","id":33793273,"node_id":"MDQ6VXNlcjMzNzkzMjcz","avatar_url":"https://avatars.githubusercontent.com/u/33793273?v=4","gravatar_id":"","url":"https://api.github.com/users/SecularSteve","html_url":"https://github.com/SecularSteve","followers_url":"https://api.github.com/users/SecularSteve/followers","following_url":"https://api.github.com/users/SecularSteve/following{/other_user}","gists_url":"https://api.github.com/users/SecularSteve/gists{/gist_id}","starred_url":"https://api.github.com/users/SecularSteve/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SecularSteve/subscriptions","organizations_url":"https://api.github.com/users/SecularSteve/orgs","repos_url":"https://api.github.com/users/SecularSteve/repos","events_url":"https://api.github.com/users/SecularSteve/events{/privacy}","received_events_url":"https://api.github.com/users/SecularSteve/received_events","type":"User","user_view_type":"public","site_admin":false,"contributions":4},{"login":"R0GGER","id":8298741,"node_id":"MDQ6VXNlcjgyOTg3NDE=","avatar_url":"https://avatars.githubusercontent.com/u/8298741?v=4","gravatar_id":"","url":"https://api.github.com/users/R0GGER","html_url":"https://github.com/R0GGER","followers_url":"https://api.github.com/users/R0GGER/followers","following_url":"https://api.github.com/users/R0GGER/following{/other_user}","gists_url":"https://api.github.com/users/R0GGER/gists{/gist_id}","starred_url":"https://api.github.com/users/R0GGER/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/R0GGER/subscriptions","organizations_url":"https://api.github.com/users/R0GGER/orgs","repos_url":"https://api.github.com/users/R0GGER/repos","events_url":"https://api.github.com/users/R0GGER/events{/privacy}","received_events_url":"https://api.github.com/users/R0GGER/received_events","type":"User","user_view_type":"public","site_admin":false,"contributions":3},{"login":"arcoast","id":81871508,"node_id":"MDQ6VXNlcjgxODcxNTA4","avatar_url":"https://avatars.githubusercontent.com/u/81871508?v=4","gravatar_id":"","url":"https://api.github.com/users/arcoast","html_url":"https://github.com/arcoast","followers_url":"https://api.github.com/users/arcoast/followers","following_url":"https://api.github.com/users/arcoast/following{/other_user}","gists_url":"https://api.github.com/users/arcoast/gists{/gist_id}","starred_url":"https://api.github.com/users/arcoast/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arcoast/subscriptions","organizations_url":"https://api.github.com/users/arcoast/orgs","repos_url":"https://api.github.com/users/arcoast/repos","events_url":"https://api.github.com/users/arcoast/events{/privacy}","received_events_url":"https://api.github.com/users/arcoast/received_events","type":"User","user_view_type":"public","site_admin":false,"contributions":3},{"login":"coolvitto","id":160416811,"node_id":"U_kgDOCY_EKw","avatar_url":"https://avatars.githubusercontent.com/u/160416811?v=4","gravatar_id":"","url":"https://api.github.com/users/coolvitto","html_url":"https://github.com/coolvitto","followers_url":"https://api.github.com/users/coolvitto/followers","following_url":"https://api.github.com/users/coolvitto/following{/other_user}","gists_url":"https://api.github.com/users/coolvitto/gists{/gist_id}","starred_url":"https://api.github.com/users/coolvitto/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/coolvitto/subscriptions","organizations_url":"https://api.github.com/users/coolvitto/orgs","repos_url":"https://api.github.com/users/coolvitto/repos","events_url":"https://api.github.com/users/coolvitto/events{/privacy}","received_events_url":"https://api.github.com/users/coolvitto/received_events","type":"User","user_view_type":"public","site_admin":false,"contributions":3},{"login":"maboroshin","id":41102508,"node_id":"MDQ6VXNlcjQxMTAyNTA4","avatar_url":"https://avatars.githubusercontent.com/u/41102508?v=4","gravatar_id":"","url":"https://api.github.com/users/maboroshin","html_url":"https://github.com/maboroshin","followers_url":"https://api.github.com/users/maboroshin/followers","following_url":"https://api.github.com/users/maboroshin/following{/other_user}","gists_url":"https://api.github.com/users/maboroshin/gists{/gist_id}","starred_url":"https://api.github.com/users/maboroshin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/maboroshin/subscriptions","organizations_url":"https://api.github.com/users/maboroshin/orgs","repos_url":"https://api.github.com/users/maboroshin/repos","events_url":"https://api.github.com/users/maboroshin/events{/privacy}","received_events_url":"https://api.github.com/users/maboroshin/received_events","type":"User","user_view_type":"public","site_admin":false,"contributions":3},{"login":"pinembour","id":15938873,"node_id":"MDQ6VXNlcjE1OTM4ODcz","avatar_url":"https://avatars.githubusercontent.com/u/15938873?v=4","gravatar_id":"","url":"https://api.github.com/users/pinembour","html_url":"https://github.com/pinembour","followers_url":"https://api.github.com/users/pinembour/followers","following_url":"https://api.github.com/users/pinembour/following{/other_user}","gists_url":"https://api.github.com/users/pinembour/gists{/gist_id}","starred_url":"https://api.github.com/users/pinembour/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pinembour/subscriptions","organizations_url":"https://api.github.com/users/pinembour/orgs","repos_url":"https://api.github.com/users/pinembour/repos","events_url":"https://api.github.com/users/pinembour/events{/privacy}","received_events_url":"https://api.github.com/users/pinembour/received_events","type":"User","user_view_type":"public","site_admin":false,"contributions":2},{"login":"lamarios","id":1192563,"node_id":"MDQ6VXNlcjExOTI1NjM=","avatar_url":"https://avatars.githubusercontent.com/u/1192563?v=4","gravatar_id":"","url":"https://api.github.com/users/lamarios","html_url":"https://github.com/lamarios","followers_url":"https://api.github.com/users/lamarios/followers","following_url":"https://api.github.com/users/lamarios/following{/other_user}","gists_url":"https://api.github.com/users/lamarios/gists{/gist_id}","starred_url":"https://api.github.com/users/lamarios/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lamarios/subscriptions","organizations_url":"https://api.github.com/users/lamarios/orgs","repos_url":"https://api.github.com/users/lamarios/repos","events_url":"https://api.github.com/users/lamarios/events{/privacy}","received_events_url":"https://api.github.com/users/lamarios/received_events","type":"User","user_view_type":"public","site_admin":false,"contributions":2},{"login":"bonswouar","id":615053,"node_id":"MDQ6VXNlcjYxNTA1Mw==","avatar_url":"https://avatars.githubusercontent.com/u/615053?v=4","gravatar_id":"","url":"https://api.github.com/users/bonswouar","html_url":"https://github.com/bonswouar","followers_url":"https://api.github.com/users/bonswouar/followers","following_url":"https://api.github.com/users/bonswouar/following{/other_user}","gists_url":"https://api.github.com/users/bonswouar/gists{/gist_id}","starred_url":"https://api.github.com/users/bonswouar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bonswouar/subscriptions","organizations_url":"https://api.github.com/users/bonswouar/orgs","repos_url":"https://api.github.com/users/bonswouar/repos","events_url":"https://api.github.com/users/bonswouar/events{/privacy}","received_events_url":"https://api.github.com/users/bonswouar/received_events","type":"User","user_view_type":"public","site_admin":false,"contributions":2},{"login":"Makhuta","id":23267923,"node_id":"MDQ6VXNlcjIzMjY3OTIz","avatar_url":"https://avatars.githubusercontent.com/u/23267923?v=4","gravatar_id":"","url":"https://api.github.com/users/Makhuta","html_url":"https://github.com/Makhuta","followers_url":"https://api.github.com/users/Makhuta/followers","following_url":"https://api.github.com/users/Makhuta/following{/other_user}","gists_url":"https://api.github.com/users/Makhuta/gists{/gist_id}","starred_url":"https://api.github.com/users/Makhuta/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Makhuta/subscriptions","organizations_url":"https://api.github.com/users/Makhuta/orgs","repos_url":"https://api.github.com/users/Makhuta/repos","events_url":"https://api.github.com/users/Makhuta/events{/privacy}","received_events_url":"https://api.github.com/users/Makhuta/received_events","type":"User","user_view_type":"public","site_admin":false,"contributions":2},{"login":"Midou36O","id":45198486,"node_id":"MDQ6VXNlcjQ1MTk4NDg2","avatar_url":"https://avatars.githubusercontent.com/u/45198486?v=4","gravatar_id":"","url":"https://api.github.com/users/Midou36O","html_url":"https://github.com/Midou36O","followers_url":"https://api.github.com/users/Midou36O/followers","following_url":"https://api.github.com/users/Midou36O/following{/other_user}","gists_url":"https://api.github.com/users/Midou36O/gists{/gist_id}","starred_url":"https://api.github.com/users/Midou36O/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Midou36O/subscriptions","organizations_url":"https://api.github.com/users/Midou36O/orgs","repos_url":"https://api.github.com/users/Midou36O/repos","events_url":"https://api.github.com/users/Midou36O/events{/privacy}","received_events_url":"https://api.github.com/users/Midou36O/received_events","type":"User","user_view_type":"public","site_admin":false,"contributions":2},{"login":"Vladik01-11","id":70571714,"node_id":"MDQ6VXNlcjcwNTcxNzE0","avatar_url":"https://avatars.githubusercontent.com/u/70571714?v=4","gravatar_id":"","url":"https://api.github.com/users/Vladik01-11","html_url":"https://github.com/Vladik01-11","followers_url":"https://api.github.com/users/Vladik01-11/followers","following_url":"https://api.github.com/users/Vladik01-11/following{/other_user}","gists_url":"https://api.github.com/users/Vladik01-11/gists{/gist_id}","starred_url":"https://api.github.com/users/Vladik01-11/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Vladik01-11/subscriptions","organizations_url":"https://api.github.com/users/Vladik01-11/orgs","repos_url":"https://api.github.com/users/Vladik01-11/repos","events_url":"https://api.github.com/users/Vladik01-11/events{/privacy}","received_events_url":"https://api.github.com/users/Vladik01-11/received_events","type":"User","user_view_type":"public","site_admin":false,"contributions":2},{"login":"yurtpage","id":155876573,"node_id":"U_kgDOCUp83Q","avatar_url":"https://avatars.githubusercontent.com/u/155876573?v=4","gravatar_id":"","url":"https://api.github.com/users/yurtpage","html_url":"https://github.com/yurtpage","followers_url":"https://api.github.com/users/yurtpage/followers","following_url":"https://api.github.com/users/yurtpage/following{/other_user}","gists_url":"https://api.github.com/users/yurtpage/gists{/gist_id}","starred_url":"https://api.github.com/users/yurtpage/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yurtpage/subscriptions","organizations_url":"https://api.github.com/users/yurtpage/orgs","repos_url":"https://api.github.com/users/yurtpage/repos","events_url":"https://api.github.com/users/yurtpage/events{/privacy}","received_events_url":"https://api.github.com/users/yurtpage/received_events","type":"User","user_view_type":"public","site_admin":false,"contributions":2},{"login":"HappyHippo77","id":30226559,"node_id":"MDQ6VXNlcjMwMjI2NTU5","avatar_url":"https://avatars.githubusercontent.com/u/30226559?v=4","gravatar_id":"","url":"https://api.github.com/users/HappyHippo77","html_url":"https://github.com/HappyHippo77","followers_url":"https://api.github.com/users/HappyHippo77/followers","following_url":"https://api.github.com/users/HappyHippo77/following{/other_user}","gists_url":"https://api.github.com/users/HappyHippo77/gists{/gist_id}","starred_url":"https://api.github.com/users/HappyHippo77/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/HappyHippo77/subscriptions","organizations_url":"https://api.github.com/users/HappyHippo77/orgs","repos_url":"https://api.github.com/users/HappyHippo77/repos","events_url":"https://api.github.com/users/HappyHippo77/events{/privacy}","received_events_url":"https://api.github.com/users/HappyHippo77/received_events","type":"User","user_view_type":"public","site_admin":false,"contributions":1},{"login":"IzzySoft","id":6781438,"node_id":"MDQ6VXNlcjY3ODE0Mzg=","avatar_url":"https://avatars.githubusercontent.com/u/6781438?v=4","gravatar_id":"","url":"https://api.github.com/users/IzzySoft","html_url":"https://github.com/IzzySoft","followers_url":"https://api.github.com/users/IzzySoft/followers","following_url":"https://api.github.com/users/IzzySoft/following{/other_user}","gists_url":"https://api.github.com/users/IzzySoft/gists{/gist_id}","starred_url":"https://api.github.com/users/IzzySoft/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/IzzySoft/subscriptions","organizations_url":"https://api.github.com/users/IzzySoft/orgs","repos_url":"https://api.github.com/users/IzzySoft/repos","events_url":"https://api.github.com/users/IzzySoft/events{/privacy}","received_events_url":"https://api.github.com/users/IzzySoft/received_events","type":"User","user_view_type":"public","site_admin":false,"contributions":1},{"login":"JamsRepos","id":1347620,"node_id":"MDQ6VXNlcjEzNDc2MjA=","avatar_url":"https://avatars.githubusercontent.com/u/1347620?v=4","gravatar_id":"","url":"https://api.github.com/users/JamsRepos","html_url":"https://github.com/JamsRepos","followers_url":"https://api.github.com/users/JamsRepos/followers","following_url":"https://api.github.com/users/JamsRepos/following{/other_user}","gists_url":"https://api.github.com/users/JamsRepos/gists{/gist_id}","starred_url":"https://api.github.com/users/JamsRepos/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JamsRepos/subscriptions","organizations_url":"https://api.github.com/users/JamsRepos/orgs","repos_url":"https://api.github.com/users/JamsRepos/repos","events_url":"https://api.github.com/users/JamsRepos/events{/privacy}","received_events_url":"https://api.github.com/users/JamsRepos/received_events","type":"User","user_view_type":"public","site_admin":false,"contributions":1},{"login":"koelle25","id":915514,"node_id":"MDQ6VXNlcjkxNTUxNA==","avatar_url":"https://avatars.githubusercontent.com/u/915514?v=4","gravatar_id":"","url":"https://api.github.com/users/koelle25","html_url":"https://github.com/koelle25","followers_url":"https://api.github.com/users/koelle25/followers","following_url":"https://api.github.com/users/koelle25/following{/other_user}","gists_url":"https://api.github.com/users/koelle25/gists{/gist_id}","starred_url":"https://api.github.com/users/koelle25/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/koelle25/subscriptions","organizations_url":"https://api.github.com/users/koelle25/orgs","repos_url":"https://api.github.com/users/koelle25/repos","events_url":"https://api.github.com/users/koelle25/events{/privacy}","received_events_url":"https://api.github.com/users/koelle25/received_events","type":"User","user_view_type":"public","site_admin":false,"contributions":1},{"login":"patrickkempff","id":310766,"node_id":"MDQ6VXNlcjMxMDc2Ng==","avatar_url":"https://avatars.githubusercontent.com/u/310766?v=4","gravatar_id":"","url":"https://api.github.com/users/patrickkempff","html_url":"https://github.com/patrickkempff","followers_url":"https://api.github.com/users/patrickkempff/followers","following_url":"https://api.github.com/users/patrickkempff/following{/other_user}","gists_url":"https://api.github.com/users/patrickkempff/gists{/gist_id}","starred_url":"https://api.github.com/users/patrickkempff/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/patrickkempff/subscriptions","organizations_url":"https://api.github.com/users/patrickkempff/orgs","repos_url":"https://api.github.com/users/patrickkempff/repos","events_url":"https://api.github.com/users/patrickkempff/events{/privacy}","received_events_url":"https://api.github.com/users/patrickkempff/received_events","type":"User","user_view_type":"public","site_admin":false,"contributions":1},{"login":"Spaenny","id":5008508,"node_id":"MDQ6VXNlcjUwMDg1MDg=","avatar_url":"https://avatars.githubusercontent.com/u/5008508?v=4","gravatar_id":"","url":"https://api.github.com/users/Spaenny","html_url":"https://github.com/Spaenny","followers_url":"https://api.github.com/users/Spaenny/followers","following_url":"https://api.github.com/users/Spaenny/following{/other_user}","gists_url":"https://api.github.com/users/Spaenny/gists{/gist_id}","starred_url":"https://api.github.com/users/Spaenny/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Spaenny/subscriptions","organizations_url":"https://api.github.com/users/Spaenny/orgs","repos_url":"https://api.github.com/users/Spaenny/repos","events_url":"https://api.github.com/users/Spaenny/events{/privacy}","received_events_url":"https://api.github.com/users/Spaenny/received_events","type":"User","user_view_type":"public","site_admin":false,"contributions":1},{"login":"Poussinou","id":19646549,"node_id":"MDQ6VXNlcjE5NjQ2NTQ5","avatar_url":"https://avatars.githubusercontent.com/u/19646549?v=4","gravatar_id":"","url":"https://api.github.com/users/Poussinou","html_url":"https://github.com/Poussinou","followers_url":"https://api.github.com/users/Poussinou/followers","following_url":"https://api.github.com/users/Poussinou/following{/other_user}","gists_url":"https://api.github.com/users/Poussinou/gists{/gist_id}","starred_url":"https://api.github.com/users/Poussinou/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Poussinou/subscriptions","organizations_url":"https://api.github.com/users/Poussinou/orgs","repos_url":"https://api.github.com/users/Poussinou/repos","events_url":"https://api.github.com/users/Poussinou/events{/privacy}","received_events_url":"https://api.github.com/users/Poussinou/received_events","type":"User","user_view_type":"public","site_admin":false,"contributions":1}] \ No newline at end of file +[{"login":"WardPearce","id":27844174,"node_id":"MDQ6VXNlcjI3ODQ0MTc0","avatar_url":"https://avatars.githubusercontent.com/u/27844174?v=4","gravatar_id":"","url":"https://api.github.com/users/WardPearce","html_url":"https://github.com/WardPearce","followers_url":"https://api.github.com/users/WardPearce/followers","following_url":"https://api.github.com/users/WardPearce/following{/other_user}","gists_url":"https://api.github.com/users/WardPearce/gists{/gist_id}","starred_url":"https://api.github.com/users/WardPearce/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/WardPearce/subscriptions","organizations_url":"https://api.github.com/users/WardPearce/orgs","repos_url":"https://api.github.com/users/WardPearce/repos","events_url":"https://api.github.com/users/WardPearce/events{/privacy}","received_events_url":"https://api.github.com/users/WardPearce/received_events","type":"User","user_view_type":"public","site_admin":false,"contributions":2331},{"login":"dependabot[bot]","id":49699333,"node_id":"MDM6Qm90NDk2OTkzMzM=","avatar_url":"https://avatars.githubusercontent.com/in/29110?v=4","gravatar_id":"","url":"https://api.github.com/users/dependabot%5Bbot%5D","html_url":"https://github.com/apps/dependabot","followers_url":"https://api.github.com/users/dependabot%5Bbot%5D/followers","following_url":"https://api.github.com/users/dependabot%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/dependabot%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/dependabot%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dependabot%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/dependabot%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/dependabot%5Bbot%5D/repos","events_url":"https://api.github.com/users/dependabot%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/dependabot%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false,"contributions":241},{"login":"Lezurex","id":48829956,"node_id":"MDQ6VXNlcjQ4ODI5OTU2","avatar_url":"https://avatars.githubusercontent.com/u/48829956?v=4","gravatar_id":"","url":"https://api.github.com/users/Lezurex","html_url":"https://github.com/Lezurex","followers_url":"https://api.github.com/users/Lezurex/followers","following_url":"https://api.github.com/users/Lezurex/following{/other_user}","gists_url":"https://api.github.com/users/Lezurex/gists{/gist_id}","starred_url":"https://api.github.com/users/Lezurex/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Lezurex/subscriptions","organizations_url":"https://api.github.com/users/Lezurex/orgs","repos_url":"https://api.github.com/users/Lezurex/repos","events_url":"https://api.github.com/users/Lezurex/events{/privacy}","received_events_url":"https://api.github.com/users/Lezurex/received_events","type":"User","user_view_type":"public","site_admin":false,"contributions":44},{"login":"ghostofsparta222","id":251893418,"node_id":"U_kgDODwOWqg","avatar_url":"https://avatars.githubusercontent.com/u/251893418?v=4","gravatar_id":"","url":"https://api.github.com/users/ghostofsparta222","html_url":"https://github.com/ghostofsparta222","followers_url":"https://api.github.com/users/ghostofsparta222/followers","following_url":"https://api.github.com/users/ghostofsparta222/following{/other_user}","gists_url":"https://api.github.com/users/ghostofsparta222/gists{/gist_id}","starred_url":"https://api.github.com/users/ghostofsparta222/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ghostofsparta222/subscriptions","organizations_url":"https://api.github.com/users/ghostofsparta222/orgs","repos_url":"https://api.github.com/users/ghostofsparta222/repos","events_url":"https://api.github.com/users/ghostofsparta222/events{/privacy}","received_events_url":"https://api.github.com/users/ghostofsparta222/received_events","type":"User","user_view_type":"public","site_admin":false,"contributions":15},{"login":"Coool","id":8421903,"node_id":"MDQ6VXNlcjg0MjE5MDM=","avatar_url":"https://avatars.githubusercontent.com/u/8421903?v=4","gravatar_id":"","url":"https://api.github.com/users/Coool","html_url":"https://github.com/Coool","followers_url":"https://api.github.com/users/Coool/followers","following_url":"https://api.github.com/users/Coool/following{/other_user}","gists_url":"https://api.github.com/users/Coool/gists{/gist_id}","starred_url":"https://api.github.com/users/Coool/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Coool/subscriptions","organizations_url":"https://api.github.com/users/Coool/orgs","repos_url":"https://api.github.com/users/Coool/repos","events_url":"https://api.github.com/users/Coool/events{/privacy}","received_events_url":"https://api.github.com/users/Coool/received_events","type":"User","user_view_type":"public","site_admin":false,"contributions":15},{"login":"araujosemacento","id":60983392,"node_id":"MDQ6VXNlcjYwOTgzMzky","avatar_url":"https://avatars.githubusercontent.com/u/60983392?v=4","gravatar_id":"","url":"https://api.github.com/users/araujosemacento","html_url":"https://github.com/araujosemacento","followers_url":"https://api.github.com/users/araujosemacento/followers","following_url":"https://api.github.com/users/araujosemacento/following{/other_user}","gists_url":"https://api.github.com/users/araujosemacento/gists{/gist_id}","starred_url":"https://api.github.com/users/araujosemacento/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/araujosemacento/subscriptions","organizations_url":"https://api.github.com/users/araujosemacento/orgs","repos_url":"https://api.github.com/users/araujosemacento/repos","events_url":"https://api.github.com/users/araujosemacento/events{/privacy}","received_events_url":"https://api.github.com/users/araujosemacento/received_events","type":"User","user_view_type":"public","site_admin":false,"contributions":14},{"login":"toolatebot","id":169580663,"node_id":"U_kgDOChuYdw","avatar_url":"https://avatars.githubusercontent.com/u/169580663?v=4","gravatar_id":"","url":"https://api.github.com/users/toolatebot","html_url":"https://github.com/toolatebot","followers_url":"https://api.github.com/users/toolatebot/followers","following_url":"https://api.github.com/users/toolatebot/following{/other_user}","gists_url":"https://api.github.com/users/toolatebot/gists{/gist_id}","starred_url":"https://api.github.com/users/toolatebot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/toolatebot/subscriptions","organizations_url":"https://api.github.com/users/toolatebot/orgs","repos_url":"https://api.github.com/users/toolatebot/repos","events_url":"https://api.github.com/users/toolatebot/events{/privacy}","received_events_url":"https://api.github.com/users/toolatebot/received_events","type":"User","user_view_type":"public","site_admin":false,"contributions":9},{"login":"Precific","id":30053082,"node_id":"MDQ6VXNlcjMwMDUzMDgy","avatar_url":"https://avatars.githubusercontent.com/u/30053082?v=4","gravatar_id":"","url":"https://api.github.com/users/Precific","html_url":"https://github.com/Precific","followers_url":"https://api.github.com/users/Precific/followers","following_url":"https://api.github.com/users/Precific/following{/other_user}","gists_url":"https://api.github.com/users/Precific/gists{/gist_id}","starred_url":"https://api.github.com/users/Precific/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Precific/subscriptions","organizations_url":"https://api.github.com/users/Precific/orgs","repos_url":"https://api.github.com/users/Precific/repos","events_url":"https://api.github.com/users/Precific/events{/privacy}","received_events_url":"https://api.github.com/users/Precific/received_events","type":"User","user_view_type":"public","site_admin":false,"contributions":9},{"login":"yzqzss","id":30341059,"node_id":"MDQ6VXNlcjMwMzQxMDU5","avatar_url":"https://avatars.githubusercontent.com/u/30341059?v=4","gravatar_id":"","url":"https://api.github.com/users/yzqzss","html_url":"https://github.com/yzqzss","followers_url":"https://api.github.com/users/yzqzss/followers","following_url":"https://api.github.com/users/yzqzss/following{/other_user}","gists_url":"https://api.github.com/users/yzqzss/gists{/gist_id}","starred_url":"https://api.github.com/users/yzqzss/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yzqzss/subscriptions","organizations_url":"https://api.github.com/users/yzqzss/orgs","repos_url":"https://api.github.com/users/yzqzss/repos","events_url":"https://api.github.com/users/yzqzss/events{/privacy}","received_events_url":"https://api.github.com/users/yzqzss/received_events","type":"User","user_view_type":"public","site_admin":false,"contributions":4},{"login":"thejenja","id":65224669,"node_id":"MDQ6VXNlcjY1MjI0NjY5","avatar_url":"https://avatars.githubusercontent.com/u/65224669?v=4","gravatar_id":"","url":"https://api.github.com/users/thejenja","html_url":"https://github.com/thejenja","followers_url":"https://api.github.com/users/thejenja/followers","following_url":"https://api.github.com/users/thejenja/following{/other_user}","gists_url":"https://api.github.com/users/thejenja/gists{/gist_id}","starred_url":"https://api.github.com/users/thejenja/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thejenja/subscriptions","organizations_url":"https://api.github.com/users/thejenja/orgs","repos_url":"https://api.github.com/users/thejenja/repos","events_url":"https://api.github.com/users/thejenja/events{/privacy}","received_events_url":"https://api.github.com/users/thejenja/received_events","type":"User","user_view_type":"public","site_admin":false,"contributions":4},{"login":"cookiennn","id":114363954,"node_id":"U_kgDOBtEOMg","avatar_url":"https://avatars.githubusercontent.com/u/114363954?v=4","gravatar_id":"","url":"https://api.github.com/users/cookiennn","html_url":"https://github.com/cookiennn","followers_url":"https://api.github.com/users/cookiennn/followers","following_url":"https://api.github.com/users/cookiennn/following{/other_user}","gists_url":"https://api.github.com/users/cookiennn/gists{/gist_id}","starred_url":"https://api.github.com/users/cookiennn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cookiennn/subscriptions","organizations_url":"https://api.github.com/users/cookiennn/orgs","repos_url":"https://api.github.com/users/cookiennn/repos","events_url":"https://api.github.com/users/cookiennn/events{/privacy}","received_events_url":"https://api.github.com/users/cookiennn/received_events","type":"User","user_view_type":"public","site_admin":false,"contributions":4},{"login":"SecularSteve","id":33793273,"node_id":"MDQ6VXNlcjMzNzkzMjcz","avatar_url":"https://avatars.githubusercontent.com/u/33793273?v=4","gravatar_id":"","url":"https://api.github.com/users/SecularSteve","html_url":"https://github.com/SecularSteve","followers_url":"https://api.github.com/users/SecularSteve/followers","following_url":"https://api.github.com/users/SecularSteve/following{/other_user}","gists_url":"https://api.github.com/users/SecularSteve/gists{/gist_id}","starred_url":"https://api.github.com/users/SecularSteve/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SecularSteve/subscriptions","organizations_url":"https://api.github.com/users/SecularSteve/orgs","repos_url":"https://api.github.com/users/SecularSteve/repos","events_url":"https://api.github.com/users/SecularSteve/events{/privacy}","received_events_url":"https://api.github.com/users/SecularSteve/received_events","type":"User","user_view_type":"public","site_admin":false,"contributions":4},{"login":"R0GGER","id":8298741,"node_id":"MDQ6VXNlcjgyOTg3NDE=","avatar_url":"https://avatars.githubusercontent.com/u/8298741?v=4","gravatar_id":"","url":"https://api.github.com/users/R0GGER","html_url":"https://github.com/R0GGER","followers_url":"https://api.github.com/users/R0GGER/followers","following_url":"https://api.github.com/users/R0GGER/following{/other_user}","gists_url":"https://api.github.com/users/R0GGER/gists{/gist_id}","starred_url":"https://api.github.com/users/R0GGER/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/R0GGER/subscriptions","organizations_url":"https://api.github.com/users/R0GGER/orgs","repos_url":"https://api.github.com/users/R0GGER/repos","events_url":"https://api.github.com/users/R0GGER/events{/privacy}","received_events_url":"https://api.github.com/users/R0GGER/received_events","type":"User","user_view_type":"public","site_admin":false,"contributions":3},{"login":"arcoast","id":81871508,"node_id":"MDQ6VXNlcjgxODcxNTA4","avatar_url":"https://avatars.githubusercontent.com/u/81871508?v=4","gravatar_id":"","url":"https://api.github.com/users/arcoast","html_url":"https://github.com/arcoast","followers_url":"https://api.github.com/users/arcoast/followers","following_url":"https://api.github.com/users/arcoast/following{/other_user}","gists_url":"https://api.github.com/users/arcoast/gists{/gist_id}","starred_url":"https://api.github.com/users/arcoast/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arcoast/subscriptions","organizations_url":"https://api.github.com/users/arcoast/orgs","repos_url":"https://api.github.com/users/arcoast/repos","events_url":"https://api.github.com/users/arcoast/events{/privacy}","received_events_url":"https://api.github.com/users/arcoast/received_events","type":"User","user_view_type":"public","site_admin":false,"contributions":3},{"login":"coolvitto","id":160416811,"node_id":"U_kgDOCY_EKw","avatar_url":"https://avatars.githubusercontent.com/u/160416811?v=4","gravatar_id":"","url":"https://api.github.com/users/coolvitto","html_url":"https://github.com/coolvitto","followers_url":"https://api.github.com/users/coolvitto/followers","following_url":"https://api.github.com/users/coolvitto/following{/other_user}","gists_url":"https://api.github.com/users/coolvitto/gists{/gist_id}","starred_url":"https://api.github.com/users/coolvitto/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/coolvitto/subscriptions","organizations_url":"https://api.github.com/users/coolvitto/orgs","repos_url":"https://api.github.com/users/coolvitto/repos","events_url":"https://api.github.com/users/coolvitto/events{/privacy}","received_events_url":"https://api.github.com/users/coolvitto/received_events","type":"User","user_view_type":"public","site_admin":false,"contributions":3},{"login":"maboroshin","id":41102508,"node_id":"MDQ6VXNlcjQxMTAyNTA4","avatar_url":"https://avatars.githubusercontent.com/u/41102508?v=4","gravatar_id":"","url":"https://api.github.com/users/maboroshin","html_url":"https://github.com/maboroshin","followers_url":"https://api.github.com/users/maboroshin/followers","following_url":"https://api.github.com/users/maboroshin/following{/other_user}","gists_url":"https://api.github.com/users/maboroshin/gists{/gist_id}","starred_url":"https://api.github.com/users/maboroshin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/maboroshin/subscriptions","organizations_url":"https://api.github.com/users/maboroshin/orgs","repos_url":"https://api.github.com/users/maboroshin/repos","events_url":"https://api.github.com/users/maboroshin/events{/privacy}","received_events_url":"https://api.github.com/users/maboroshin/received_events","type":"User","user_view_type":"public","site_admin":false,"contributions":3},{"login":"pinembour","id":15938873,"node_id":"MDQ6VXNlcjE1OTM4ODcz","avatar_url":"https://avatars.githubusercontent.com/u/15938873?v=4","gravatar_id":"","url":"https://api.github.com/users/pinembour","html_url":"https://github.com/pinembour","followers_url":"https://api.github.com/users/pinembour/followers","following_url":"https://api.github.com/users/pinembour/following{/other_user}","gists_url":"https://api.github.com/users/pinembour/gists{/gist_id}","starred_url":"https://api.github.com/users/pinembour/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pinembour/subscriptions","organizations_url":"https://api.github.com/users/pinembour/orgs","repos_url":"https://api.github.com/users/pinembour/repos","events_url":"https://api.github.com/users/pinembour/events{/privacy}","received_events_url":"https://api.github.com/users/pinembour/received_events","type":"User","user_view_type":"public","site_admin":false,"contributions":2},{"login":"lamarios","id":1192563,"node_id":"MDQ6VXNlcjExOTI1NjM=","avatar_url":"https://avatars.githubusercontent.com/u/1192563?v=4","gravatar_id":"","url":"https://api.github.com/users/lamarios","html_url":"https://github.com/lamarios","followers_url":"https://api.github.com/users/lamarios/followers","following_url":"https://api.github.com/users/lamarios/following{/other_user}","gists_url":"https://api.github.com/users/lamarios/gists{/gist_id}","starred_url":"https://api.github.com/users/lamarios/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lamarios/subscriptions","organizations_url":"https://api.github.com/users/lamarios/orgs","repos_url":"https://api.github.com/users/lamarios/repos","events_url":"https://api.github.com/users/lamarios/events{/privacy}","received_events_url":"https://api.github.com/users/lamarios/received_events","type":"User","user_view_type":"public","site_admin":false,"contributions":2},{"login":"bonswouar","id":615053,"node_id":"MDQ6VXNlcjYxNTA1Mw==","avatar_url":"https://avatars.githubusercontent.com/u/615053?v=4","gravatar_id":"","url":"https://api.github.com/users/bonswouar","html_url":"https://github.com/bonswouar","followers_url":"https://api.github.com/users/bonswouar/followers","following_url":"https://api.github.com/users/bonswouar/following{/other_user}","gists_url":"https://api.github.com/users/bonswouar/gists{/gist_id}","starred_url":"https://api.github.com/users/bonswouar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bonswouar/subscriptions","organizations_url":"https://api.github.com/users/bonswouar/orgs","repos_url":"https://api.github.com/users/bonswouar/repos","events_url":"https://api.github.com/users/bonswouar/events{/privacy}","received_events_url":"https://api.github.com/users/bonswouar/received_events","type":"User","user_view_type":"public","site_admin":false,"contributions":2},{"login":"Makhuta","id":23267923,"node_id":"MDQ6VXNlcjIzMjY3OTIz","avatar_url":"https://avatars.githubusercontent.com/u/23267923?v=4","gravatar_id":"","url":"https://api.github.com/users/Makhuta","html_url":"https://github.com/Makhuta","followers_url":"https://api.github.com/users/Makhuta/followers","following_url":"https://api.github.com/users/Makhuta/following{/other_user}","gists_url":"https://api.github.com/users/Makhuta/gists{/gist_id}","starred_url":"https://api.github.com/users/Makhuta/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Makhuta/subscriptions","organizations_url":"https://api.github.com/users/Makhuta/orgs","repos_url":"https://api.github.com/users/Makhuta/repos","events_url":"https://api.github.com/users/Makhuta/events{/privacy}","received_events_url":"https://api.github.com/users/Makhuta/received_events","type":"User","user_view_type":"public","site_admin":false,"contributions":2},{"login":"Midou36O","id":45198486,"node_id":"MDQ6VXNlcjQ1MTk4NDg2","avatar_url":"https://avatars.githubusercontent.com/u/45198486?v=4","gravatar_id":"","url":"https://api.github.com/users/Midou36O","html_url":"https://github.com/Midou36O","followers_url":"https://api.github.com/users/Midou36O/followers","following_url":"https://api.github.com/users/Midou36O/following{/other_user}","gists_url":"https://api.github.com/users/Midou36O/gists{/gist_id}","starred_url":"https://api.github.com/users/Midou36O/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Midou36O/subscriptions","organizations_url":"https://api.github.com/users/Midou36O/orgs","repos_url":"https://api.github.com/users/Midou36O/repos","events_url":"https://api.github.com/users/Midou36O/events{/privacy}","received_events_url":"https://api.github.com/users/Midou36O/received_events","type":"User","user_view_type":"public","site_admin":false,"contributions":2},{"login":"Vladik01-11","id":70571714,"node_id":"MDQ6VXNlcjcwNTcxNzE0","avatar_url":"https://avatars.githubusercontent.com/u/70571714?v=4","gravatar_id":"","url":"https://api.github.com/users/Vladik01-11","html_url":"https://github.com/Vladik01-11","followers_url":"https://api.github.com/users/Vladik01-11/followers","following_url":"https://api.github.com/users/Vladik01-11/following{/other_user}","gists_url":"https://api.github.com/users/Vladik01-11/gists{/gist_id}","starred_url":"https://api.github.com/users/Vladik01-11/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Vladik01-11/subscriptions","organizations_url":"https://api.github.com/users/Vladik01-11/orgs","repos_url":"https://api.github.com/users/Vladik01-11/repos","events_url":"https://api.github.com/users/Vladik01-11/events{/privacy}","received_events_url":"https://api.github.com/users/Vladik01-11/received_events","type":"User","user_view_type":"public","site_admin":false,"contributions":2},{"login":"yurtpage","id":155876573,"node_id":"U_kgDOCUp83Q","avatar_url":"https://avatars.githubusercontent.com/u/155876573?v=4","gravatar_id":"","url":"https://api.github.com/users/yurtpage","html_url":"https://github.com/yurtpage","followers_url":"https://api.github.com/users/yurtpage/followers","following_url":"https://api.github.com/users/yurtpage/following{/other_user}","gists_url":"https://api.github.com/users/yurtpage/gists{/gist_id}","starred_url":"https://api.github.com/users/yurtpage/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yurtpage/subscriptions","organizations_url":"https://api.github.com/users/yurtpage/orgs","repos_url":"https://api.github.com/users/yurtpage/repos","events_url":"https://api.github.com/users/yurtpage/events{/privacy}","received_events_url":"https://api.github.com/users/yurtpage/received_events","type":"User","user_view_type":"public","site_admin":false,"contributions":2},{"login":"HappyHippo77","id":30226559,"node_id":"MDQ6VXNlcjMwMjI2NTU5","avatar_url":"https://avatars.githubusercontent.com/u/30226559?v=4","gravatar_id":"","url":"https://api.github.com/users/HappyHippo77","html_url":"https://github.com/HappyHippo77","followers_url":"https://api.github.com/users/HappyHippo77/followers","following_url":"https://api.github.com/users/HappyHippo77/following{/other_user}","gists_url":"https://api.github.com/users/HappyHippo77/gists{/gist_id}","starred_url":"https://api.github.com/users/HappyHippo77/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/HappyHippo77/subscriptions","organizations_url":"https://api.github.com/users/HappyHippo77/orgs","repos_url":"https://api.github.com/users/HappyHippo77/repos","events_url":"https://api.github.com/users/HappyHippo77/events{/privacy}","received_events_url":"https://api.github.com/users/HappyHippo77/received_events","type":"User","user_view_type":"public","site_admin":false,"contributions":1},{"login":"IzzySoft","id":6781438,"node_id":"MDQ6VXNlcjY3ODE0Mzg=","avatar_url":"https://avatars.githubusercontent.com/u/6781438?v=4","gravatar_id":"","url":"https://api.github.com/users/IzzySoft","html_url":"https://github.com/IzzySoft","followers_url":"https://api.github.com/users/IzzySoft/followers","following_url":"https://api.github.com/users/IzzySoft/following{/other_user}","gists_url":"https://api.github.com/users/IzzySoft/gists{/gist_id}","starred_url":"https://api.github.com/users/IzzySoft/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/IzzySoft/subscriptions","organizations_url":"https://api.github.com/users/IzzySoft/orgs","repos_url":"https://api.github.com/users/IzzySoft/repos","events_url":"https://api.github.com/users/IzzySoft/events{/privacy}","received_events_url":"https://api.github.com/users/IzzySoft/received_events","type":"User","user_view_type":"public","site_admin":false,"contributions":1},{"login":"JamsRepos","id":1347620,"node_id":"MDQ6VXNlcjEzNDc2MjA=","avatar_url":"https://avatars.githubusercontent.com/u/1347620?v=4","gravatar_id":"","url":"https://api.github.com/users/JamsRepos","html_url":"https://github.com/JamsRepos","followers_url":"https://api.github.com/users/JamsRepos/followers","following_url":"https://api.github.com/users/JamsRepos/following{/other_user}","gists_url":"https://api.github.com/users/JamsRepos/gists{/gist_id}","starred_url":"https://api.github.com/users/JamsRepos/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JamsRepos/subscriptions","organizations_url":"https://api.github.com/users/JamsRepos/orgs","repos_url":"https://api.github.com/users/JamsRepos/repos","events_url":"https://api.github.com/users/JamsRepos/events{/privacy}","received_events_url":"https://api.github.com/users/JamsRepos/received_events","type":"User","user_view_type":"public","site_admin":false,"contributions":1},{"login":"koelle25","id":915514,"node_id":"MDQ6VXNlcjkxNTUxNA==","avatar_url":"https://avatars.githubusercontent.com/u/915514?v=4","gravatar_id":"","url":"https://api.github.com/users/koelle25","html_url":"https://github.com/koelle25","followers_url":"https://api.github.com/users/koelle25/followers","following_url":"https://api.github.com/users/koelle25/following{/other_user}","gists_url":"https://api.github.com/users/koelle25/gists{/gist_id}","starred_url":"https://api.github.com/users/koelle25/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/koelle25/subscriptions","organizations_url":"https://api.github.com/users/koelle25/orgs","repos_url":"https://api.github.com/users/koelle25/repos","events_url":"https://api.github.com/users/koelle25/events{/privacy}","received_events_url":"https://api.github.com/users/koelle25/received_events","type":"User","user_view_type":"public","site_admin":false,"contributions":1},{"login":"patrickkempff","id":310766,"node_id":"MDQ6VXNlcjMxMDc2Ng==","avatar_url":"https://avatars.githubusercontent.com/u/310766?v=4","gravatar_id":"","url":"https://api.github.com/users/patrickkempff","html_url":"https://github.com/patrickkempff","followers_url":"https://api.github.com/users/patrickkempff/followers","following_url":"https://api.github.com/users/patrickkempff/following{/other_user}","gists_url":"https://api.github.com/users/patrickkempff/gists{/gist_id}","starred_url":"https://api.github.com/users/patrickkempff/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/patrickkempff/subscriptions","organizations_url":"https://api.github.com/users/patrickkempff/orgs","repos_url":"https://api.github.com/users/patrickkempff/repos","events_url":"https://api.github.com/users/patrickkempff/events{/privacy}","received_events_url":"https://api.github.com/users/patrickkempff/received_events","type":"User","user_view_type":"public","site_admin":false,"contributions":1},{"login":"Spaenny","id":5008508,"node_id":"MDQ6VXNlcjUwMDg1MDg=","avatar_url":"https://avatars.githubusercontent.com/u/5008508?v=4","gravatar_id":"","url":"https://api.github.com/users/Spaenny","html_url":"https://github.com/Spaenny","followers_url":"https://api.github.com/users/Spaenny/followers","following_url":"https://api.github.com/users/Spaenny/following{/other_user}","gists_url":"https://api.github.com/users/Spaenny/gists{/gist_id}","starred_url":"https://api.github.com/users/Spaenny/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Spaenny/subscriptions","organizations_url":"https://api.github.com/users/Spaenny/orgs","repos_url":"https://api.github.com/users/Spaenny/repos","events_url":"https://api.github.com/users/Spaenny/events{/privacy}","received_events_url":"https://api.github.com/users/Spaenny/received_events","type":"User","user_view_type":"public","site_admin":false,"contributions":1},{"login":"Poussinou","id":19646549,"node_id":"MDQ6VXNlcjE5NjQ2NTQ5","avatar_url":"https://avatars.githubusercontent.com/u/19646549?v=4","gravatar_id":"","url":"https://api.github.com/users/Poussinou","html_url":"https://github.com/Poussinou","followers_url":"https://api.github.com/users/Poussinou/followers","following_url":"https://api.github.com/users/Poussinou/following{/other_user}","gists_url":"https://api.github.com/users/Poussinou/gists{/gist_id}","starred_url":"https://api.github.com/users/Poussinou/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Poussinou/subscriptions","organizations_url":"https://api.github.com/users/Poussinou/orgs","repos_url":"https://api.github.com/users/Poussinou/repos","events_url":"https://api.github.com/users/Poussinou/events{/privacy}","received_events_url":"https://api.github.com/users/Poussinou/received_events","type":"User","user_view_type":"public","site_admin":false,"contributions":1}] \ No newline at end of file From 1a8fb26d9b387d4503790e90595e0a8d44766853 Mon Sep 17 00:00:00 2001 From: WardPearce Date: Sun, 8 Mar 2026 23:10:14 +1300 Subject: [PATCH 03/10] Fixed a crash if unexpected key was passed --- materialious/src/routes/api/user/keyValue/[key]/+server.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/materialious/src/routes/api/user/keyValue/[key]/+server.ts b/materialious/src/routes/api/user/keyValue/[key]/+server.ts index 3208b5fd..271db0c1 100644 --- a/materialious/src/routes/api/user/keyValue/[key]/+server.ts +++ b/materialious/src/routes/api/user/keyValue/[key]/+server.ts @@ -3,7 +3,7 @@ import { getUser } from '$lib/server/user'; import { error, json } from '@sveltejs/kit'; import z from 'zod'; -async function keyAllowed(key: string) { +function keyAllowed(key: string) { if (!persistedStoreKeys.includes(key)) throw error(400); } @@ -19,7 +19,6 @@ export async function DELETE({ locals, params }) { keyAllowed(params.key); const user = await getUser(locals.userId); - await user.deleteKeyValue(params.key); return new Response(); From 82a64ebfc4f8049e7ec7c2986868d55e18e8f1b4 Mon Sep 17 00:00:00 2001 From: WardPearce Date: Sun, 8 Mar 2026 23:20:03 +1300 Subject: [PATCH 04/10] Improved handling of auth token syncing --- materialious/src/routes/+layout.ts | 8 ++++++++ materialious/src/routes/invidious/auth/+page.ts | 7 +++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/materialious/src/routes/+layout.ts b/materialious/src/routes/+layout.ts index baeeca04..9febbd05 100644 --- a/materialious/src/routes/+layout.ts +++ b/materialious/src/routes/+layout.ts @@ -25,6 +25,7 @@ import { isYTBackend } from '$lib/misc'; import { isOwnBackend } from '$lib/shared/index'; import '$lib/fetchProxy'; import { loadContentFilterFromURL } from '$lib/filtering/index.js'; +import { getKeyValue } from '$lib/api/backend/keyvalue.js'; export const ssr = false; export const prerender = false; @@ -34,6 +35,13 @@ export async function load({ url }) { await initI18n(); } + if (get(rawMasterKeyStore)) { + const authTokenFromCloud = await getKeyValue('authToken'); + if (typeof authTokenFromCloud === 'string') + invidiousAuthStore.set(JSON.parse(authTokenFromCloud)); + else invidiousAuthStore.set(null); + } + isAndroidTvStore.set((await androidTv.isAndroidTv()).value); if (Capacitor.getPlatform() === 'android') { diff --git a/materialious/src/routes/invidious/auth/+page.ts b/materialious/src/routes/invidious/auth/+page.ts index 5fa87762..85c38d90 100644 --- a/materialious/src/routes/invidious/auth/+page.ts +++ b/materialious/src/routes/invidious/auth/+page.ts @@ -1,4 +1,5 @@ import { resolve } from '$app/paths'; +import { addOrUpdateKeyValue } from '$lib/api/backend/keyvalue.js'; import { invidiousAuthStore } from '$lib/store'; import { redirect } from '@sveltejs/kit'; @@ -7,10 +8,12 @@ export async function load({ url }) { const token = url.searchParams.get('token'); if (username && token) { - invidiousAuthStore.set({ + const authToken = { username: username, token: token - }); + }; + invidiousAuthStore.set(authToken); + await addOrUpdateKeyValue('authToken', JSON.stringify(authToken)); } throw redirect(302, resolve('/', {})); From d8a2334cf8a95ca99d9f68883d0ac1c12a4c97b6 Mon Sep 17 00:00:00 2001 From: WardPearce Date: Sun, 8 Mar 2026 23:27:09 +1300 Subject: [PATCH 05/10] Improved proxy --- materialious/src/lib/player/sabr/ShakaPlayerAdapter.ts | 1 + materialious/src/routes/api/proxy/[urlToProxy]/+server.ts | 4 ---- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/materialious/src/lib/player/sabr/ShakaPlayerAdapter.ts b/materialious/src/lib/player/sabr/ShakaPlayerAdapter.ts index fe13bb10..0bd1e747 100644 --- a/materialious/src/lib/player/sabr/ShakaPlayerAdapter.ts +++ b/materialious/src/lib/player/sabr/ShakaPlayerAdapter.ts @@ -317,6 +317,7 @@ export class ShakaPlayerAdapter implements SabrPlayerAdapter { } if (result) { + abortController.abort(); return this.createShakaResponse({ uri, request, diff --git a/materialious/src/routes/api/proxy/[urlToProxy]/+server.ts b/materialious/src/routes/api/proxy/[urlToProxy]/+server.ts index f4b81f8a..5549cdd7 100644 --- a/materialious/src/routes/api/proxy/[urlToProxy]/+server.ts +++ b/materialious/src/routes/api/proxy/[urlToProxy]/+server.ts @@ -146,12 +146,8 @@ async function proxyRequest( const responseHeaders = new Headers(response.headers); responseHeaders.delete('content-encoding'); - responseHeaders.delete('access-control-allow-origin'); - responseHeaders.delete('timing-allow-origin'); responseHeaders.delete('content-length'); - responseHeaders.set('transfer-encoding', 'chunked'); - return new Response(response.body, { status: response.status, headers: responseHeaders From 3da66d4d0d4f5c898a966aee843216a383c203b7 Mon Sep 17 00:00:00 2001 From: WardPearce Date: Sun, 8 Mar 2026 23:37:31 +1300 Subject: [PATCH 06/10] Fixed player timeline thumbnail being shown when not expected --- .../src/lib/components/player/Timeline.svelte | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/materialious/src/lib/components/player/Timeline.svelte b/materialious/src/lib/components/player/Timeline.svelte index ed6fc65c..501c2b56 100644 --- a/materialious/src/lib/components/player/Timeline.svelte +++ b/materialious/src/lib/components/player/Timeline.svelte @@ -366,15 +366,19 @@ {videoLength(timeInSeconds)} {/snippet}
- {#if !userManualSeeking && playerShowTimelineThumbnail} -
+ {#if !userManualSeeking} +
{@render timelineTooltip('timeline', playerTimelineTimeHover)}
{/if}
- {#if playerSliderInteracted && playerShowTimelineThumbnail} -
+ {#if playerSliderInteracted} +
{@render timelineTooltip('thumb', currentTime)}
{/if} From a8d40d560f60319c5802c4c62b4d189ff05bfe10 Mon Sep 17 00:00:00 2001 From: WardPearce Date: Sun, 8 Mar 2026 23:41:29 +1300 Subject: [PATCH 07/10] Update Share.svelte --- materialious/src/lib/components/Share.svelte | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/materialious/src/lib/components/Share.svelte b/materialious/src/lib/components/Share.svelte index bd0e2520..b88b4d0e 100644 --- a/materialious/src/lib/components/Share.svelte +++ b/materialious/src/lib/components/Share.svelte @@ -46,11 +46,7 @@ } - - {#if !isMobile()} -
-
-
-
-
-
- {/if} - - {/if} - -
- +
+ +
- {/if} + +
{#if showVideoRetry} diff --git a/materialious/src/lib/css/global.css b/materialious/src/lib/css/global.css index 0a383162..21504181 100644 --- a/materialious/src/lib/css/global.css +++ b/materialious/src/lib/css/global.css @@ -28,7 +28,17 @@ body { } .hide { - display: none !important; + opacity: 0 !important; + visibility: hidden !important; + transition: + opacity 200ms linear, + visibility 0s linear 200ms !important; +} + +.show { + opacity: 1 !important; + visibility: visible !important; + transition: opacity 200ms linear !important; } article { From 53aa7510f2d02984a1146a44b1feb93a842fadf0 Mon Sep 17 00:00:00 2001 From: WardPearce Date: Sun, 8 Mar 2026 23:55:27 +1300 Subject: [PATCH 09/10] Style fixes to hide/show --- materialious/src/lib/components/player/Player.svelte | 9 ++++++--- materialious/src/lib/css/global.css | 6 +++--- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/materialious/src/lib/components/player/Player.svelte b/materialious/src/lib/components/player/Player.svelte index b945b29c..20579e15 100644 --- a/materialious/src/lib/components/player/Player.svelte +++ b/materialious/src/lib/components/player/Player.svelte @@ -61,6 +61,7 @@ import { ScreenOrientation, type ScreenOrientationResult } from '@capacitor/screen-orientation'; import ClosedCaptions from './ClosedCaptions.svelte'; import { getVideoWatchHistory, updateWatchHistory } from '$lib/api'; + import { resolve } from '$app/paths'; interface Props { data: { video: VideoPlay; content: ParsedDescription; playlistId: string | null }; @@ -819,9 +820,11 @@ {videoLength(currentTime)} / {videoLength(playerMaxKnownTime)} {/if}

-

- {playerVideoEndTimePretty} -

+ {#if playerVideoEndTimePretty && playerVideoEndTimePretty !== ''} +

+ {playerVideoEndTimePretty} +

+ {/if}
{/if}