-
依赖 node-canvas 会使插件进入不安全状态,建议使用
puppeteer
进行 canvas 绘图,这将获得原生 V8 引擎加持的完整 canvas,详阅:puppeteer.koishi.chat-
puppeteer
中使用 canvas 可以阅读其官方文档
-
-
可以通过
downloads
分发≥ 10M 的资源,详阅:downloads.koishi.chat
原来 downloads 是有文档的
目前 canvas 用的是一个 rust 绑定的库 GitHub - Brooooooklyn/canvas: High performance skia binding to Node.js. Zero system dependencies and pure npm packages without any postinstall scripts nor node-gyp.
大小能控制在 30MB 左右,且能支持所有平台,包括安卓
未来如果我打算发布更多类似插件依赖都共享的,应该影响不大。
而且 canvas 能将生成耗时压到 10ms 以下,这是 puppetter 做不到的,并且并不是每个 koishi 用户都安装了 puppeteer。所以目前除了 不安全
比较显眼外,没有动力去动现有代码,我也没有 puppeteer 的使用经验
还有谁把我举办了
谁把你举办了
看了一下你发表的内容都是正常显示的,没有人举办你啊。
安装了不安全插件的用户将无法再安装、更新或卸载任何插件,只能通过双清重装解决,因此没有任何用户会安装不安全插件(除非对某个插件特别有需求的用户,如果能够自行解决上述问题的话则没有关系)。
如果你不了解「不安全」插件的话,可以查看以下帖子:
之前消息无了,然后又说管理员恢复了
至少我机顶盒刷成armbian都能跑,这种阴间环境都能用应该不会有什么兼容性问题了吧,而且自带字体不使用系统自带
不安全插件就是不安全,和兼容性有什么关系?
是的,他没有兼容性问题,但这和不安全插件有什么关系吗?
再次重复,不安全插件本身就是不安全的,并不是因为兼容性问题。
如果你不了解「不安全」插件的话,可以查看以下帖子:
是我表达有误了,并且发现确实依旧是不安全的方式
不安全插件大部分不都是自动检测的吗,我觉得他想表达的意思就是检测过程会检查有没有 node-canvas 作为依赖性结果误伤了,因为 node-canvas 确实会造成兼容性问题,反应没必要那么激烈
我对 ta 反应比较激烈是有其他的原因,跟本帖的关系不大了。
那说说是什么原因!
r6s 在安装后存在 .node
文件,加载这些文件会导致用户安装后无法再安装、更新或卸载任何插件,因此被标记为不安全。
不是因为不安全所以无法安装,是因为无法安装所以不安全。除此以外还有其他不安全的原因。
不要以为只有 node-canvas 会导致无法安装插件,任何带有 .node
文件的依赖都会这样,比如下面的 @napi-rs/canvas-darwin-x64
。
为什么会导致无法安装插件?
可以参考下面的文章:
如何解决我的问题?
有两种方案:
1. 不使用含有此类依赖的包
最简单的做法就是依赖 koishi-plugin-puppeteer,它直接提供了不弱于任何同类 canvas 包的 canvas 渲染能力。
2. 仍然使用 .node
但不存放于 node_modules
目录
比如依赖 koishi-plugin-downloads,将这些会占用的文件直接下载到其他地方去。
今天想了一下,你说得对,确实是我言辞过激了。在这里对两位道歉。
我不知道谁举办的,但我确实收到了举办。我没管(