2024年5月26日 | 标签:

一、问题描述
1、重新部署小狼毫并打开小狼毫的日志文件路径后,触发桌面新建、重命名、删除文件不自动刷新。
2、出问题后,手动使用坚果云同步一次,问题立马解决
启动坚果云的时候,桌面图标会闪烁一次,感觉和这个有关,是不是刷新了桌面图标缓存。

二、故障分析
1、之前分析是坚果云引起的故障,后来排除坚果云原因,坚果云可以恢复故障,而不是引起故障。
因为坚果云可以恢复故障,导致以为是坚果云触发的故障
2、后来排除坚果云,初步确定是小狼毫重新部署引起的不刷新故障。
3、后来再次经过多次对比分析,发现并非重新部署小狼毫引起的桌面不刷新。
4、而是每次重新部署后都会使用Win+T这个快捷键打开查看日志文件,最终定位到原因:是因为打开了日志文件的路径:C:\Users\ADMINI~1\AppData\Local\Temp\rime.weasel,导致桌面不自动刷新的。
5、在重新部署后,如果不打开小狼毫日志文件的路径,桌面刷新的bug不触发,重新部署并查看日志代码后,桌面不刷新故障重现。
6、不重新部署小狼毫,只打开小狼毫日志文件的路径,也会触发桌面不刷新的bug。
7、至此,终于找到了罪魁祸首,是打开隐藏的日志文件导致的。
8、如下分析过程记录
之前重新部署小狼毫之后,并不会触发桌面不刷新的故障,是因为但是未研究小狼毫日志代码,未打开日志路径。
回忆最新修改声笔拼音代码时,对小狼毫配置做了什么修改,进而引起了这个问题
另外,研究重新部署小狼毫的时候,小狼毫输入法对系统做了什么设置进而导致了这个问题的出现
重新部署后,即便使用英文输入法进行输入,也是不能自动刷新
卸载小狼毫软件之后,桌面新建文件,重命名文件,删除文件,速度都很快,没有任何卡顿

三、问题解决(有效)
1、修改代码或者自定义短语后,重新部署小狼毫,不打开如下日志文件(不打开日志文件,不触发桌面刷新故障)
路径为:C:\Users\ADMINI~1\AppData\Local\Temp\rime.weasel
2、ahk中删除win+T打开日志文件路径的快捷键
3、后续无需再查看日志代码,因为已经配置完美了
现在声笔拼音的代码基本上已经配置完成且日志不再报错,解决了之前引起困扰的小狼毫算法服务自动退出和开机无法自启动的问题;
最近也精简了声笔拼音中无用的lua翻译器代码及其他无用的代码,小狼毫启动时和重新部署时加载的代码基本已经精简到最优;
精简了无用的外挂词库,只挂载声笔拼音base.bin外挂词库,进一步优化了候选词的打开速度,让小狼毫根据自己的输入习惯形成自己的词库,这样词库中提醒的无用词语会变少,但有保留了常用的词语,满足了平时大多数场景的输入需求,没有的词语自己输入让小狼毫输入法自造即可,随着后续使用时间的加长,自己的词库丰富后,输入体验和流畅度会进一步加快。
4、如果查看了日志路径,导致桌面不刷新,临时解决方法是:打开任务管理器,手动重启Windows资源管理器。
5、测试这种方法,可以百分之百解决目前的问题。
6、至于为什么打开C:\Users\ADMINI~1\AppData\Local\Temp这个文件夹会导致桌面不刷新,底层逻辑还是不清楚,不过目前困扰自己的小狼毫重新部署后桌面不刷新的问题已经完美解决。

四、问题解决(无效)
1、临时解决方法
删除build文件夹下sbpy.schema文件中的如下代码,重启小狼毫算法服务,刷新问题临时解决
key_bindings: 1715698466
key_bindings.custom: 0
punctuation: 1715698466
punctuation.custom: 0
重新部署后,上述代码会被重新添加到sbpy.schema文件中,重新部署后问题依旧

2、解决方法尝试(无效)
添加key_bindings.custom、punctuation.custom,两个空文件后
重新部署,问题依旧,感觉和缺失这两个文件的关系不大
应该是小狼毫在重新部署的时候,操作了电脑的什么设置,导致引起不刷新的故障

3、解决方法尝试(无效)
下载第三方weasel-0.15.0-e55ee96-installer版本的小狼毫
测试结果,问题依旧,没有解决
且开机之后未重新部署,问题就出现了
放弃这个版本,设置中添加微软拼音键盘的时候,算法服务还自动重启,放弃放弃
另外,测试使用微软拼音输入法在桌面新建、重命名文件,依然不能自动刷新

