From 8498dd576f82d6657e8305528e9ec946da004489 Mon Sep 17 00:00:00 2001 From: Daniel Maksymilian Syrnicki Date: Thu, 16 Apr 2026 12:02:03 +0200 Subject: [PATCH] fix(furtka): rename "Einstellungen" button to "Settings" MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Leftover German string from prototyping — the rest of the apps UI is English, so it stood out as a mixed-language bug during 2026-04-16 VM testing. Co-Authored-By: Claude Opus 4.6 (1M context) --- CHANGELOG.md | 2 +- docs/resource-manager.md | 2 +- furtka/api.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5cc6c47..42de94c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,7 +9,7 @@ This project uses calendar versioning: `YY.N-stage` (e.g. `26.0-alpha` = 2026, r ### Added -- **In-browser app settings**, so users no longer need SSH + `vim` to configure an app before first install. Manifest gains optional `settings` (name/label/description/type/required/default) and `description_long` fields. Installing a bundled app opens a form rendered from the manifest; installed apps grow an "Einstellungen" button that edits merged values (password fields blank = keep current). API: `POST /api/apps/install` now accepts a `settings` object in the JSON body; new `GET`/`POST /api/apps//settings` for inspecting and updating an installed app. Password values never leave the server. +- **In-browser app settings**, so users no longer need SSH + `vim` to configure an app before first install. Manifest gains optional `settings` (name/label/description/type/required/default) and `description_long` fields. Installing a bundled app opens a form rendered from the manifest; installed apps grow a "Settings" button that edits merged values (password fields blank = keep current). API: `POST /api/apps/install` now accepts a `settings` object in the JSON body; new `GET`/`POST /api/apps//settings` for inspecting and updating an installed app. Password values never leave the server. - `nano` added to the installer package list so users have a beginner-friendly editor at the console/SSH (was `vim`-only, which `command not found`'d under Arch 4.x because it was actually missing from the package set too). - `openssh` added explicitly to the installer package list and `sshd` added to enabled services. `archinstall: true` in archinstall 4.x did not actually install openssh-server, so the documented recovery path (SSH → edit `.env`) silently failed. diff --git a/docs/resource-manager.md b/docs/resource-manager.md index 84892a2..561e1fd 100644 --- a/docs/resource-manager.md +++ b/docs/resource-manager.md @@ -115,7 +115,7 @@ The installer copies files into `/var/lib/furtka/apps//`, preserves any ex Endpoints: - `GET /` and `/apps` — self-contained HTML UI. -- `GET /api/apps` — installed apps as JSON (each includes `has_settings` so the UI can show the "Einstellungen" button only when relevant). +- `GET /api/apps` — installed apps as JSON (each includes `has_settings` so the UI can show the "Settings" button only when relevant). - `GET /api/bundled` — apps available in `/opt/furtka/apps/` that aren't installed. - `GET /api/apps//settings` — returns the manifest's settings alongside current `.env` values. Works for both installed and bundled apps. Password values are returned as empty strings. - `POST /api/apps//settings` `{"settings": {...}}` — merges values into the installed app's `.env` and reconciles. Only for already-installed apps. diff --git a/furtka/api.py b/furtka/api.py index a283efb..f342925 100644 --- a/furtka/api.py +++ b/furtka/api.py @@ -222,7 +222,7 @@ async function refresh() { ${esc(a.description || a.error || '')}
- ${hasSettings ? `` : ''} + ${hasSettings ? `` : ''}