diff --git a/web/i18n/en/settings.json b/web/i18n/en/settings.json
index df13ed84..9eea91ab 100644
--- a/web/i18n/en/settings.json
+++ b/web/i18n/en/settings.json
@@ -3,6 +3,8 @@
"page.video": "video",
"page.audio": "audio",
"page.metadata": "metadata",
+ "page.advanced": "advanced",
+ "page.debug": "debug information",
"section.general": "general",
"section.save": "save",
@@ -80,5 +82,9 @@
"language.auto.title": "use default browser language",
"language.auto.description": "automatically picks the best language for you. if preferred browser language isn't available, english is used instead. disable this toggle to pick a language manually.",
"language.preferred.title": "preferred language",
- "language.preferred.description": "language used for interface and content."
+ "language.preferred.description": "language used for interface and content.",
+
+ "advanced.debug": "debug",
+ "advanced.debug.title": "enable debug features",
+ "advanced.debug.description": "gives you access to a page with app & device info useful for debugging."
}
diff --git a/web/src/lib/settings/defaults.ts b/web/src/lib/settings/defaults.ts
index 33d35603..adb698f5 100644
--- a/web/src/lib/settings/defaults.ts
+++ b/web/src/lib/settings/defaults.ts
@@ -8,6 +8,9 @@ const defaultSettings: CobaltSettings = {
reduceAnimations: false,
reduceTransparency: false,
},
+ advanced: {
+ debug: false,
+ },
appearance: {
theme: "auto",
language: defaultLocale,
diff --git a/web/src/lib/types/settings.ts b/web/src/lib/types/settings.ts
index b8e6e5f8..5426adf3 100644
--- a/web/src/lib/types/settings.ts
+++ b/web/src/lib/types/settings.ts
@@ -18,6 +18,10 @@ type CobaltSettingsAppearance = {
autoLanguage: boolean,
};
+type CobaltSettingsAdvanced = {
+ debug: boolean,
+};
+
type CobaltSettingsGeneral = {
customProcessingEndpoint: string,
seenOnboarding: boolean,
@@ -45,6 +49,7 @@ type CobaltSettingsPrivacy = {
export type CobaltSettings = {
schemaVersion: number,
accessibility: CobaltSettingsAccessibility,
+ advanced: CobaltSettingsAdvanced,
appearance: CobaltSettingsAppearance,
general: CobaltSettingsGeneral,
save: CobaltSettingsSave,
diff --git a/web/src/lib/version.ts b/web/src/lib/version.ts
new file mode 100644
index 00000000..ff9b4a0b
--- /dev/null
+++ b/web/src/lib/version.ts
@@ -0,0 +1,23 @@
+type VersionResponse = {
+ commit: string;
+ branch: string;
+ remote: string;
+ version: string;
+}
+
+const fetchVersion = async function () {
+ const response: VersionResponse | undefined = await fetch('/version.json')
+ .then(r => r.json())
+ .catch(() => {});
+
+ if (!response) return {
+ commit: "unknown",
+ branch: "unknown",
+ remote: "unknown",
+ version: "unknown"
+ }
+
+ return response;
+}
+
+export const version = await fetchVersion();
diff --git a/web/src/routes/settings/+layout.svelte b/web/src/routes/settings/+layout.svelte
index b59d679d..5d22da80 100644
--- a/web/src/routes/settings/+layout.svelte
+++ b/web/src/routes/settings/+layout.svelte
@@ -1,6 +1,8 @@
+
+