osfans / trime

同文安卓輸入法平臺3.x/Android-rime/Rime Input Method Engine for Android
http://osfans.github.io/trime/
GNU General Public License v3.0
3.08k stars 372 forks source link

`trime.custom.yaml` 失效 #902

Closed goofyz closed 1 year ago

goofyz commented 1 year ago

Describe the bug v3.2.10 中,trime.custom.yaml 失效了

To Reproduce v3.2.10 中,trime.custom.yaml 沒有應用到 build/rime.yaml 中。 同一設定下,v3.2.9 沒有問題。

4SM commented 1 year ago

3.2.9 键盘高度在 trime.custom.yaml 怎么写?我怎么部署之后没有用?我要设置键高:65. 谢谢。

WhiredPlanck commented 1 year ago

Describe the bug v3.2.10 中,trime.custom.yaml 失效了

To Reproduce v3.2.10 中,trime.custom.yaml 沒有應用到 build/rime.yaml 中。 同一設定下,v3.2.9 沒有問題。

trime.custom.yaml 这个文件名是不会出现在 build 中的,部署会把原 trime.yaml 的内容和 trime.custom.yaml 的内容合在一起,build 里还是叫 trime.yaml,但 trime.custom.yaml 里的相应内容会覆盖原 trime.yaml 的相应内容。

请尝试删除 build 文件夹下的 trime.yaml,然后再应用一次主题,看看是否发生了预期的配置更改变化。

WhiredPlanck commented 1 year ago

另外的提醒:app 首页的部署按钮是不会部署主题的,这个部署按钮针对且只能针对 rime 的方案、字典等起效。同文的主题配置只是用到了 rime 为 yaml 添加的一些独有的编译语法,所以要靠 rime 引擎的部署功能来部署,但除此之外主题配置和 rime 引擎本身毫无瓜葛。主题的部署在选择和应用主题的那一刻开始。

goofyz commented 1 year ago

這我知道。 已試過刪除 build 下的文件再應用。新的 build/trime.yaml 還是沒有`trime.custom.yaml`的更改。

tleydxdy commented 1 year ago

same here, this is the error log on my phone, the app also crashes when I try to bring over my setup, I had to start from scratch with rimerc and all that

Log file created at: 2023/01/05 09:34:13 Running on machine: localhost Running duration (h:mm:ss): 0:00:00 Log line format: [IWEF]yyyymmdd hh:mm:ss.uuuuuu threadid file:line] msg W20230105 09:34:13.597553 19842 registry.cc:16] replacing previously registered component: charset_filter W20230105 09:34:14.995319 19868 deployment_tasks.cc:210] missing input schema; skipped unsatisfied dependency: emoji W20230105 09:34:15.304638 19842 config_data.cc:68] nonexistent config file '/storage/emulated/0/rime/build/trime.yaml'. W20230105 09:34:15.409667 19842 config_compiler.cc:529] circular dependencies detected in trime: W20230105 09:34:15.409740 19842 config_compiler.cc:367] accessing blocking node with unresolved dependencies: trime: W20230105 09:34:15.409936 19842 config_compiler.cc:529] circular dependencies detected in trime: W20230105 09:34:15.410018 19842 config_compiler.cc:367] accessing blocking node with unresolved dependencies: trime:

WhiredPlanck commented 1 year ago

@goofyz @tleydxdy

我无法复现这个问题 …… trime.custom.yaml 在我这里确实是生效的。可以尝试切换成别的主题然后再切换回来吗? I cannot reproduce this issue. trime.custom.yaml DOES take effect on my system. Could you give it a try that switching to other theme then switching back?

UPDATE: 在多台设备测试均无此问题。/ Tested without this problem on multiple devices. UPDATE 2: 最新的测试版,请尝试这个版本有无这个问题

goofyz commented 1 year ago

今早再反覆測試後,又沒有問題了。 但似乎 build/trime.yaml 在 3.2.10 的更新較前版本慢。現在要每次都刪除 build/trime.yaml 才能肯定已更新。 不過有用不到新 keyboard 的問題,會在另一 issue 回報。 謝謝你耐心的測試。

WhiredPlanck commented 1 year ago

@goofyz 似乎检查到为何会概率性失效了。目前主题的部署是尽量做到无感知的,于是在应用主题的时候会同时部署更改。为了避免反复部署影响性能,同文会判断原文件是否更改过了,更改过则部署,否则不部署。但是这个条件判断不够完善,我只写了检测 (*.)trime.yaml 是否有更改,但是忘记判断 *.custom.yaml 是否更改了。感谢反馈 ~

tleydxdy commented 1 year ago

@goofyz 使用上面链接的测试版之后问题没有了,也不在崩溃了。🙏🏻

edit, 貌似仅仅是不会崩溃了,我设置的键盘layout还是没有apply trime.custom.yaml