From 7fe4286d3450d9ce07307f635c0f971db1cd5016 Mon Sep 17 00:00:00 2001 From: vikingowl Date: Thu, 22 Jan 2026 12:39:19 +0100 Subject: [PATCH 1/2] feat(settings): add dedicated About page with version info - Add AboutTab.svelte with app branding, version display, update checking - Show update status and download link when new version available - Include links to GitHub repo and issue tracker - Display tech stack badges and license info - Remove About section from GeneralTab (now separate tab) Also improves development configuration: - justfile now reads PORT, DEV_PORT, LLAMA_PORT, OLLAMA_PORT from .env - docker-compose.dev.yml uses env var substitution - Add dev-build and dev-rebuild recipes for Docker - Update .env.example with all configurable variables --- .env.example | 14 +- docker-compose.dev.yml | 8 +- .../lib/components/settings/AboutTab.svelte | 194 ++++++++++++++++++ .../lib/components/settings/GeneralTab.svelte | 25 --- .../components/settings/SettingsTabs.svelte | 9 +- frontend/src/lib/components/settings/index.ts | 1 + frontend/src/routes/settings/+page.svelte | 3 + justfile | 58 ++++-- 8 files changed, 267 insertions(+), 45 deletions(-) create mode 100644 frontend/src/lib/components/settings/AboutTab.svelte diff --git a/.env.example b/.env.example index bcbbe25..b7d03a5 100644 --- a/.env.example +++ b/.env.example @@ -5,7 +5,7 @@ # All variables have sensible defaults - only set what you need to change. # ----- Backend ----- -# Server port (default: 8080, but 9090 recommended for local dev) +# Server port (default: 9090 for local dev, matches vite proxy) PORT=9090 # SQLite database path (relative to backend working directory) @@ -26,3 +26,15 @@ BACKEND_URL=http://localhost:9090 # Development server port DEV_PORT=7842 + +# ----- llama.cpp ----- +# llama.cpp server port (used by `just llama-server`) +LLAMA_PORT=8081 + +# ----- Additional Ports (for health checks) ----- +# Ollama port (extracted from OLLAMA_URL for health checks) +OLLAMA_PORT=11434 + +# ----- Models ----- +# Directory for GGUF model files +VESSEL_MODELS_DIR=~/.vessel/models diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml index fe50cd2..0ee65c3 100644 --- a/docker-compose.dev.yml +++ b/docker-compose.dev.yml @@ -1,6 +1,8 @@ name: vessel-dev # Development docker-compose - uses host network for direct Ollama access +# Reads configuration from .env file + services: frontend: build: @@ -12,8 +14,8 @@ services: - ./frontend:/app - /app/node_modules environment: - - OLLAMA_API_URL=http://localhost:11434 - - BACKEND_URL=http://localhost:9090 + - OLLAMA_API_URL=${OLLAMA_API_URL:-http://localhost:11434} + - BACKEND_URL=${BACKEND_URL:-http://localhost:9090} depends_on: - backend @@ -26,4 +28,4 @@ services: - ./backend/data:/app/data environment: - GIN_MODE=release - command: ["./server", "-port", "9090", "-db", "/app/data/vessel.db", "-ollama-url", "http://localhost:11434"] + command: ["./server", "-port", "${PORT:-9090}", "-db", "${DB_PATH:-/app/data/vessel.db}", "-ollama-url", "${OLLAMA_URL:-http://localhost:11434}"] diff --git a/frontend/src/lib/components/settings/AboutTab.svelte b/frontend/src/lib/components/settings/AboutTab.svelte new file mode 100644 index 0000000..641c100 --- /dev/null +++ b/frontend/src/lib/components/settings/AboutTab.svelte @@ -0,0 +1,194 @@ + + +
+ +
+
+
+ + + +
+
+

Vessel

+

+ A modern interface for local AI with chat, tools, and memory management. +

+ {#if versionState.current} +
+ + v{versionState.current} + +
+ {/if} +
+
+
+ + +
+

+ + + + Updates +

+ +
+ {#if versionState.hasUpdate} +
+ + + +
+

Update Available

+

+ Version {versionState.latest} is available. You're currently on v{versionState.current}. +

+
+
+ {:else} +
+ + + + You're running the latest version +
+ {/if} + +
+ + + {#if versionState.hasUpdate && versionState.updateUrl} + + + + + Download v{versionState.latest} + + {/if} +
+ + {#if versionState.lastChecked} +

+ Last checked: {formatLastChecked(versionState.lastChecked)} +

+ {/if} +
+
+ + +
+

+ + + + Links +

+ + +
+ + +
+

+ + + + Technical Info +

+ +
+
+

Built With

+
+ Svelte 5 + SvelteKit + Go + Tailwind CSS + Ollama + llama.cpp +
+
+ +
+

License

+

+ Released under the {LICENSE} license +

+
+
+
+
diff --git a/frontend/src/lib/components/settings/GeneralTab.svelte b/frontend/src/lib/components/settings/GeneralTab.svelte index 6a018f9..49167c7 100644 --- a/frontend/src/lib/components/settings/GeneralTab.svelte +++ b/frontend/src/lib/components/settings/GeneralTab.svelte @@ -127,29 +127,4 @@ - -
-

- - - - About -

- -
-
-
- - - -
-
-

Vessel

-

- A modern interface for local AI with chat, tools, and memory management. -

-
-
-
-
diff --git a/frontend/src/lib/components/settings/SettingsTabs.svelte b/frontend/src/lib/components/settings/SettingsTabs.svelte index ba9c2f9..17f2dab 100644 --- a/frontend/src/lib/components/settings/SettingsTabs.svelte +++ b/frontend/src/lib/components/settings/SettingsTabs.svelte @@ -2,7 +2,7 @@ /** * SettingsTabs - Horizontal tab navigation for Settings Hub */ - export type SettingsTab = 'general' | 'models' | 'prompts' | 'tools' | 'agents' | 'knowledge' | 'memory'; + export type SettingsTab = 'general' | 'models' | 'prompts' | 'tools' | 'agents' | 'knowledge' | 'memory' | 'about';