From a2d79830fb8197eb4857a2a1a36efa8787528802 Mon Sep 17 00:00:00 2001
From: maksii <1761348+maksii@users.noreply.github.com>
Date: Mon, 13 Jul 2026 11:32:18 +0300
Subject: [PATCH] fix(gui): always show the release name on the tracker upload
card
The naming overrides were computed as a diff against the preview snapshot,
but a preview round-trip echoes the applied overrides back into it, so the
list emptied itself on every metadata refresh. The release name was gated
behind that list being non-empty and disappeared with it, leaving the dry-run
panel as the only place a name was visible. Report the overrides in effect,
and show the prepared name until a dry run resolves the tracker name.
---
gui/frontend/src/app.tsx | 26 ++++----------
.../src/pages/tracker_upload/index.test.tsx | 16 +++++++++
.../src/pages/tracker_upload/index.tsx | 34 ++++++++++++-------
3 files changed, 44 insertions(+), 32 deletions(-)
diff --git a/gui/frontend/src/app.tsx b/gui/frontend/src/app.tsx
index 563c028c..1f366268 100644
--- a/gui/frontend/src/app.tsx
+++ b/gui/frontend/src/app.tsx
@@ -1942,30 +1942,18 @@ export default function App() {
return [...manual, ...auto];
};
+ // The overrides in effect, not the ones edited since the last preview: a preview
+ // round-trip echoes them back into preview.ReleaseNameOverrides, so a diff against
+ // that snapshot empties itself as soon as the metadata is refreshed.
const namingOverrides = useMemo(() => {
- const stored =
- preview.ReleaseNameOverrides && typeof preview.ReleaseNameOverrides === "object"
- ? preview.ReleaseNameOverrides
- : {};
const overrides = releaseOverrideState?.dirty
? releaseOverrideState.overrides
: preview.ReleaseNameOverrides || {};
- return Object.entries(overrides || {}).filter(([key, value]) => {
+ return Object.entries(overrides || {}).filter(([, value]) => {
if (value === null || value === undefined) return false;
- const storedValue = (stored as Record
Release name
++ {uploadReleaseName || originalReleaseName || "No release name yet"} +
+ {!uploadReleaseName && originalReleaseName ? ( ++ Prepared name — run a dry run to resolve the {tracker.name} upload name. +
+ ) : null} +Release name
-{preview.ReleaseName || "No release name yet"}
-{formatLabel(key)}
-{String(value)}
-{formatLabel(key)}
+{String(value)}
+