From 3aa14e347948103602e423bd05f57923a11234bf Mon Sep 17 00:00:00 2001 From: scanner <280983584+hivecommons-hive[bot]@users.noreply.github.com> Date: Mon, 26 Oct 2026 02:46:50 -0400 Subject: [PATCH 1/3] fix(footer): remove back-to-top listeners on unmount Signed-off-by: scanner <280983584+hivecommons-hive[bot]@users.noreply.github.com> --- .../fixed-footer-back-to-top-listeners.md | 1 + src/__tests__/Footer.behavior.test.tsx | 23 +++++++++++++++++++ src/components/Footer.tsx | 17 ++++++++++---- 3 files changed, 36 insertions(+), 5 deletions(-) create mode 100644 changelog.d/fixed-footer-back-to-top-listeners.md diff --git a/changelog.d/fixed-footer-back-to-top-listeners.md b/changelog.d/fixed-footer-back-to-top-listeners.md new file mode 100644 index 00000000..f363c86d --- /dev/null +++ b/changelog.d/fixed-footer-back-to-top-listeners.md @@ -0,0 +1 @@ +- Footer back-to-top effect now removes its scroll/click listeners on unmount. diff --git a/src/__tests__/Footer.behavior.test.tsx b/src/__tests__/Footer.behavior.test.tsx index 276ce9f0..fbd11230 100644 --- a/src/__tests__/Footer.behavior.test.tsx +++ b/src/__tests__/Footer.behavior.test.tsx @@ -216,4 +216,27 @@ describe("back-to-top button", () => { fireEvent.click(button()); expect(scrollToSpy).toHaveBeenCalledWith({ top: 0, behavior: "smooth" }); }); + + it("removes scroll and click listeners on unmount", () => { + const removeEventListenerSpy = vi.spyOn(window, "removeEventListener"); + const { unmount } = render(