getMessages(sessionId: string){returndb.prepare('SELECT * FROM messages WHERE session_id = ? ORDER BY timestamp ASC').all(sessionId);}
未限制返回条数。超长会话(10000+ 消息,含大量图片 base64):
一次性加载到内存
主进程内存占用激增
IPC 传输阻塞
渲染进程 OOM
影响
超长会话无法加载
应用崩溃
建议修复
分页加载:
getMessages(sessionId: string,options:{limit?: number;offset?: number}={}){const{limit=200,offset=0}=options;returndb.prepare('SELECT * FROM messages WHERE session_id = ? ORDER BY timestamp ASC LIMIT ? OFFSET ?').all(sessionId,limit,offset);}
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
问题类型
缺陷 / 高 / 后端服务
文件位置
electron/services/session.service.ts问题描述
getMessages 实现:
未限制返回条数。超长会话(10000+ 消息,含大量图片 base64):
影响
建议修复
建议组合实施。