imfuxiao / Hamster

librime for iOS App
GNU General Public License v3.0
1.29k stars 80 forks source link

未优先使用 Rime 目录中的 lua 和 opencc #27

Closed amorphobia closed 1 year ago

amorphobia commented 1 year ago

问题

lua 和 opencc 只有放到 SharedSupport 才起效,而放到 Rime 目录是无效的

粗略看了代码,重新部署的时候会设置重新同步的标志,理论上是会用 Rime 目录覆盖 AppGroupUserDataDirectory,不知可否排查一下?

imfuxiao commented 1 year ago

收到. 可否提供下您的输入方案及用例, 方便我进行排查.

amorphobia commented 1 year ago

hamster.custom.zip

@imfuxiao 我使用的是星空键道,加上我自己的一些配置

imfuxiao commented 1 year ago

收到

imfuxiao commented 1 year ago

你好, 根据你提供的hamster.custom.zip无法部署成功.

通过你给的星空键道, 我在mac上部署成功后, 把mac下~/Library/Rime内容复制到应用到RIME目录, 即"输入方案上传"功能下的Rime方案是可以部署成功的.

仓输入法的初衷就是想让Mac下Squirrel输入方案可以直接使用.

具体操作:

  1. 点击App上"输入方案上传", 并点击开始按钮
  2. 浏览器打开页面的IP地址
  3. 进入Rime文件夹下, Ctrl+A全选, 点击右上角删除按钮
  4. 把Mac下~/Library/Rime内容拖拽到当前浏览器页面上, 即可将文件全部上传完成.
  5. 返回App重新部署
  6. 完成

lua 和 opencc 的问题, 我测试是可以使用. 麻烦你在根据我提供的方式在试一下, 如果在有问题, 我在继续排查.

amorphobia commented 1 year ago

@imfuxiao 感谢,我再试试能不能基于四叶草方案弄一个最小可复现的用例

imfuxiao commented 1 year ago

不客气, 方案可以在mac上先部署, 完了在复制到iOS的Rime下测试

amorphobia commented 1 year ago

我可能发现 opencc 不起作用的原因了,如果我理解有错请指出

代码同步 UserData 目录的时候,如果 opencc 目录存在,会在这里删除沙盒里的 opencc 目录,然而我想要的是给 opencc 目录加入新的文件(星空键道的 opencc 文件),原有的文件(clover 的 opencc 文件)依然使用

抱歉,我理解错了,user path 和 shared path 应该是互不影响的,请忽略

amorphobia commented 1 year ago

重置应用再上传配置后成功了,推测可能是之前上传的时候漏掉了文件之类的

amorphobia commented 1 year ago

OpenCC 的问题找到原因了,是上游的一个改动,现在不允许重复的 key 了:

https://github.com/BYVoid/OpenCC/commit/3c33116694dd1bb938c0fe9ced11f23cc0beb719

imfuxiao commented 1 year ago

OpenCC 的问题找到原因了,是上游的一个改动,现在不允许重复的 key 了:

BYVoid/OpenCC@3c33116

赞~