diff --git a/packages/ui/src/lib/components/RoomyThread.svelte b/packages/ui/src/lib/components/RoomyThread.svelte index 5d48f34..08dfe5e 100644 --- a/packages/ui/src/lib/components/RoomyThread.svelte +++ b/packages/ui/src/lib/components/RoomyThread.svelte @@ -132,7 +132,6 @@ * person already knows from every list of messages they have ever selected in. */ function pick(event: MouseEvent | KeyboardEvent, index: number): void { - event.preventDefault() const target = visible[index] if (!target) return if (event.shiftKey && anchor >= 0 && anchor < visible.length) { diff --git a/packages/ui/src/lib/components/RoomyThread.svelte.test.ts b/packages/ui/src/lib/components/RoomyThread.svelte.test.ts index fb0e810..fc1b92a 100644 --- a/packages/ui/src/lib/components/RoomyThread.svelte.test.ts +++ b/packages/ui/src/lib/components/RoomyThread.svelte.test.ts @@ -146,9 +146,11 @@ describe('Roomy thread', () => { const boxes = [...target.querySelectorAll('.rmsg-check')] as HTMLInputElement[] boxes[1]?.dispatchEvent(new MouseEvent('click', { bubbles: true, cancelable: true })) flushSync() + expect(boxes.map((box) => box.checked)).toEqual([false, true, false, false, false]) expect(target.querySelector('.rmy-foot')?.textContent).toContain('1 selected') boxes[3]?.dispatchEvent(new MouseEvent('click', { bubbles: true, cancelable: true, shiftKey: true })) flushSync() + expect(boxes.map((box) => box.checked)).toEqual([false, true, true, true, false]) expect(target.querySelector('.rmy-foot')?.textContent).toContain('3 selected') const importer = target.querySelector('.rmy-acts .btn-p') as HTMLButtonElement