From b5fcd1d17245179380c251ff5716ac0972b8fce6 Mon Sep 17 00:00:00 2001 From: Lucas Berger Date: Thu, 18 Jun 2026 13:01:39 -0400 Subject: [PATCH] fix(17): resolve post-merge wave 2 integration issues MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - SettingsSheet: void the navigate('/login') promise (react-router v7 returns Promise) — eslint no-floating-promises - InstructionSheet.test: wrap SettingsSheet render in MemoryRouter — 17-05 added useNavigate() which needs Router context Co-Authored-By: Claude Opus 4.8 (1M context) --- apps/pwa/src/components/InstructionSheet.test.tsx | 7 ++++++- apps/pwa/src/components/SettingsSheet.tsx | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/apps/pwa/src/components/InstructionSheet.test.tsx b/apps/pwa/src/components/InstructionSheet.test.tsx index 1688a34..f1b98df 100644 --- a/apps/pwa/src/components/InstructionSheet.test.tsx +++ b/apps/pwa/src/components/InstructionSheet.test.tsx @@ -10,6 +10,7 @@ import React from 'react'; import { describe, it, expect, vi, beforeEach } from 'vitest'; import { render, screen, fireEvent } from '@testing-library/react'; +import { MemoryRouter } from 'react-router'; import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; // ── Module mocks ────────────────────────────────────────────────────────────── @@ -70,7 +71,11 @@ function renderWithQueryClient(ui: React.ReactElement) { const queryClient = new QueryClient({ defaultOptions: { queries: { retry: false }, mutations: { retry: false } }, }); - return render({ui}); + return render( + + {ui} + , + ); } // ── Tests ───────────────────────────────────────────────────────────────────── diff --git a/apps/pwa/src/components/SettingsSheet.tsx b/apps/pwa/src/components/SettingsSheet.tsx index 263f5d8..a40e54c 100644 --- a/apps/pwa/src/components/SettingsSheet.tsx +++ b/apps/pwa/src/components/SettingsSheet.tsx @@ -142,7 +142,7 @@ export function SettingsSheet({ isOpen, onClose }: SettingsSheetProps) { // API failure does not block navigation — server cookie was cleared or already expired } onClose(); - navigate('/login'); + void navigate('/login'); }; const handleToggle = async () => {