Adds update checker with user preference

Introduces an update checker feature that respects the user's preference, allowing them to enable or disable automatic update checks.

The setting is persisted in the config file and synced to the backend.

Also introduces a page dedicated to listing music that inspired the project, and makes some minor UI improvements
This commit is contained in:
Flavio Fois
2026-02-08 22:09:32 +01:00
parent 0cfe1b65f3
commit 5b62790248
9 changed files with 346 additions and 17 deletions

View File

@@ -3,7 +3,7 @@
import * as Sidebar from "$lib/components/ui/sidebar/index.js";
import { dangerZoneEnabled } from "$lib/stores/app";
import * as m from "$lib/paraglide/messages.js";
import { Mail, Heart } from "@lucide/svelte/icons";
import { Mail, Heart, Info } from "@lucide/svelte/icons";
const CLICK_WINDOW_MS = 4000;
const REQUIRED_CLICKS = 10;
@@ -46,7 +46,7 @@
{
title: m.sidebar_credits(),
url: "/credits",
icon: Heart,
icon: Info,
disabled: false,
id: 3,
},

View File

@@ -11,6 +11,7 @@ const defaults: EMLy_GUI_Settings = {
previewFileSupportedTypes: ["jpg", "jpeg", "png"],
enableAttachedDebuggerProtection: true,
useDarkEmailViewer: true,
enableUpdateChecker: true,
};
class SettingsStore {

View File

@@ -9,6 +9,25 @@ interface EMLy_GUI_Settings {
previewFileSupportedTypes?: SupportedFileTypePreview[];
enableAttachedDebuggerProtection?: boolean;
useDarkEmailViewer?: boolean;
enableUpdateChecker?: boolean;
}
type SupportedLanguages = "en" | "it";
// Plugin System Types
interface PluginFormatSupport {
extensions: string[];
mime_types?: string[];
priority: number;
}
interface PluginInfo {
name: string;
version: string;
author: string;
description: string;
capabilities: string[];
status: "unloaded" | "loading" | "active" | "error" | "disabled";
enabled: boolean;
last_error?: string;
supported_formats?: PluginFormatSupport[];
}