4、解决方法尝试(无效)
下载官网最新的weasel-0.16.0-b1aebe8-installer版本测试
右键以管理员权限安装,安装时选择使用旧版IME
测试结果:问题依旧
且在开机之后立马出现桌面不能刷新的问题
此时还没有重新部署小狼毫
使用旧版IME之后,日志文件的保存位置变为Temp\rime.weasel,而不是之前的Temp文件夹
确定:最终使用这个版本,测试候选词的速度和软件的内存占用都是很不错的

2024年5月25日 | 标签:

一、删除如下代码
1、删除sbxlm代码
sbpy.schema.yaml文件夹下
所有包含:sbxlm的代码,全部删除
包括如下两个翻译器:
– lua_translator@*sbxlm.utils.datetime
– lua_translator@*sbxlm.utils.number

2、删除如下代码
dependencies:
– hypy
– bihua
– zhlf
– affix_segmentor@sbzdy
– affix_segmentor@bihua
– affix_segmentor@hypy
– affix_segmentor@zhlf
– table_translator@bihua
– script_translator@hypy
– script_translator@zhlf
– table_translator@sbzdy
hypy: “^aa[bpmfdtnlgkhjqxzcsrywv][a-z]*’?$”
zhlf: “^ii[bpmfdtnlgkhjqxzcsrywv][a-z]*’?$”
hypy:
prefix: aa
zhlf:
prefix: ii
filters:
– uniquifier(这个代码和weasel.custom中的代码重复了)
page_size: 6
alternative_select_keys: “_23789”
history:
initial_quality: “-1”
input: “&”
size: 5
tag: history
– history_translator
reverse_lookup(所有代码删除)

二、删除后问题解决
1、逗号,句号.无法正常输出中文全角字符,解决方法:
在weasel.custom文件夹下添加,.的代码,问题解决

2、日期和数字翻译器不能使用的解决方法
日期使用word快捷键:Alt+5,插入日期实现
数字小写翻译为大写:使用excel(设置单元格格式:添加快捷键为alt+1)
数字小写翻译为大写:使用wox插件实现
或者后续使用直接添加翻译器来实现上述功能

3、u功能无法使用
放弃u功能,使用自定义短语功能代替

4、aeiou作为首字母无法输入拼音编码的问题解决
保留aeo使用v代替的拼音规则
在需要输入以aeo开始的字时,提醒使用二替代
如果此时输入错误,输入了aeo开始
也可以很快的删除aeo,因为如上设置后
aeo是默认输出英文字母的,只需要一个退格键就可以删除
且因为此时输出的是英文字母
会提醒自己输入错误了
不像之前保留了aeiou的笔画反查功能时
候选词会出现文字,不能很快的提醒自己输错了

三、删除后体验
1、小狼毫算法服务的内存占用从之前的20多M,减少到现在的8M多
2、输入法开机启动的日志中,也没有报错代码
3、重新部署小狼毫输入法,重新部署时的日志中,错误到代码也减少了很多
4、开机日志中显示,小狼毫加载的代码变得很少,只加载必须的文件

2024年5月25日 | 标签:

一、问题描述
1、电脑桌面新建、重命名、删除文件后不会自动刷新,需手动刷新
2、开机后正常几分钟,随后就不正常
3、后来发现可能是坚果云引起的,因为:
在桌面新建或删除文件不自动刷新的情况下,启动坚果云同步一次,则可以正常刷新
4、有时候是坚果云app打开的时候桌面图标不同步,关闭坚果云后,则恢复正常
5、卸载坚果云后,重新安装问题依旧
6、通过如下路径:C:\Users\Administrator\Desktop
打开桌面文件夹,所有的新建、重命名、删除文件的操作都可以自动刷新

二、解决方法
1、解决思路
电脑出现故障是因为近期改变了相关软件的设置引起的
回忆最近对坚果云做过的操作,感觉是调整过设置中的“体验最新功能”
2、解决方法
坚果云设置中开启,体验最新功能
3、后续观察
开启体验最新功能后,重启电脑
2024年05月25日,今天测试桌面文件及文件夹刷新情况,已经恢复正常
4、AB测试
关闭坚果云:体验最新功能后
反而会就需要有问题

2024年5月25日 | 标签:

一、声笔拼音编码最新
1、截韵尾
– xform/\b([a-z]{5})[a-z]+/$1/
代码含义:当拼音编码最长为5的时候再截断

2、补笔画:xform/\b([a-z\d]{5})\d+/$1/
拼音编码+笔画编码最多输入5个编码

二、这样调整后的好处
1、可打全拼:无需关注最后编码g的省略
zh,ch,sh,强行截取为zcs之后
拼音编码最长变为5个,现在也是5码拼音再截断
因此可以打全拼,无需考虑编码最后需要省略g的问题

