69bd91797d
fix: prevent multiple initialization and state race condition in PopoutPage
...
- Use useRef to prevent multiple initializations
- Remove selectFile call that may cause state race condition
- Directly update store without selectFile to preserve isEditing state
2026-03-22 00:16:22 +08:00
3b1f99951e
fix: pass tab content via URL params instead of IPC
...
- Pass content, unsavedContent, isEditing via URL query params
- PopoutPage reads directly from URL params on mount
- Eliminates IPC race condition entirely
- Direct store update with loaded:true to prevent auto-reload
2026-03-22 00:09:07 +08:00
2d87c267cf
fix: wait for renderer ready before sending tab data
...
- Wait for did-finish-load event in transfer-tab-data handler
- Await transferTabData before closing file in handlePopOut
- Remove arbitrary 500ms timeout, now uses proper IPC ack flow
2026-03-22 00:06:01 +08:00
d0e286e4bb
fix: prevent state loss when popout tab and hide option for home tab
...
- Force loaded:true and loading:false in usePopOutTab to prevent auto-load overwriting
- Hide '在新窗口中打开' option for home tab in context menu
2026-03-22 00:00:34 +08:00
aa5895873b
feat: transfer tab state to popout window and close tab in main window
...
- Restore transfer-tab-data IPC for transferring tab state
- Create usePopOutTab hook to receive tab data in new window
- Update handlePopOut to transfer data and close tab in main window
- Add PopOutTabData interface for type safety
2026-03-21 23:52:02 +08:00
c37e6ab4f2
feat: add titlebar to popout window with minimize/maximize/close buttons
...
- Add window-minimize, window-maximize, window-close, window-is-maximized IPC handlers
- Add titlebar with window controls to PopoutPage
- Update preload and types for new window control APIs
2026-03-21 23:46:21 +08:00
f160adbdb1
feat: add 'pop out tab as new window' functionality
...
- Add createWindow IPC for creating secondary windows
- Add PopoutPage for content-only rendering in new windows
- Add multi-window management to electron state
- Add '在新窗口中打开' context menu to tabs
- Fix: Use standard URL path instead of hash for React Router routing
2026-03-21 23:42:48 +08:00
7db1f9162b
feat: 默认折叠左侧文件列表
2026-03-20 13:10:24 +08:00
d54510a864
feat: 添加 Terminal 模块,启动 XCCMD.exe 服务
2026-03-20 13:08:43 +08:00
c83f23c319
feat: 添加 SDD (规范驱动开发) 模块
2026-03-18 16:17:30 +08:00
90517f2289
feat: 添加语音模块支持,优化服务启动方式
2026-03-17 04:03:39 +08:00
18c02053da
feat(opencode): 将 iframe 替换为 webview 避免 Tauri 应用在 iframe 中卡死
2026-03-14 23:56:02 +08:00
0d5cd329ca
feat(home): add Thinking fold button, improve message styling
2026-03-14 22:56:42 +08:00
e950484af6
feat(home): add drag file to chat input, add settings config API
2026-03-14 22:22:35 +08:00
cbc1af7348
feat(home): add AI chat interface with OpenCode integration
2026-03-14 21:53:52 +08:00
88d42b37a6
feat(opencode): 改进 XCOpenCodeWeb 服务管理和健康检查
2026-03-14 20:44:15 +08:00
f692961823
refactor: 统一端口配置,通过 IPC 获取而非硬编码
2026-03-13 21:20:31 +08:00
1be470f45b
fix: 端口改回 3002
2026-03-13 21:15:26 +08:00
96c709f109
fix: 修正 XCOpenCodeWeb 端口为 3000
2026-03-13 21:14:35 +08:00
72d79ae214
feat: 实现 OpenCode 页面生命周期管理 XCOpenCodeWeb.exe
...
- 新增 electron/services/xcOpenCodeWebService.ts 服务管理模块
- 标签页打开时启动 XCOpenCodeWeb.exe,关闭时停止
- 使用 iframe 在 OpenCode 页面显示 Web 服务 (端口 3002)
- 添加 bin 目录打包配置
- 添加 TypeScript 类型定义
2026-03-13 20:55:34 +08:00
cd70b50180
feat: 添加 opencode 模块和相关服务
2026-03-13 18:39:58 +08:00
96390df254
chore: 添加保存调试日志、修复 time-tracking 类型、简化首页
2026-03-13 18:39:08 +08:00
371d4ce327
fix: 修复 markdown 编辑保存后内容丢失的问题
...
- 在 saveContent 中缓存 unsavedContent,避免 async 期间的竞态条件
- 在 useMarkdownLogic 中添加 lastContentRef 跟踪内容变化,防止不必要的编辑器更新
2026-03-13 18:38:38 +08:00
04fc326a8d
fix: 修复侧边栏拖动条在网页界面区域失效的问题
2026-03-11 22:11:27 +08:00
1b80fd036d
feat(remote): 支持文件并行上传下载
2026-03-11 21:07:13 +08:00
320d2654f5
fix: 统一窗口初始分辨率与最小分辨率,调整页面padding一致性
2026-03-11 20:44:55 +08:00
1fa17f7c9d
fix(remote): 调整传输队列默认高度,优化按钮夜间模式样式
2026-03-10 19:16:02 +08:00
7a39fc3bce
fix(remote): 修复文件传输返回按钮不刷新列表的问题,过滤回收站等系统文件
2026-03-10 19:09:39 +08:00
2503d8be64
refactor(home): 将首页改造成opencode服务入口页面
...
- 移除ChatGPT风格对话界面相关代码
- 添加在首页自动启动/停止opencode serve的IPC调用
- 首页使用webview加载opencode服务器界面
2026-03-10 16:20:32 +08:00
de4c101b36
feat(remote): 实现文件上传真实进度显示
...
- 使用分块上传替代一次性上传
- 调用 /upload/start → /upload/chunk → /upload/merge 接口
- 通过 IPC 事件实时推送上传进度到前端
- 修复 merge 时未使用目标路径的问题
2026-03-10 15:36:10 +08:00
433db24688
feat(remote): 实现文件下载真实进度显示
...
- 下载改用流式读取,计算真实进度百分比
- 通过 IPC 事件实时推送进度到前端
- 支持 Content-Length 计算下载进度
2026-03-10 14:59:11 +08:00
40f99f0c49
feat: 首页改造成ChatGPT风格对话界面,调整各页面padding布局
2026-03-10 10:49:24 +08:00
8839ec244a
feat(remote): 下载改成本地面板选择目录
2026-03-10 02:10:21 +08:00
84e455d9a6
feat(remote): 完善文件传输功能及WebSocket支持
2026-03-10 01:41:02 +08:00
6d5520dfa5
feat(remote): 文件传输改用Electron IPC通道
...
- 主进程新增4个IPC handler处理远程文件操作
- 前端通过IPC调用而非浏览器fetch访问远程API
- Remote服务新增3003端口专门处理文件传输
- 上传使用文件路径方案,下载使用保存对话框方案
2026-03-10 00:34:02 +08:00
788757b785
feat(remote): 新增文件传输专用端口配置
...
- 添加 fileTransferPort 字段到 RemoteDevice 类型
- 新增 frp 穿透配置: 3003 -> 8083
- 文件传输功能改用专用端口,避免与远程桌面端口共用
- 配置对话框新增文件传输端口设置
2026-03-10 00:09:01 +08:00
4273b3d43b
fix(remote): 上传下载现在使用文件面板当前选择的路径
2026-03-09 19:48:15 +08:00
d65b3e7909
feat(remote): 支持浏览系统磁盘目录
...
- 添加 getDrives() 方法获取磁盘驱动器列表
- 修改 browseDirectory() 支持 allowSystem 参数浏览系统路径
- 添加 /api/files/drives 路由
- 修改前端 RemoteFilePanel 支持显示驱动器和系统目录浏览
2026-03-09 19:21:09 +08:00
49bf8a97d2
feat(remote): 添加 CORS 中间件支持文件跨域访问
2026-03-09 17:27:47 +08:00
92088e9c8a
fix(todo): 编辑时内容为空则自动删除任务项
2026-03-09 15:29:08 +08:00
d24a188621
feat(todo): 优化任务项编辑体验,支持多行输入
2026-03-09 15:14:23 +08:00
50cfc8835f
feat(remote): 完善远程桌面认证机制
...
1. 修复 WebSocket 认证漏洞:WebSocket 连接现在需要认证(支持 URL 参数 password 或 Cookie token)
2. 支持 URL 参数自动登录:HTTP 请求带 ?password=xxx 参数时会自动验证并设置 cookie
3. 主程序添加密码配置:
- RemoteDevice 类型添加 password 字段
- ConfigDialog 添加密码输入框
- 打开远程桌面时传递 password 参数
4. 修复 remote/public/js/app.js:
- 从 URL 参数获取 password 并传递给 WebSocket 连接
- 移除错误的 token 当作 password 的代码
5. 添加密码变化检测:修改密码后自动刷新页面重新认证,无需重启 remote 服务
6. 文件传输 API 支持 password 参数
2026-03-09 00:54:48 +08:00
8531d916a3
fix: 修复侧边栏拖动条位置偏移问题
2026-03-08 17:35:18 +08:00
afe43c5ff9
feat(remote): 添加文件传输功能页面
...
- 新增 FileTransferPage 组件,支持本地与远程文件传输
- 添加 LocalFilePanel 和 RemoteFilePanel 组件
- 实现 TransferQueue 传输队列组件,支持拖动调整高度
- 优化侧边栏拖动条样式,修复拖动偏移问题
- 统一文件列表样式为灰白极简风格
- 支持 file-transfer-panel 协议打开文件传输标签页
2026-03-08 17:03:21 +08:00
7b2a88f27e
style(remote): 优化设备控制面板按钮样式为灰白极简风
2026-03-08 15:46:24 +08:00
8f56ae89b9
feat(remote): 添加 OpenCode 和 OpenClaw 按钮到设备控制面板
2026-03-08 15:38:38 +08:00
1f104f73c8
Initial commit
2026-03-08 01:34:54 +08:00