Closed Jake-Du closed 11 months ago
@Jake-Du 是否有录屏或提供一下你的操作路径,在 Mac 环境里无法复现该问题
@Jake-Du 是否有录屏或提供一下你的操作路径,在 Mac 环境里无法复现该问题
这个问题只出现在使用docker镜像时
@Jake-Du 那感觉可能是前后端环境不一致导致的路径问题,如 Windows 下使用的是 '\' ,而 Linux 环境下是 '/' 导致的问题,我这边没有环境测试,你可以看一下下面这段代码断点排查看一下:
这里期望输出的为一个带压缩路径的 children 数组,可以断点看一下是什么原因导致的无返回,或是否有相关报错
断点排查发现问题似乎在这一行:https://github.com/opensumi/core/blob/ad721ea4259a2305f2287d82e792ae9331abc0dd/packages/file-tree-next/src/browser/file-tree.tsx#L266
删除await之后explorer加载问题就不再出现,原因未知。不清楚是否会引起新的问题。
@Jake-Du 这里 file-tree.tsx#L266 的状态更新依赖这里这段的执行 https://github.com/opensumi/core/blob/ba5213f88e4440f6aea9dc28edff5b368ab1ecd3/packages/file-tree-next/src/browser/services/file-tree-model.service.ts#L388
可以看一下这里上面是否存在执行报错?
@Jake-Du 这里 file-tree.tsx#L266 的状态更新依赖这里这段的执行 https://github.com/opensumi/core/blob/ba5213f88e4440f6aea9dc28edff5b368ab1ecd3/packages/file-tree-next/src/browser/services/file-tree-model.service.ts#L388
可以看一下这里上面是否存在执行报错?
排查断点,await语句似乎阻塞了之后的逻辑
@erha19 我们也遇到同样的问题,目录有时候一直加载不出来,也是跑在Docker上面,用的Debian11做的Docker镜像系统。
改为其它路径又可以,比如在浏览器直接改为根路径回车,或者选择其它更低级的目录。
The continuos loop exists on IDE file tree explorer window. The Docker inage was built from Dockerfile that OpenSumi has published on Github and that Docker image deploys node on Debian. we have try Alpine Linux also.
@CaptainNeo2023 我尝试在本地 Docker 中复现一下这个问题,你也可以试一下升级 OpenSumi 版本至最新的 2.25.4 版本
@erha19 用2.25.4版本也是有同样的问题
@CaptainNeo2023 我看一下这个问题
@Jake-Du @CaptainNeo2023 定位到原因了,这里核心原因是在 Ubuntu 或其他 Unix-like 系统环境内,.
开头的文件会默认作为隐藏文件并不可被独立监听,因此在只有 .sumi/xxx
这个路径文件时,这个边界情况会导致 OpenSumi 在 Unix 系统下的 Node 层监听报错导致文件树无法正常渲染。
你们也可以在用户设置中追加:
{
"files.watcherExclude": {
"**/.git/objects/**": true,
"**/.git/subtree-cache/**": true,
"**/node_modules/*/**": true,
+ "**/.??*": false // <-- Add this line to include hidden files and directories
}
}
来解决这个问题。
同时,这个 PR https://github.com/opensumi/core/pull/2912 可以解决这个问题(但只解决显示问题,如果需要监听 .
前缀文件变化仍然需要添加上面设置)。
在workSpace中创建名为.sumi且内容不为空的文件夹会触发这个bug
疑似core中file-tree的状态isReady和isLoading没有被成功赋值