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