From 98238cd1f3a5c63b3c620c8549ea865ddf377965 Mon Sep 17 00:00:00 2001 From: TheGeneralist <180094941+thegeneralist01@users.noreply.github.com> Date: Sat, 4 Jul 2026 11:42:33 +0200 Subject: [PATCH 1/5] fix: decode HTML entities in entry titles --- frontend/src/utils.js | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/frontend/src/utils.js b/frontend/src/utils.js index 5a6e594..56b0265 100644 --- a/frontend/src/utils.js +++ b/frontend/src/utils.js @@ -10,8 +10,19 @@ export function formatBytes(bytes) { return `${size.toFixed(unit === 0 ? 0 : 1)} ${units[unit]}`; } +export function decodeHtmlEntities(str) { + if (!str) return str; + return str + .replace(/&/g, "&") + .replace(/</g, "<") + .replace(/>/g, ">") + .replace(/"/g, '"') + .replace(/'/g, "'") + .replace(/'/g, "'"); +} + export function valueText(value) { - return value ?? ""; + return decodeHtmlEntities(value) ?? ""; } export function formatTimestamp(value) { From f71be25a8e88e0aabc711af7b9f41008d5b56ec9 Mon Sep 17 00:00:00 2001 From: TheGeneralist <180094941+thegeneralist01@users.noreply.github.com> Date: Sat, 4 Jul 2026 11:46:11 +0200 Subject: [PATCH 2/5] feat: reorder nav tabs to archive, tags, collections, runs, admin, settings --- frontend/src/App.jsx | 2 +- frontend/src/components/Topbar.jsx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/src/App.jsx b/frontend/src/App.jsx index be14ce8..f81a627 100644 --- a/frontend/src/App.jsx +++ b/frontend/src/App.jsx @@ -16,7 +16,7 @@ import { displayPath } from './utils' export const AuthContext = createContext(null); -const VIEWS = ['archive','runs','admin','tags','collections','settings'] +const VIEWS = ['archive','tags','collections','runs','admin','settings'] const SETTINGS_TABS = ['profile','tokens','instance'] function parseLocation() { diff --git a/frontend/src/components/Topbar.jsx b/frontend/src/components/Topbar.jsx index 888aab7..347f028 100644 --- a/frontend/src/components/Topbar.jsx +++ b/frontend/src/components/Topbar.jsx @@ -23,7 +23,7 @@ export default function Topbar({ archives, archiveId, onArchiveChange, view, onV