From df809aa1cd18d5b2f3a00d462a24930157e60ba9 Mon Sep 17 00:00:00 2001 From: Rajparikh18 <163747817+Rajparikh18@users.noreply.github.com> Date: Thu, 9 Jul 2026 15:43:32 +0530 Subject: [PATCH 1/2] fix(settings): prevent fps input from resetting (@Rajparikh18) (#8130) ### Description Fixes: #8119 Problem The FPS input was resetting, even after giving input to it and saving it, once the page is refreshed it shows empty field there again. Cause The FPS input always shows empty field , just because the by default value of the fpsLimit is an empty string ( "") Fix Updated the FPS input handling by adding String(getfpsLimit()) this instead of "" so that valid user-entered values are preserved instead of being reset. The input now correctly reflects the saved FPS value after interacting with the field. ` defaultValues: { fpsLimit: String(getfpsLimit()), }, ` Testing Open Settings and search for "animation fps limit". Enter a custom FPS value. Click away from the input. Once it is saved, Refresh the page and verify that the saved value is still displayed correctly. EDIT: addressed the issue , added a conditional statement, so that the input will not show 1000 and added a if statement to remove the "must be a number" error when selected native --------- Co-authored-by: Christian Fehmer --- .../pages/settings/custom-setting/AnimationFpsLimit.tsx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/frontend/src/ts/components/pages/settings/custom-setting/AnimationFpsLimit.tsx b/frontend/src/ts/components/pages/settings/custom-setting/AnimationFpsLimit.tsx index 9ff96a46f325..f610f7d50792 100644 --- a/frontend/src/ts/components/pages/settings/custom-setting/AnimationFpsLimit.tsx +++ b/frontend/src/ts/components/pages/settings/custom-setting/AnimationFpsLimit.tsx @@ -13,7 +13,7 @@ export function AnimationFpsLimit(): JSXElement { const savedIndicator = useSavedIndicator(); const form = createForm(() => ({ defaultValues: { - fpsLimit: "", + fpsLimit: getfpsLimit() === 1000 ? "" : String(getfpsLimit()), }, onSubmit: ({ value }) => { const val = parseFloat(String(value.fpsLimit)); @@ -54,6 +54,9 @@ export function AnimationFpsLimit(): JSXElement { name="fpsLimit" validators={{ onChange: ({ value }) => { + if (value === "") { + return; + } const val = parseFloat(String(value)); if (isNaN(val)) { return "Must be a number"; From caf2aa2e9f1015a7f0121fb968ec46c43ff50425 Mon Sep 17 00:00:00 2001 From: Christian Fehmer Date: Thu, 9 Jul 2026 12:35:14 +0200 Subject: [PATCH 2/2] refactor: solid edit result tags modal (@fehmer) (#8194) --- frontend/src/html/popups.html | 8 - frontend/src/styles/popups.scss | 11 -- .../components/modals/EditResultTagsModal.tsx | 99 ++++++++++++ frontend/src/ts/components/modals/Modals.tsx | 2 + .../src/ts/components/pages/account/Table.tsx | 12 +- frontend/src/ts/event-handlers/test.ts | 4 +- frontend/src/ts/modals/edit-result-tags.ts | 149 ------------------ frontend/src/ts/states/edit-result-tags.ts | 23 +++ frontend/src/ts/states/modals.ts | 3 +- 9 files changed, 134 insertions(+), 177 deletions(-) create mode 100644 frontend/src/ts/components/modals/EditResultTagsModal.tsx delete mode 100644 frontend/src/ts/modals/edit-result-tags.ts create mode 100644 frontend/src/ts/states/edit-result-tags.ts diff --git a/frontend/src/html/popups.html b/frontend/src/html/popups.html index 2a8f560ac554..c09badc2912d 100644 --- a/frontend/src/html/popups.html +++ b/frontend/src/html/popups.html @@ -75,14 +75,6 @@ - -