mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-02-12 20:38:52 +00:00
### TL;DR Refactor space-triggered AI Widget activation logic from `keydown` to `keypress` event listeners ### Background The `keydown` event triggered by a space may originate from: 1. Normal space insertion 2. Space triggered by input method confirming candidate words In scenarios like (2), some browsers (see [ISSUE](https://github.com/toeverything/AFFiNE/issues/11541)) and input method callbacks produce events identical to scenario (1),making it impossible to distinguish between the two. To fix this, the space-activated AI listener uses the `keypress` event: In scenario 2, `event.which !== 32` (may be `30430` or other values) can be used to differentiate from scenario 1. > CLOSE BS-3081
AFFiNE Cloud Copilot E2E Tests
This directory contains end-to-end tests for the AFFiNE Cloud Copilot feature. The tests are organized in a structured way to ensure comprehensive coverage of different functionalities.
Test Structure
The e2e tests are organized into the following categories:
- Basic Tests (
/basic): Tests for verifying core AI capabilities including feature onboarding, authorization workflows, and basic chat interactions. - Chat Interaction Tests (
/chat-with): Tests for verifying the AI's interaction with various object types, such as attachments, images, text content, Edgeless elements, etc. - AI Action Tests (
/ai-action): Tests for verifying the AI's actions, such as text translation, gramma correction, etc. - Insertion Tests (
/insertion): Tests for verifying answer insertion functionality.
Test Utilities
The /utils directory contains shared utilities for testing:
- ChatPanelUtils: Helper functions for chat panel interactions
- EditorUtils: Helper functions for editor operations
- TestUtils: General test utilities and setup functions