Improved error messages

This commit is contained in:
WardPearce
2026-02-17 01:05:49 +13:00
parent e7808a3a7d
commit 7e97855bf1
9 changed files with 43 additions and 21 deletions
+2 -2
View File
@@ -7,8 +7,8 @@ android {
applicationId "us.materialio.app"
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 215
versionName "1.15.7"
versionCode 216
versionName "1.15.8"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
aaptOptions {
// Files and dirs to omit from the packaged assets dir, modified to accommodate modern web apps.
@@ -80,7 +80,11 @@
<release version="1.15.7" date="2026-2-16">
<release version="1.15.8" date="2026-2-17">
<url>https://github.com/Materialious/Materialious/releases/tag/1.15.8</url>
</release>
<release version="1.15.7" date="2026-2-16">
<url>https://github.com/Materialious/Materialious/releases/tag/1.15.7</url>
</release>
<release version="1.15.6" date="2026-2-16">
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "Materialious",
"version": "1.15.7",
"version": "1.15.8",
"description": "Modern material design for YouTube and Invidious.",
"author": {
"name": "Ward Pearce",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "materialious",
"version": "1.15.7",
"version": "1.15.8",
"private": true,
"scripts": {
"dev": "npm run patch:github && vite dev",
+7 -2
View File
@@ -71,13 +71,18 @@ export function setRegion(url: URL): URL {
export async function fetchErrorHandle(response: Response): Promise<Response> {
if (!response.ok) {
let message = 'Internal error';
// Attempt to parse error.
try {
const json = await response.json();
message = 'errorBacktrace' in json ? json.errorBacktrace : json.error;
message = json.errorBacktrace || json.error || json.message;
} catch {
// Continue regardless of error
}
throw Error(message);
throw Error(
`${response.status} - ${response.statusText}\n${decodeURIComponent(response.url)}\n${message}`
);
}
return response;
@@ -14,8 +14,8 @@
>
{#if page.error}
<article>
<code style="white-space: pre-line;word-wrap: break-word;">{page.error.message}</code>
<article style="white-space: pre-line;word-wrap: break-word;">
<article class="surface-container-highest"><p>{page.error.message}</p></article>
</article>
{/if}
</div>
+9 -6
View File
@@ -22,14 +22,17 @@ export async function load() {
let popularDisabled: boolean = false;
if (!popular) {
let errorMsg: Error | undefined;
try {
popular = await getPopular();
} catch (errorMessage: any) {
if (errorMessage.toString() === 'Error: Administrator has disabled this endpoint.') {
popularDisabled = true;
} else {
error(500, errorMessage);
}
} catch (popularError) {
errorMsg = popularError as Error;
}
if (errorMsg && errorMsg.toString() === 'Error: Administrator has disabled this endpoint.') {
popularDisabled = true;
} else {
throw error(500, errorMsg);
}
feedCacheStore.set({ ...get(feedCacheStore), popular });
@@ -107,11 +107,21 @@ async function proxyRequest(
body = request.body;
}
const response = await fetch(urlToProxyObj.toString(), {
...requestOptions,
body,
signal: AbortSignal.timeout(10000)
});
let response: Response | undefined;
let errorMsg = '';
try {
response = await fetch(urlToProxyObj.toString(), {
...requestOptions,
body,
signal: AbortSignal.timeout(10000)
});
} catch (err) {
errorMsg = (err as any).toString();
}
if (!response || errorMsg) {
throw error(500, errorMsg);
}
const responseHeaders = new Headers(response.headers);
responseHeaders.set('transfer-encoding', 'chunked');
+1 -1
View File
@@ -3,7 +3,7 @@ import os
import re
from datetime import datetime
LATEST_VERSION = "1.15.7"
LATEST_VERSION = "1.15.8"
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")