diff --git a/client/public/changelog.md b/client/public/changelog.md index 4537993..d7de982 100644 --- a/client/public/changelog.md +++ b/client/public/changelog.md @@ -2,8 +2,13 @@ > This document records feature updates and bug fixes for the Luxsin X8 controller. A new entry is appended here after each release. -## 2026.08.06 +## v2026.08.06 ### New Features - Added a "What's New" entry on the home page, allowing you to view release notes online. - Added Undo support on the EQ page: tap the Undo button to revert your most recent change. It covers band parameter edits (frequency / gain / Q / filter type), slider drag adjustments, preamp and auto-preamp changes, A/B mode copy & switch, and batch edits. Each undo shows a toast describing exactly what was reverted (e.g. "A Band 3 GAIN +2.0 → 0.0"). + +## v2026.08.12 + +### Bug Fixes +- Effects → Loudness: fixed the threshold slider minimum incorrectly stopping at -30 dB; it now correctly goes down to -40 dB. diff --git a/client/src/pages/EQPage.tsx b/client/src/pages/EQPage.tsx index 40b2b43..af83310 100644 --- a/client/src/pages/EQPage.tsx +++ b/client/src/pages/EQPage.tsx @@ -44,7 +44,6 @@ import { ShareDialog } from "./eq/components/ShareDialog"; import { BrandDrawer } from "./eq/components/BrandDrawer"; import { PeqOverwriteConfirmDialog } from "./eq/components/PeqOverwriteConfirmDialog"; import { PeqPresetManageDialog } from "./eq/components/PeqPresetManageDialog"; -import { PeqUndoButton } from "./eq/components/PeqUndoButton"; import { useRawCurve } from "./eq/hooks/useRawCurve"; import { usePeqUndoHistory, @@ -1607,11 +1606,6 @@ export default function EQPage() { )}
-
{ diff --git a/client/src/pages/eq/components/FreqChart.tsx b/client/src/pages/eq/components/FreqChart.tsx index e7de50c..9790029 100644 --- a/client/src/pages/eq/components/FreqChart.tsx +++ b/client/src/pages/eq/components/FreqChart.tsx @@ -4,6 +4,7 @@ import { useStrokeDrawAnimation } from "@/lib/useStrokeDrawAnimation"; import { buildPeqSvgCurveData, sampleCombinedPeqMagnitudeDb } from "@/lib/peqAudio"; import { eqInterp } from "../eqFormatters"; import type { EqBand, PeqEqUi } from "../types"; +import { PeqUndoButton } from "./PeqUndoButton"; function LegendCurveIndicator({ loading, @@ -32,6 +33,8 @@ export type FreqChartProps = { abMode: "A" | "B"; onAbToggle: (m: "A" | "B") => void; onCopyAndSwitchTo: (to: "A" | "B") => void; + canUndo: boolean; + onUndo: () => void; onApplyB: () => void; onSaveB: () => void; onBandDrag: (idx: number, patch: Partial<{ freq: number; gain: number }>) => void; @@ -49,6 +52,8 @@ export function FreqChart({ abMode, onAbToggle, onCopyAndSwitchTo, + canUndo, + onUndo, onApplyB, onSaveB, onBandDrag, @@ -307,6 +312,11 @@ export function FreqChart({ > {copyButtonText} +
); }