Gajim 1.4 的工作正在取得重大进展!经过九个月的开发,Gajim 的新主窗口的代码终于准备好合并到 master
分支。这使得 Linux 和 Windows 的夜间构建能够自动生成。
Gajim 的变化
Gajim 的新主窗口带来了许多变化:一个新的窗口布局,包含工作区和全新的对话视图,具有更好的消息样式和许多改进。您可以在之前的帖子中阅读更多信息。
如果您密切关注 Gajim 的开发,您可能已经注意到许多关于type annotations的代码提交。在所有地方添加类型注释有助于我们开发人员在问题出现之前解决它们。它们使代码更易于理解,帮助记录代码,并允许在开发过程中对代码进行自动检查。由于 Gajim 是基于 python-gobject 构建的,因此类型检查器必须了解 GObject 的类和方法使用和返回的类型。为此,我们开始编写所谓的存根:pygobject-stubs以及用于 Gajim 的 Glade 用户界面文件的“构建器存根”。
在服务器端,我们将自动类型检查从 mypy 切换到 pyright,后者速度更快。由于类型检查还可以帮助发现结构缺陷,因此在添加类型注释的过程中,Gajim 中的许多地方进行了重构。
在消息样式方面又迈出了重要一步。Gajim 现在在聊天输入框中提供实时消息样式。文本格式菜单已被重新利用,以使用
XEP-0393 消息样式元素。此外,Windows 和
Linux 上的消息样式现在具有功能平等性。最后,Windows 的表情符号解析已修复,/me
消息解析再次有效。
在 Windows 上升级 Gajim 安装现在应该更加顺利。它会检测到先前安装的版本,并自动静默运行卸载程序(当然,在您确认之后)。
还有什么其它事情发生:
- 您现在可以使用拖放功能在工作区之间移动聊天
- 聊天列表现在提供“标记为已读”菜单项
- 未读计数已被存储,因此您仍然可以看到哪些消息尚未阅读
- 代码小部件已针对大型代码片段进行了改进
- 文件预览现在具有下载进度条
- 对受控群聊的改进(禁用聊天输入,简短说明,新的“请求语音”按钮)
- 新的改进的群聊邀请者
- Gajim 窗口的最小宽度已减少,因此更适合您的屏幕
- 现在可以为某些 Gajim 操作设置自定义快捷键,例如更改
Ctrl+N
以启动新聊天 - 历史管理器已被淘汰:现在可以从 Gajim 导出和清除聊天历史
- 通话现在具有回声抑制和铃声/拨号音,感谢 @emil
- 如果服务器关闭,Gajim 将显示通知
- XML 控制台:XML 流的语法高亮
- 已移除 XEP-0107(用户心情)、XEP-0108(用户活动)和 XEP-0209(元联系人)
插件更新
Gajim 的触发器插件已被重构并调整,以便与新的通知系统兼容。
python-nbxmpp 中的变化
Websocket 实现已适应当前生产中看到的语句大小限制。
如往常一样,欢迎加入gajim@conference.gajim.org与我们讨论。