Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

更新依赖 #72

Open
wants to merge 23 commits into
base: main
Choose a base branch
from
Open

更新依赖 #72

wants to merge 23 commits into from

Conversation

chenjunyu19
Copy link
Contributor

@chenjunyu19 chenjunyu19 commented Jan 28, 2024

在尽可能不改动现有代码的前提下,更新了一波 npm 依赖。不过还有以下问题可能需要作者 @xytoki 帮助解决。

  • 我简单测试了各项功能的工作情况,但可能还是需要再深度检查一遍有没有功能出现故障。
  • 我暂时没搞明白成就自动扫描在本地应该如何测试。虽然单文件版的构建可以在本地启动扫描,但是准确率很差。Actions 里下载的单文件版准确率也很差,说明不是更新依赖引起的。
  • PreJS 里相关的外部库版本已经发生变化,但字节 CDN 里似乎没有对应的版本。不过目前 PreJS 已经默认关闭,应该没有影响。
  • Vite 的配置文件需要升级为 ES 模块的模式,但目前里面还有一些 require,看下用什么方式处理。
  • GitHub Actions 配置里可能也需要提高一下 node 版本,目前里面的 Node.js 16 已经是不受支持的版本的了。
  • element-plus 更新以后构建会失败。
  • 我对 Sentry 不熟悉,且没有测试条件。
  • TypeScript 及相关 dev 依赖升级后会破坏一些版本关系。

(以上打勾的问题已经解决。)

Copy link

netlify bot commented Jan 28, 2024

Deploy Preview for cocogoat ready!

Name Link
🔨 Latest commit 5d27e90
🔍 Latest deploy log https://app.netlify.com/sites/cocogoat/deploys/662a3a3576d0c50008bfeb75
😎 Deploy Preview https://deploy-preview-72--cocogoat.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

@xytoki
Copy link
Contributor

xytoki commented Jan 28, 2024

感谢,我应该在春节前后把这个处理完合进去。

  • 自动扫描理论上用webpack serve就能正常工作,(vite理论上应该也行啊?),失败率高可能是各种原因引起的,比如说原神引入了成就搜索之后失败率就有上升,可能需要调优一下opencv部分,不知道有没有空,有空我就看看,现在都接近退坑了(
  • onnxruntime目前需要锁死1.1.10,因为依赖了外部cdn的wasm文件,这个如果要升级的话目前其实是把onnx换成paddlejs合适一些,但涉及挺大的重构的,目前就先留在这个版本了
  • sentry系列的包理论上也可以升级的,官方说的是运行库比server新是没问题的,我到时测试一下
  • prejs之后应该是不会开了,现在各大公共cdn都有各种问题,现在甚至是在考虑把wasm之类的都自己提供服务的,所以公共cdn没有版本的问题倒是不需要考虑

@chenjunyu19
Copy link
Contributor Author

chenjunyu19 commented Jan 28, 2024

试着调试了一下,大概情况如下:

  • webpack serve 确实可以跑成就识别。
  • Vite 下的 WorkerMacro 有点小问题,简单修改后可以在 vite-dev 模式下跑起来,成就识别工作正常。不过普通的生产模式仍有问题,可能需要重新设计 Vite 下的 WorkerMacro。
  • (开发模式下)需要新版 Vite 才能正常打开成就识别那个 frame,用 Vite V4 会报错 404。
  • 新版 Vite 下单文件构建已经无法正常工作,回退到 Vite V4 可以构建出正常工作的单文件版本。出错的原因是对于 import __magic__ from './file.ts?worker&inline' 这种导入,新版 Vite 上的结果是字符串 error
  • 无论是 webpack serve 还是 Vite serve,成就识别的准确率都是极高的,与线上版本表现一致。

单文件版准确率差的问题,实质上是文本编码问题。下载 Actions 里的单文件构建版,启动成就识别,观察控制台输出,可以发现,识别结果都是乱码。根据这篇文章,基本可以认为乱码类型是“以 ISO8859-1 方式读取 UTF-8 编码的中文”。(太怪了 😥)

image

也就是说,在这个 PR 以前,单文件版的成就识别功能就是无法正常使用的,而且似乎也没有人反馈。再考虑到新版 Vite 已经完全无法 inline 导入 Worker,我们可能应当放弃单文件模式下的成就识别(或者说 Worker 支持),甚至完全放弃单文件构建

@chenjunyu19
Copy link
Contributor Author

已经把 Sentry 和 onnxruntime 以外的依赖都升级并处理了,作者最后测试一下功能的正确性应该就可以合并了。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants