merge: build: 升级Tauri相关依赖03a238bbeabeaa0689fe1059a7eba2c021b1288e fix: unusedwarning fix: main.tsx:15 react-i18next:: i18n.languages were undefined or empty undefined fix: favicon.ico:1 GET http://localhost:5173/favicon.ico 404 (Not Found) fix: 1.1.2bugFAILED: failed to mount FUSE fs: mountpoint path already exists: Z: fix: warning: spurious network error (3 tries remaining): received unexpected content-type; class=Http (34) fix:1.1.2Critical bug'编辑挂载'无法保存 fix:utils.ts:219 Z: react.development.js:209 Warning: Each child in a list should have a unique "key" prop. fix:Warning: Cannot update during an existing state transition (such as within render). fix ERR_CONNECTION_REFUSED #118
Merged
VirtualHotBar merged 17 commits intoVirtualHotBar:mainfrom Feb 17, 2026
Merged
merge: build: 升级Tauri相关依赖03a238bbeabeaa0689fe1059a7eba2c021b1288e fix: unusedwarning fix: main.tsx:15 react-i18next:: i18n.languages were undefined or empty undefined fix: favicon.ico:1 GET http://localhost:5173/favicon.ico 404 (Not Found) fix: 1.1.2bugFAILED: failed to mount FUSE fs: mountpoint path already exists: Z: fix: warning: spurious network error (3 tries remaining): received unexpected content-type; class=Http (34) fix:1.1.2Critical bug'编辑挂载'无法保存 fix:utils.ts:219 Z: react.development.js:209 Warning: Each child in a list should have a unique "key" prop. fix:Warning: Cannot update during an existing state transition (such as within render). fix ERR_CONNECTION_REFUSED #118VirtualHotBar merged 17 commits intoVirtualHotBar:mainfrom
VirtualHotBar merged 17 commits intoVirtualHotBar:mainfrom
Conversation
…h' on 'Window': Invalid value
fix React DOM嵌套警告 fix modifyOpenlistConfig函数增强netmount/openlist/config.json稳定性
…as within `render`). Render methods should be a pure function of props and state.
…e a unique "key" prop. fix:react-dom.development.js:86 Warning: validateDOMNesting(...): <div> cannot appear as a descendant of <p>.\n
…rm> cannot appear as a descendant of <form>.
… list should have a unique "key" prop.
…expected content-type; class=Http (34)
… exists: Z: feat: rust api ,tauri sidecar,job object
merge: feat: 添加存储库模式实现和类型安全增强784565d38a11ba38eb68a10de2e4f8353b7de464
Owner
|
请解决与当前main分支的冲突 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
修复前:
1主要问题Rclone连接失败:前端重复尝试连接但收到 ERR_CONNECTION_REFUSED 错误
2 pnpm tauri dev下偶尔发生netmount/openlist/config.json损坏
分析:
debug 发现 Rclone已经成功启动(日志显示Serving remote control on http://[::]:60021/),但前端连接失败的原因是:
IPv4/IPv6地址不匹配问题:
Rclone绑定到IPv6地址:http://[::]:60021/
前端连接IPv4地址:http://localhost:60021/(Windows默认解析为 127.0.0.1)
时序问题:
Rclone进程启动后需要时间初始化服务,but进程启动后立即测试连接,,而此时服务尚未完全就绪
其他问题:
React DOM嵌套警告 :< div > 不能作为 < p > 的子元素
已实施的修复
修复React DOM嵌套警告
文件:src/main.tsx 将 < p > 标签改为 < d iv> 标签
修复IPv4/IPv6地址不匹配
文件:src/utils/rclone/process.ts 改为明确的IPv4地址 127.0.0.1
增加服务启动等待时间
文件:src/utils/rclone/process.ts 在spawn后添加1秒等待时间
完善API请求头部
文件:src/utils/rclone/request.ts 问题:只发送Authorization头,缺少Content-Type和请求体 修复:使用完整的headers并添加JSON请求体
增强netmount/openlist/config.json稳定性
文件:src\utils\openlist\openlist.ts 修复modifyOpenlistConfig函数,在文件不存在时使用空对象
修复后:

修复前:
(匿名) @ react-dom.development.js:25690
add.tsx:55 {label: 'storage.WebDav', type: 'WebDav', description: 'description.webdav', framework: 'openlist', defaultParams: {…}}
add.tsx:75 Warning: Cannot update during an existing state transition (such as within
render). Render methods should be a pure function of props and state.at AddStorage_page (http://localhost:5173/src/page/storage/add.tsx:47:17)
at RenderedRoute (http://localhost:5173/node_modules/.vite/deps/react-router-dom.js?v=24e56973:4028:5)
at Routes (http://localhost:5173/node_modules/.vite/deps/react-router-dom.js?v=24e56973:4467:5)
at main
at Content (http://localhost:5173/node_modules/.vite/deps/@arco-design_web-react.js?v=24e56973:18020:25)
at section
at Layout (http://localhost:5173/node_modules/.vite/deps/@arco-design_web-react.js?v=24e56973:18081:43)
at section
at Layout (http://localhost:5173/node_modules/.vite/deps/@arco-design_web-react.js?v=24e56973:18081:43)
at ConfigProvider (http://localhost:5173/node_modules/.vite/deps/@arco-design_web-react.js?v=24e56973:7478:15)
at App (http://localhost:5173/src/app.tsx:165:20)
at Router (http://localhost:5173/node_modules/.vite/deps/react-router-dom.js?v=24e56973:4410:15)
at BrowserRouter (http://localhost:5173/node_modules/.vite/deps/react-router-dom.js?v=24e56973:5155:5)
printWarning @ react-dom.development.js:86
error @ react-dom.development.js:60
warnAboutRenderPhaseUpdatesInDEV @ react-dom.development.js:27540
分析:问题在于 在渲染阶段直接调用 setFieldValue,违反了 React 的渲染纯净性原则
修复内容:src\page\storage\add.tsx 安全地设置 mount_path,避免在渲染阶段更新状态
修复前:
InputForm.tsx:224 Warning: Each child in a list should have a unique "key" prop.
Check the render method of
InputForm_module. See https://reactjs.org/link/warning-keys for more information.at Item5 (http://localhost:5173/node_modules/.vite/deps/@arco-design_web-react.js?v=24e56973:30363:43)
at InputForm_module (http://localhost:5173/src/page/other/InputForm.tsx:254:3)
at div
at div
at AddStorage_page (http://localhost:5173/src/page/storage/add.tsx:47:17)
at RenderedRoute (http://localhost:5173/node_modules/.vite/deps/react-router-dom.js?v=24e56973:4028:5)
at Routes (http://localhost:5173/node_modules/.vite/deps/react-router-dom.js?v=24e56973:4467:5)
at main
at Content (http://localhost:5173/node_modules/.vite/deps/@arco-design_web-react.js?v=24e56973:18020:25)
at section
at Layout (http://localhost:5173/node_modules/.vite/deps/@arco-design_web-react.js?v=24e56973:18081:43)
at section
at Layout (http://localhost:5173/node_modules/.vite/deps/@arco-design_web-react.js?v=24e56973:18081:43)
at ConfigProvider (http://localhost:5173/node_modules/.vite/deps/@arco-design_web-react.js?v=24e56973:7478:15)
at App (http://localhost:5173/src/app.tsx:165:20)
at Router (http://localhost:5173/node_modules/.vite/deps/react-router-dom.js?v=24e56973:4410:15)
at BrowserRouter (http://localhost:5173/node_modules/.vite/deps/react-router-dom.js?v=24e56973:5155:5)
printWarning @ react-jsx-dev-runtime.development.js:87
error @ react-jsx-dev-runtime.development.js:61
分析:问题根源:在 InputForm.tsx 某循环中,渲染多个 组件时未提供 key 属性
修复方案:
使用 dataItem.name 作为 key:
name 字段是唯一的表单参数标识符
修复前:
1)存储‘管理’页面react.development.js:209 Warning: Each child in a list should have a unique "key" prop.
2)存储‘浏览’页面
react-dom.development.js:86 Warning: validateDOMNesting(...):
.
1)问题分析:src\page\storage\storage.tsx
在数据映射中,使用的是小写的item.path字段
但Table组件的rowKey属性设置为大写的'Path'
导致React无法找到正确的key字段,从而产生警告
2)问题分析:src\page\storage\explorer.tsx 在<Typography.Paragraph>组件中包含了
1)方案:将rowKey属性改为小写的'path'以匹配数据字段元素 等等
2)解决方案:将<Typography.Paragraph>改为普通的
修复前:‘添加挂载’页面react-dom.development.js:86 Warning: validateDOMNesting(...):
cannot appear as a descendant of .分析:< form > 不能作为另一个 < form > 的后代出现。这是一个嵌套表单的警告,出现在 AddMount_page src/page/mount/add.tsx中,涉及 InputForm_module src/page/other/InputForm.tsx
修复:移除外层 < Form > 标签,将表单项直接放在容器中 移除外层 标签,用普通 容器包装表单项
bug ’添加挂载‘页面 点击’挂载‘后报错
日志 react.development.js:209 Warning: Each child in a list should have a unique "key" prop.
分析 表格数据映射时缺少唯一 key 属性
修复
src/page/mount/mount.tsx - 添加了唯一 key 属性
优化了 mountStorage 调用的异步处理添加 async 并使用 loading 状态优化体验
bug1 编辑挂载时候 无法修改挂载路径 没有添加挂载时候的前端选项 挂载路径桌面(推荐)自动分配盘符自定义
bug2 编辑挂载页面 任何修改都无法保存 这个bug在原作2024年1.1.2release就存在
分析:
编辑模式下 mountPath 字段被设置为 hidden={isEditMode}
保存按钮被禁用是因为:
编辑模式下 mountPath 是隐藏字段导致!mountPath 为 true
保存按钮的条件是 disabled={!storageName || !mountPath},初始状态下 storageName 或 mountPath 为空值
修复:
添加UI编辑挂载时也能看到和修改挂载路径选项(桌面推荐、自动分配盘符、自定义)
if(点‘编辑’){载入上次保存的路径}
分析:这是1.1.2release版就有的bug,在 win10环境下,openlist rclone都是netmount.exe 下的子进程 if win11运行环境 openlist, rclone 是独立进程。if win11下netmount卡死用任务管理器直接关闭进程(or tauri dev热重载or异常崩溃),会导致openlist rclone 残留,下次启动netmount 会冲突
结论: win11策略限制导致openlist rclone脱离netmount进程树. win11任务管理器基于App User Model ID 分组不是父进程ID
修复: 配置tauri sidecar和改 Rust 端,使用 tauri_plugin_shell 的 Rust API 启动 sidecar,并关联到 Job Object