2019 年 10 月开发新闻

Gajim 开发新闻

2019 年 10 月开发新闻

Gajim 开发新闻

这是关于 Gajim 开发的新闻系列的第一篇文章。在这些文章中,我(wurstsalat)将尝试总结一个月的 Gajim 开发情况。有时这些文章还会涉及 python-nbxmpp 和 XMPP 一般情况。十月份的开发带来了对 MacOS、Jingle 文件传输、交付回执等的改进。欢迎加入 gajim@conference.gajim.org 与我们讨论。

Gajim 的变化

将 Gajim 带到 MacOS 的旅程仍在继续:感谢 sebastiaanlokhorst,我们现在使用 PyInstaller 来构建应用程序(参见 #9713),这使我们更接近于为 MacOS 发布 Gajim。我们正在努力自动化构建过程,以便能够像生成 Windows 构建一样进行自动化的 MacOS 构建。

虽然 Dino 在 GSoC 期间获得了 Jingle 文件传输支持(感谢 hrxi),但在 Dino、Conversations 和 Gajim 之间进行了某些互操作性测试。hrxi 提供的反馈导致了一些 Jingle 文件传输的错误修复(#9692#9784),由 asterix 贡献。

Gajim 已经很长时间以来显示送达回执。送达回执通过聊天窗口中消息末尾的小勾号图标显示。lovetox 对这些图标的显示方式进行了更改。这还涉及到大量代码重构和关于消息回执处理的错误修复。因此,修复了一个显示错误,即更正的消息会显示两个消息回执图标(#9278)。此外,新的图标显示逻辑使 Gajim 能够直接在相应消息图标的工具提示中显示消息错误(#8527)。之前,消息错误只是简单地打印到聊天窗口中,没有消息上下文。

新的群聊名单使用了一些 PyGObject 函数,要求至少使用 PyGObject(即 python3-gi)3.32.0。这个版本在某些发行版中尚不可用(例如 Debian 10)。将 PyGObject >=3.32.0 添加为要求也导致了 Gajim 依赖检查的重构。

还有什么其它事情发生:

  • 聊天:FuzzyClock 功能已被移除
  • XML 控制台:已添加用于发送 XML 的账号选择器
  • 历史窗口:按 Escape 现在会在关闭窗口之前关闭任何打开的搜索结果
  • “正常”消息(例如单条消息)现在将始终被视为常规聊天消息
  • 修复了加密消息的自动滚动错误(#9443
  • 修复了在没有打开 ChatControl 时消息更正的错误

python-nbxmpp 的更改:

在不断努力将 GUI 和协议/库任务分开的过程中,lovetox 继续重构 Gajim 和 python-nbxmpp。在此过程中,大量代码从 Gajim 移动到 python-nbxmpp,反之亦然。目标是模块化代码以便于未来的开发,并简化两者之间的通信。

在本月,python-nbxmpp 收到了对以下 XEP 的支持。注意:这些已经被 Gajim 支持,但现在 python-nbxmpp 能够独立处理这些。

此外,python-nbxmpp 修复了传入消息中无效 JID 的错误(#85)。