rime / squirrel

【鼠鬚管】Rime for macOS
https://rime.im
GNU General Public License v3.0
4.54k stars 413 forks source link

Squirrel 0.18 Nightly build 配置文件路径问题 #885

Closed scomper closed 2 months ago

scomper commented 2 months ago

~/Library/Rime (原路径) Nightly build 的版本安装后,配置文件夹的路径变更了,设置软链接会提示没有权限打开。 ~/Library/Containers/im.rime.inputmethod.Squirrel/Data/Library/Rime (变更后的路径)

m-zheng commented 2 months ago

I second this. There is another permission issue related to it.

Suppose the sync_dir in installation.yaml is somewhere in the ~/Documents, Squirrel no longer shows a window to ask users to grant the file access permission. This breaks the Sync user data function.

The error message looks like blow.

E20240512 20:14:07.918341 0x700004ba8000 deployer.cc:92] Error deploying: filesystem error: in directory_iterator::directory_iterator(...): Operation not permitted ["/Users/xxxx/Documents/RimeSync"]
LEOYoon-Tsaw commented 2 months ago

因爲用了Sandbox吧,CI沒有codesign或者codesign時沒有加entitlement

m-zheng commented 2 months ago

因爲用了Sandbox吧,正式版沒有這個問題

I pulled the whole repository and compiled it from scratch. Any suggestion to disable the sandbox would be highly appreciated.

ksqsf commented 2 months ago

@LEOYoon-Tsaw 正式版是怎麼構建的?現在應該所有 CI artifact 都會有這個問題。

LEOYoon-Tsaw commented 2 months ago

Any suggestion to disable the sandbox would be highly appreciated.

停用sandbox只需要修改entitlement文件,把sandbox項改為no

LEOYoon-Tsaw commented 2 months ago

@LEOYoon-Tsaw 正式版是怎麼構建的?現在應該所有 CI artifact 都會有這個問題。

直接 make package。Sandbox是 #841 引入的,是對安全性的很大增強,CI流程可能沒有很好適配吧,得看看要調整一下CI

lotem commented 2 months ago

我記得我給這項功能拆掉了呀。怎麼又有了?

LEOYoon-Tsaw commented 2 months ago

是公子拆掉了啊,我看著自動生成的更新紀錄有,就想著是不是誰不小心給幹掉了,加回去試了一下能用,就加回去了

是有啥問題嗎?正式發布的版本是好用的

Sandbox估計是需要codesign才能正常使用,所以nightly用不了

但還是有必要的吧,現在plugin越來越多,lua也可以隨便跑,不加個沙盒哪天出事了咋整。

caobo commented 2 months ago

既然改路径了,可不可以改成更直观更泛用的配置路径呢,比如 $XDG_CONFIG_HOME($HOME/.config)。

ksqsf commented 2 months ago

改不了,沙盒机制决定的