• Mohamed Aziz Mejri's avatar
    Message list virtualization (#1993) · bf44acd7
    Mohamed Aziz Mejri 提交于
    Closes #1971
    
    
    
    
    
    
    
    
    
    
    
    
    
    <!-- This is an auto-generated description by cubic. -->
    ---
    ## Summary by cubic
    Virtualized the chat message list with react-virtuoso for smoother
    scrolling and lower memory use in long chats, with non-virtualized
    rendering in E2E builds for stable tests. Memoized ChatMessage to reduce
    unnecessary re-renders.
    
    - **New Features**
    - Switched MessagesList to Virtuoso with itemContent, overscan, smooth
    follow, and initial focus on the latest message.
    - Moved context limit and Undo/Retry controls into a footer; preserved
    empty/setup states.
    
    - **Dependencies**
      - Added react-virtuoso ^4.17.0.
    
    <sup>Written for commit f82a976c70bebf40d5c7af7de514e0afde604c64.
    Summary will update automatically on new commits.</sup>
    
    <!-- End of auto-generated description by cubic. -->
    
    
    
    
    
    
    
    
    
    
    
    
    
    <!-- CURSOR_SUMMARY -->
    ---
    
    > [!NOTE]
    > Virtualizes the chat message list with react-virtuoso, adds a
    non-virtualized path for E2E via E2E_TEST_BUILD, and refactors
    footer/actions with memoized ChatMessage.
    > 
    > - **Frontend (chat)**:
    > - Switch `src/components/chat/MessagesList.tsx` to `react-virtuoso`
    with `itemContent`, `components.Footer`, overscan, and smooth follow;
    extract `FooterComponent` for context limit + Undo/Retry controls.
    > - Add E2E test mode using `envVars.E2E_TEST_BUILD` to render
    non-virtualized list; improve empty/setup handling; memoize
    `ChatMessage`.
    > - **Electron/IPC**:
    > - Include `E2E_TEST_BUILD` in `get-env-vars` so renderer can access
    test-mode flag.
    > - **Dependencies**:
    >   - Add `react-virtuoso`.
    > 
    > <sup>Written by [Cursor
    Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
    1c71fe7555a6a32ff29ef1034b889822527484ba. This will update automatically
    on new commits. Configure
    [here](https://cursor.com/dashboard?tab=bugbot).</sup>
    <!-- /CURSOR_SUMMARY -->
    bf44acd7
名称
最后提交
最后更新
..
__tests__ 正在载入提交数据...
app 正在载入提交数据...
atoms 正在载入提交数据...
client_logic 正在载入提交数据...
components 正在载入提交数据...
constants 正在载入提交数据...
contexts 正在载入提交数据...
db 正在载入提交数据...
hooks 正在载入提交数据...
ipc 正在载入提交数据...
lib 正在载入提交数据...
main 正在载入提交数据...
neon_admin 正在载入提交数据...
pages 正在载入提交数据...
paths 正在载入提交数据...
pro 正在载入提交数据...
prompts 正在载入提交数据...
routes 正在载入提交数据...
shared 正在载入提交数据...
store 正在载入提交数据...
styles 正在载入提交数据...
supabase_admin 正在载入提交数据...
utils 正在载入提交数据...
backup_manager.ts 正在载入提交数据...
main.ts 正在载入提交数据...
preload.ts 正在载入提交数据...
renderer.tsx 正在载入提交数据...
router.ts 正在载入提交数据...