这个问题wiki里有写方法,简而言之是使用x86的版本转译,我之前装上了
这个我也遇到过,我记得好像是因为我用的虚拟环境(conda)里的python,我deactive了用系统的python就好了。我之前装是两个月前了,记不太清了,你先试试看,我们讨论
我装好后用了一段时间,不清楚是m1还是mac的缘故,有时会出现浏览器的位置和emacs的窗口错位情况,经常需要手动调整。
Cookie登录一直没问题,但是不知道Github的Wiki页面编辑每次都返回HTTP 422错误。
今天研究了一下, github.com在登录时返回cookie的域名是 ‘.github.com’ 而不是 ‘github.com’, 这样会导致EAF把真实的cookie保存在 cookie/.github.com 文件中,而下次访问github.com的时候却是从 cookie/github.com 文件中加载错误的 cookie 信息导致页面出错。
这个补丁移除 cookie.domain 前的 “.” 字符, 统一都用域名名称去保存cookie信息就不会再出错了。
建议所有EAF用户都更新一下。
为了彻底解决这个问题,需要大家删除 ~/.emacs.d/eaf/browser/cookie
这个目录,彻底清空那些隐藏文件的影响。
使用最新的 master 分支,gentoo 下需要安装 dev-python/gssapi
,否则会报下面的错误
Traceback (most recent call last):
File "/home/xxx/.emacs.d/site-lisp/emacs-application-framework/eaf.py", line 25, in <module>
from PyQt6 import QtWebEngineWidgets as NeverUsed # noqa
ImportError: libgssapi_krb5.so.2: cannot open shared object file: No such file or directory
Process *eaf* exited abnormally with code 1
已经修复了,谢谢反馈。
遇到一个小问题, 我打开 https://www.oschina.net/ 的时候 cookie 文件名为 oschina.net 。 但打开登录页面后又会创建一个名字为 www.oschina.net 的 cookie 文件,然后网站就用的 www 开头的 cookie 文件, 可是写入信息又是写到名字为 oschina.net 的文件。然后关闭再打开网页就会丢失登录状态,更新到最新的 qt5-legacy 还是这样。不知道为什么。
看来我对 prefix dot cookie 的理解还是不够的,等我研究一下,看看怎么彻底把这块逻辑弄对。
这个补丁应该修复了。
看了一下RFC文档定义, 服务器返回Cookie信息的 domain 是以点 “.” 开头的域名主要是为了兼容老版本的浏览器(比如IE),现代浏览器主要存储domain不以点"."开头的Cookie,但是我检查 Chrome 浏览器,leading domain, normal cookie, session cookie 都存储了。
新版的Cookie逻辑改进如下:
- 使用网站URL的hostname来存储,而不是 cookie domain, 这样就不会产生 oschina.net 这种域名冲突
- 使用子目录的形式来保存 Cookie, 老版本用 name/value 的JSON格式存储,在github这种校验比较严格的网站就会遇到HTTP 422错误
- 没有区分 leading dot domain 和 normal domain 这两种cookie, 都存下来了,并没有按照RFC定义去忽略 leading dot domain 的Cookie
大家更新后, 需要大家删除 ~/.emacs.d/eaf/browser/cookie
这个目录后再使用EAF浏览器。
@manateelazycat 我升级到最新版之后pdf-viewer报段错误。
Process eaf 段错误 (core dumped)
没有其他错误了。eaf-open-pdf-from-history可以正常打开。其他app都正常运行。
mupdf最近一直在破坏API兼容性,我一会去看看。
@Luhuaei 大佬帮忙看一下哈,我定位是 eaf-pdf-viewer/eaf_pdf_page.py at 4f889e4946f6d1deb471dfa3b74368878ade9f96 · emacs-eaf/eaf-pdf-viewer · GitHub 这一行 fromImage 有问题,还没有详细研究。
我测试了, PDF代码没问题,现在尴尬的问题是:
- PyQt6 6.2.0 修复了浏览器键入 return/backspace 崩溃的问题,但是PDF-Viewer绘制的时候会crash
- Arch系统的PyQt6包PDF Viewer没问题,但是浏览器会崩溃
浏览器按Return/Backspace的时候崩溃不是PyQt6版本的问题,是EAF事件伪造的错误,今天这个补丁彻底修复了这个问题, 所有平台都可以用任意PyQt6版本都不再会有崩溃的问题(这个补丁我也同步到 qt5 分支),同时EAF已经移除对PyQt6的版本限制,我测试了最新版 6.3.0 也没有问题。
@yqu212 升级到最新PyQt6 6.3.0 以后, PDF-Viewer打不开的问题也一并修复了。
我也测试了下 Return/Backspace 没有问题了,按 ESC 键的时候会
Process *eaf* trace/breakpoint trap (core dumped)
最新版已经修复了。
@manateelazycat Emacs 29最新版kill-new的api变了,之前返回一个字符串,现在返回一串数字。目前暂时只看到eaf-get-path-or-url和eaf-edit-buffer-confirm功能被破坏了。
我还没用emacs29呢,大佬发个兼容补丁?