walinejs / waline

💬 A Simple, Safe Comment System
https://waline.js.org/en/
GNU General Public License v2.0
2.27k stars 396 forks source link

[BUG] 一大波BUG正在赶来 #484

Closed woruo27 closed 3 years ago

woruo27 commented 3 years ago

问题描述 | Describe the bug

使用hexo-next

  1. 评论字数统计对英文只记录单词数,而非字符数,导致wordLimit无效。
  2. wordLimit不能正常在右下角显示。
  3. 记录的IP地址为Docker网关地址,而不是客户端IP。
  4. 自行部署并使用nginx反代时,SECURE_DOMAINS需要手动加入SITE_URL和serverURL。(可以补充文档说明)
  5. SENDER_NAME不能正常显示,显示的是SENDER_EMAIL
  6. meta设置为['nick', 'mail']时依然显示网址输入框
  7. 邮件的内容不支持转义字符换行,并且会明文显示html标签
  8. 回复评论时会在@字符后加入逗号,不符合常理
  9. uploadImage设置为false但无效
  10. 部分hexo-next配置选项已经过时
  11. 希望在可不填时为“昵称”等字段加上“(可选)”字样
  12. 中文环境下Anonymous应该汉化为“匿名访客”
  13. UA中Chrome92.0应该为Chrome 92.0

问题网站 | Website URL

随时可能停机:blog.woruo.online

部署方式 | Deploy Type

woruo27 commented 3 years ago

一些已经有思路的问题: 1. waline/packages/client/src/utils/wordCount.ts文件中统计的就是单词数而非字符数,但我认为在博客的环境下应该限制的是characters而不是words 3. 这里是本人nginx配置问题,抱歉 13. waline/packages/server/src/controller/comment.js应该修改

rqh656418510 commented 3 years ago

问题 3,Nginx 的代理配置问题,可以参考以下配置内容:

location / {
    ...
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header REMOTE-HOST $remote_addr;
}

问题 9,uploadImage: false 配置无效,这功能是在 Waline Client 1.3.3 版本发布之后才加进去的,等下一个版本发布就可以生效

问题 10,部分 hexo-next 配置选项已经过时,建议向官方提个 PR,或者考虑使用第三方插件 hexo-waline-next 来替代

Mister-Hope commented 3 years ago

感谢你的反馈,请把它们分割成单独的issue。以便我们逐一调查追踪。

另外第一项是Expected。我们的选项也不叫maxLength,而叫wordLimit。在这一点上,100个字符长的时候,中文可以表达的内容数量和英文会差出至少5倍,这显然不是wordLimit应该的预期表现。

如果你因为数据库问题需要限定字符数量请提fr。这不是wordCount的设计目标。

诸如2,6等请均提供必要的配置和截图,并确保不是hexo-next本身在client wrapper上的问题。

12,13这种也请单独抽离成fr。

lizheming commented 3 years ago

问题5,SENDER_NAME不能正常显示,显示的是SENDER_EMAIL

https://github.com/walinejs/waline/blob/69401a54d32bccc0bb8e6416ce0ebc8e93b4bc51/packages/server/src/service/notify.js#L57 这里是 SEND_NAME 的使用处,我们按照了 node-mailer 模块的配置格式传过去了,至于是否显示可能需要看 node-mailer 模块以及对应的邮件系统的显示逻辑了。


问题7,邮件的内容不支持转义字符换行,并且会明文显示html标签

https://github.com/walinejs/waline/blob/69401a54d32bccc0bb8e6416ce0ebc8e93b4bc51/packages/server/src/service/notify.js#L61 这里是设置邮件内容处,我们按照 node-mailer 模块的配置指定了直接传入 html 内容。换行建议你使用 HTML 标签换行。HTML 标签如果被转义显示看一下是否是评论内容中的。如果是评论内容中的是会被强制转义的。


问题8,回复评论时会在@字符后加入逗号,不符合常理

这个逻辑是我们从 Valine 复制过来的,所以应该无所谓不符合常理一说。


问题11,希望在可不填时为“昵称”等字段加上“(可选)”字样

这个是可以通过多语言 API 自定义文案自行实现的

Waline({
  lang: 'zh-CN',
  locale: {
    nick: '昵称(可选)'
  }
})

问题12,中文环境下Anonymous应该汉化为“匿名访客”

这个也是沿用了 Valine 的逻辑,这块没有做多语言的处理,如果感兴趣的话欢迎提个 PR 将其也纳入到多语言配置中~


问题13,UA中Chrome92.0应该为Chrome 92.0

这个之后处理一下~


另外我也比较同意楼上的建议,尽量将问题拆分一下吧,现在放一堆根本没办法区分哪些是需要处理哪些是不需要处理的。

woruo27 commented 3 years ago

已分别建立issues