From 3113e6309d2eeac706c7add173ba6faebb1269aa Mon Sep 17 00:00:00 2001 From: Steven RYDELL Date: Thu, 30 Jul 2026 16:36:25 +0200 Subject: [PATCH] feat: add rate-limited manual refresh button to Log Entries Adds a Refresh button next to Filters, right-aligned, specific to the Logs list. Guarded to one click per 5 seconds (button disabled and re-enabled via a timer) to avoid hammering the server if left clicked repeatedly. Co-Authored-By: Claude Sonnet 5 --- src/components/lists/DynamicList.tsx | 59 ++++++++++++++++++++++++---- src/i18n/en.json | 2 + 2 files changed, 53 insertions(+), 8 deletions(-) diff --git a/src/components/lists/DynamicList.tsx b/src/components/lists/DynamicList.tsx index c92b5c7..d9fff01 100644 --- a/src/components/lists/DynamicList.tsx +++ b/src/components/lists/DynamicList.tsx @@ -4,7 +4,7 @@ * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-SEL */ -import React, { useState, useEffect, useCallback, useMemo } from 'react'; +import React, { useState, useEffect, useCallback, useMemo, useRef } from 'react'; import { useNavigate, useSearchParams } from 'react-router-dom'; import { useTranslation } from 'react-i18next'; import { @@ -20,6 +20,7 @@ import { Lock, Search, RotateCcw, + RefreshCw, } from 'lucide-react'; import { Button } from '@/components/ui/button'; @@ -79,6 +80,9 @@ const MAX_REPORTED_ERRORS = 3; // Combobox threshold: plain