希望能够改进mirai console新版本中的用户须知的确认方式
-
我能够理解采取一些必要的措施进行要求用户确保已经认可并且阅读了用户须知
但是目前的这种强制要求等待且需要用户值守的确认方式我认为并不科学,甚至这让我非常的难受,因为多个服务器上需要部署更新的话也意味着我要反复阅读多次这个用户须知
对于一个cli程序来说,这是非常常见的情况,因此建议修改为更加合理的方式
例如,一次性显示完毕之后要求用户连续回答几个比较简单但是需要思考的问题(y/n连续变化),或者最后要求用户输入一串文本,确保用户确实意识是清醒的而不是连续按回车给跳过了
希望能够得到改进,如果需要我提交issue至github,或者有其他的想法交流,请在下方留言
本文绝无任何恶意,仅仅只是发布个人看法,请理性讨论
-
其实添加JVM参数
-Dmirai.console.skip-end-user-readme
就可以跳过。 -
@MrXiaoM 在 希望能够改进mirai console新版本中的用户须知的确认方式 中说:
其实添加JVM参数
-Dmirai.console.skip-end-user-readme
就可以跳过。原来提供了跳过的参数啊,我是直接mcl u更新了,没有去gh看提交更新了什么,所以并不知道具体的更新细节
不过这个确认方式我确实认为需要改进,至少别搞得这么需要有人长时间值守完成确认
(参考隔壁微软Windows,由于官方镜像安装步骤需要有人值守,所以各种想办法实现无人自动安装
虽然这两者所需要的时间不在同一个数量级上,而且这个比喻并不是那么恰当
但是我相信您能够理解我的意思
强迫用户交互性值守操作应答在绝大多数情况下并不是一个好的选择)
@Him188 @RainChan
希望项目的主分支维护者可以参考一下我的意见,谢谢 -
每句话都要等两三秒我也觉得太多了,但是我最近没时间改,你要是有兴趣可以按你的提议PR一下(应该简单改一下参数就可以了)
-
@Him188 在 希望能够改进mirai console新版本中的用户须知的确认方式 中说:
每句话都要等两三秒我也觉得太多了,但是我最近没时间改,你要是有兴趣可以按你的提议PR一下(应该简单改一下参数就可以了)
@Him188 好的,感谢回复,不过这条回复我似乎没有收到邮件
因此没能够及时查看到消息
另外,请问还有什么可以使用的特殊标记吗?
https://github.com/mamoe/mirai/blob/dev/mirai-console/backend/mirai-console/resources/net/mamoe/mirai/console/internal/enduserreadme/readme.txt
这份txt中已有的内容只能够实现暂停和等待秒数,我认为在最后要求用户输入一串文本表示同意会更好,但是现有的标记无法实现这个功能 -
好吧,我仔细检查了一下https://github.com/mamoe/mirai/pull/2738/files这份pr
似乎这些标记是在单独的kt文件中实现功能的,或许我可以尝试修改一下相关的类 -
添加阅读须知的原因是因为过多用户没有阅读手册而被迫添加的
一味的让用户输入回车可能确实确实不是很好的设计,但是也达到了最初都目的:让用户阅读使用手册
目前的方式确实是有点不科学,但可以开议题讨论改进方法
至于为什么没有将 jvm 参数直接写进 doc 文档里,其原因是不希望整合包作者将此参数内置到启动参数中。可能这确实不是很好都做法,后续会在文档中补上 -
关于此部分应该如何修改,我们是很欢迎有人提供建议的,这部分确实是不科学的,但是提供建议的同时希望大家记住此机制的初衷是让用户必须阅读使用手册
-
@Karlatemp 或许可以写进mcl-installer?
-
@起舞弄清影 不现实,大部分不看用户手册的人都是直接从 mirai-console-loader 仓库下载release或者是用整合包的。有些优秀用户,就算把用户手册放到整合包同目录他们也不会看。
-
@Karlatemp 在 希望能够改进mirai console新版本中的用户须知的确认方式 中说:
添加阅读须知的原因是因为过多用户没有阅读手册而被迫添加的
一味的让用户输入回车可能确实确实不是很好的设计,但是也达到了最初都目的:让用户阅读使用手册
目前的方式确实是有点不科学,但可以开议题讨论改进方法
至于为什么没有将 jvm 参数直接写进 doc 文档里,其原因是不希望整合包作者将此参数内置到启动参数中。可能这确实不是很好都做法,后续会在文档中补上我认为可以考虑把这个参数加到用户须知的最后,然后也适当缩短一些强制等待的时间
其实在我看来强制等待并不是一个好的选择,我更倾向于让用户多按几次回车,最后等个三秒就行了(前提是用户须知要压缩的短一些,目前的虽然详细,但是作为一份告知书还是有点长了)
我认为最好的方法或许是,一次性显示完,然后最后要求用户输入一行特定的字符串(就和github删除仓库的二次确定一样)
-