From 70980657042d3431a2f74bfe1579a1be41303a0a Mon Sep 17 00:00:00 2001 From: jarvis2f <137974272+jarvis2f@users.noreply.github.com> Date: Mon, 30 Dec 2024 14:09:01 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20fix:=20Updated=20AvgSpeed=20clas?= =?UTF-8?q?s=20to=20clear=20old=20data=20points=20and=20adjust=20download?= =?UTF-8?q?=20speed=20in=20test=20cases.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/src/main/java/telegram/files/AvgSpeed.java | 2 +- api/src/test/java/telegram/files/AvgSpeedTest.java | 12 ++++++------ web/src/components/about.tsx | 11 ++++++++--- 3 files changed, 15 insertions(+), 10 deletions(-) diff --git a/api/src/main/java/telegram/files/AvgSpeed.java b/api/src/main/java/telegram/files/AvgSpeed.java index 9f9679f..2657b77 100644 --- a/api/src/main/java/telegram/files/AvgSpeed.java +++ b/api/src/main/java/telegram/files/AvgSpeed.java @@ -65,7 +65,7 @@ public class AvgSpeed { // Remove old points outside the interval long cutoffTime = timestamp - interval * 1000L; // Convert interval to milliseconds - speedPoints.headMap(cutoffTime); + speedPoints.headMap(cutoffTime).clear(); } private long calculateSpeed(long downloadedSize, long timestamp) { diff --git a/api/src/test/java/telegram/files/AvgSpeedTest.java b/api/src/test/java/telegram/files/AvgSpeedTest.java index 7596a4f..9f3c1bb 100644 --- a/api/src/test/java/telegram/files/AvgSpeedTest.java +++ b/api/src/test/java/telegram/files/AvgSpeedTest.java @@ -46,8 +46,8 @@ class AvgSpeedTest { // Download at 100 bytes/sec - avgSpeed.update(0L, baseTime); - avgSpeed.update(1000L, baseTime + 10000); // 100 bytes/sec + avgSpeed.update(1L, baseTime); + avgSpeed.update(1001L, baseTime + 10000); // 100 bytes/sec // Pause for 10 seconds avgSpeed.update(1000L, baseTime + 20000); @@ -66,12 +66,12 @@ class AvgSpeedTest { // Initial download - avgSpeed.update(0L, baseTime); - avgSpeed.update(1000L, baseTime + 10000); // 100 bytes/sec + avgSpeed.update(1L, baseTime); + avgSpeed.update(1001L, baseTime + 10000); // 100 bytes/sec // Restart download - avgSpeed.update(0L, baseTime + 15000); - avgSpeed.update(500L, baseTime + 20000); // 100 bytes/sec after restart + avgSpeed.update(1L, baseTime + 15000); + avgSpeed.update(501L, baseTime + 20000); // 100 bytes/sec after restart AvgSpeed.SpeedStats stats = avgSpeed.getSpeedStats(); assertTrue(stats.maxSpeed() >= 100, diff --git a/web/src/components/about.tsx b/web/src/components/about.tsx index 39d06f2..3c9469f 100644 --- a/web/src/components/about.tsx +++ b/web/src/components/about.tsx @@ -10,8 +10,8 @@ import { } from "@/components/ui/card"; import { request } from "@/lib/api"; import Link from "next/link"; -import Lottie from "lottie-react"; import TGDuck16HeyOut from "@/components/animations/tg-duck16_hey_out.json"; +import dynamic from "next/dynamic"; interface VersionData { version: string; @@ -23,6 +23,7 @@ interface GitHubReleaseData { const fetcher = (url: string) => fetch(url).then((res) => res.json()); +const Lottie = dynamic(() => import("lottie-react"), { ssr: false }); export default function About() { const { data: apiData, error: apiError } = useSWR( "/version", @@ -46,7 +47,7 @@ export default function About() { githubData && githubData.tag_name !== currentVersion; return ( -
+
About This Project @@ -55,7 +56,11 @@ export default function About() { - +

Author