2、可通过拼音编码:过滤5码拼音的重码词
拼音编码为5的可以直接添加拼音进行重码词过滤,比如:
xiang:可以打出想,向,项,像
xi:习,喜
xia:下
xian:现,先,显
xiao:小,笑,消
xiang:想,向,像
如上拼音组合的重码字实在是太多了
如果不通过追加一个拼音编码来进行过滤,很难找到想要的词

3、不影响之前所有的输入习惯
声笔拼音最大的优势就是输入编码的灵活性
可以简拼、可以双拼、可以三拼、可以全拼
就是说在输入编码的时候,不管是之前保留的4个拼音编码截断
还是现在保留5码拼音截断,都不影响上述输入习惯

3、输入会比之前更流畅
完全不用担心编码被强行截断的问题
使用声笔拼音只需要注意zh,ch,sh,输入的时候省略h
再需要注意aoe前边添加v作为零声母即可
除此之外,其他的输入习惯完全可以和微信输入法保持一致
包括打全拼,打长句子的输入习惯

三、追加笔画后最多输入5个编码
1、可追加笔画的编码因为拼音编码的不同而不同
piaui:皮(pi,拼音编码2,笔画追加3,aui)
pinuo:贫(pin,拼音编码3,笔画追加2,uo)
pinge:平(ping,拼音编码4,笔画追加1,e)
xiang:想(xiang,拼音编码5,笔画不可追加)

2、无法追加笔画的5码拼音字或者追加之后首页3个候选词无法出现想要的结果时
可通过tab翻页加;‘ 实现二三字上屏

3、对比6个编码变为5个编码
是在追加笔画过滤重码的时候
可以追加的笔画个数从之前的6个变为5个
这个其实也没有影响
因为笔画过滤使用的频率没有拼音多
且笔画过滤输入1到2码已经可以找到想要的词了
也没有必要输入很多的笔画
笔画过滤的最长编码调整为6也没有太多意义
调整之后注意:因拼音编码的不同可追加的笔画数不同
2+3,3+2,4+1,5+0

2024年5月22日 | 标签:

一、删除lua代码
1、正则按键绑定处理器
– lua_processor@*sbxlm.key_binder

2、回头补码处理器,适用于:声笔拼音
– lua_processor@*sbxlm.editor
删除后测试:aeiou追加笔画过滤功能是否生效?
如生效,继续删除该代码
确认:删除该代码后不影响笔画追加过滤重码的功能使用

3、顶功处理器
自己不使用顶功功能,日志的错误代码中反复大量提醒如下错误代码
Administrator\AppData\Roaming\Rime\lua\sbxlm\popping.lua:74: attempt to index a nil value

4、计算器翻译器
输入以 e 开头的表达式,输出表达式的值
– lua_translator@*sbxlm.utils.calculator
不了解该功能如何使用

5、固顶过滤器
— 仅在模式为固顶、混顶、纯顶时才执行
– lua_filter@*sbxlm.fix

6、后置过滤器
本过滤器记录码长较短时已出现在首选的字词,当码长较长时将这些字词后置,以便提高编码的利用效率

7、选择键转注释过滤器
本过滤器将 alternative_select_keys 中定义的选择键添加到候选项的注释中显示
– lua_filter@*sbxlm.select_key_to_comment
之前使用主题weasel.custom配置文件中的如下代码:comment_font_point: 0
临时解决了候选词隐藏序号的问题,但不是正确的解决方法
删除该过滤器后即便代码如下设置:comment_font_point: 15
在候选词位置也不会出现comment的显示
在反查界面可以显示编码提醒
后续如果想关闭提醒,可以设置comment_font_point: 0

二、保留lua功能
1、日期与时间翻译器
– lua_translator@*sbxlm.utils.datetime
orq,输入:2024年05月21日
该功能有高频使用需求,保留代码观察小狼毫算法服务崩溃的问题是否还会出现

2、 数字翻译器
– lua_translator@*sbxlm.utils.number
o+小写数字翻译为大写
该功能高频使用,保留代码观察小狼毫算法服务崩溃的问题是否还会出现

三、删除上述lua翻译器后
1、算法服务无法自启动的问题解决
2、算法服务运行过程中自动退出的问题解决
3、再观察一段时间算法服务的稳定性

四、思路来源于GitHub
1、可以先尝试现将补丁文件里面启用的lua脚本全部禁用掉,或者可以降级到0.14.3.0版本
2、部分 Lua脚本 与之合用会产生崩溃,并且不会拉起 Error,这也曾困扰过我。
3、你的 Info 文件中结尾是这样的信息,而在使用上文提到的语法插件时在starting engine的过程中调用某些 Lua 就会导致 rime 毫无征兆地崩溃。
4、你需要关闭所有 Lua 或者禁用语法插件才能修复这个问题。
5、在你使用的方案*.schema.yaml文件下的engine下,把所有的lua_开它的都注释掉,translator下的spelling_hints)也需要注释掉。