#131 STF Happenings

2024年1月19日 • 12 条笔记 • 由 Felix 整理

GNOME 项目在 1 月 12 日至 1 月 19 日这一周内发生的情况更新。

主权技术基金

Sonny 宣布

作为 GNOME STF (Sovereign Tech Fund) 项目的一部分,许多社区成员正在进行与基础设施相关的项目。

nirbheek 报告

上周,由 Sovereign Tech Fund 资助,创建了 GStreamer 实时协议 (RTP/RTCP) 网络堆栈的完整 Rust 重写的基础。您可以在 STF 在 Mastodon 上的公告 中阅读。

RTP、RTCP 和 SDP 是标准规范,构成了广泛使用的实时协议(如 RTSP(实时会话协议)和 WebRTC(Web 实时通信))的基本构建块。您可以在 https://www.sovereigntechfund.de/tech/gstreamer 上了解更多信息和该项目的一般信息

重写与现有的基于 GObject 和 GIO 的 C 代码堆栈相比,具有一些技术优势

  1. 改进的内存安全性:在解析不受信任的网络数据时非常重要
  2. 更灵活的架构:现有的 RTP 堆栈是“分层蛋糕”,这使得添加新的交互和功能变得棘手且繁琐
  3. 更好的性能:以前的架构存在锁争用、过度使用线程以及由于“分层蛋糕”架构导致反复映射和取消映射缓冲区造成的开销
  4. 更易于上手:上述“分层蛋糕”抽象使得非专家难以理解堆栈,我们预计新贡献者会更容易提供帮助,这有助于可持续性
  5. 更低的认知开销:修改后的架构和异步 Rust 的使用将减少编写新功能、重构代码以及通常提高可维护性所需的精力

新的堆栈处于功能性和可用状态,但缺乏一些高级功能,这些功能对于成为现有堆栈的完整重写是必需的。您可以在下面的合并请求中跟踪进度

GNOME 核心应用和库

GJS

在你的 JavaScript 程序中使用 GNOME 平台库。GJS 驱动 GNOME Shell、Polari、GNOME Documents 和许多其他应用程序。

ptomato

我们发布了 GJS 的额外版本,1.78.3(稳定版)和 1.79.2(不稳定版),以修复导致 GNOME Shell 中扩展首选项窗口崩溃的回归。1.79.2 版本还包含 Marco Trevisan 的一些性能改进!

GNOME Circle 应用和库

Graphs

绘制和操作数据

Brage Fuglseth 报告

本周 Graphs 被接受进入 GNOME Circle。Graphs 是一款简单但功能强大的工具,可让您轻松绘制和操作数据。恭喜!

Workbench

一个用于学习和原型设计 GNOME 技术的沙盒。

Sonny

Workbench,GNOME 的代码游乐场已发布 45.4 版本 🛠️ https://flathub.org/apps/re.sonny.Workbench

此版本的主要亮点

  • 启动 Workbench 时恢复磁盘上的项目
  • 如果没有要恢复的项目,则打开库
  • 恢复格式和运行时的滚动和光标位置
  • 为控制台添加“复制”和“全选”
  • 添加 Vala 格式化程序支持
  • 添加 WebP 图像格式支持
  • 库:添加“上下文菜单”演示
  • 库:添加“HTTP 服务器”演示
  • 库:12 个演示移植到 Python,4 个移植到 Vala,2 个移植到 Rust
  • 使用 Biome 代替 prettier 作为 JavaScript 格式化程序
  • 使用 GTKCssLanguageServer 代替 prettier 作为 CSS 格式化程序
  • 修复切换深色模式时控制台样式
  • 修复没有代码的演示中的空白预览
  • 修复影响其他窗口的样式

感谢以下贡献者 Gregor Niehl、UrtsiSantsi、Sabri Ünal、Hofer-Julian、Roland Lötscher、Sahil Shadwal、Dan Yeaw、AkshayWarrier、Marco Köpcke、Diego Iván M.E、Sonny Piers。

祝您编码/学习/原型设计愉快

Boatswain

在流中导航时的指导。

Georges Stavracas (feaneron) 报道

由于出乎意料的强烈需求,我正在准备为 Boatswain 添加对 Elgato Stream Deck+ 设备的的支持。为此,需要对 Boatswain 进行调整,以适应新的按钮类型、不同的 USB 协议和新的输入事件。为了进行测试,我发起了一场小型筹款活动。您可以在这里了解更多信息

Apostrophe

一个无干扰的Markdown编辑器。

Manu 宣布

我一直在为 Apostrophe 开发新的布局管理器,以取代已弃用的 AdwLeaflet。这是一个实现为 Apostrophe 面板量身定制的解决方案的好机会,该解决方案完全适应应用程序的需求

第三方项目

ghani1990

Lorenzo Paderi 刚刚发布了 Collector,这是一款新的应用程序,旨在成为 GNOME 的 Dropover 的替代品。Collector 允许用户快速轻松地将文件、图像、文本和链接拖放到 Collection 窗口中,并随意放置!Collector 还支持各种功能,包括

  • 能够打开多个 Collector 窗口并自定义其颜色
  • 能够从网络浏览器轻松拖放图像下载
  • 能够将文本分组到一个现成的 CSV 文件中

如果您正在寻找一个轻松的拖放工具,我鼓励您查看 Collector。这是一个可以满足您需求的绝佳选择。

Gianni Rosato 报告

今天,我们有一个非常令人兴奋的进展——Aviator 切换到 SVT-AV1 的内部自定义分支,名为 SVT-AV1-PSY!

在 BlueSwordM(Aviator 偶尔使用的先前自定义分支的作者)、我(Gianni)和其他人的开发努力下,这一变化将使我们能够更好地控制编码器的开发,以便它最有效地与 Aviator 的首要任务保持一致:视觉质量。

到目前为止,SVT-AV1-PSY 最值得注意的功能是一个方差提升补丁,它明显提高了各种内容中帧内和帧间保真度的一致性。据估计,使用此补丁可以提高每比特的视觉保真度高达 5%,而该补丁目前不存在于主流 SVT-AV1 中。

即使此补丁最终会进入主流,但拥有更多直接控制所带来的好处已经显现出来,因为我们可以灵活地以我们决定的速度实施诸如此类的功能。

除此之外,FFmpeg 已更新到版本 6.1,SCM 切换已被更有用的 Open GOP 切换取代,并且 README 已被修改以反映这些最新的更改,特别是关于 SVT-AV1-PSY 的更改。

感谢您使用 Aviator,祝您编码愉快!

Gir.Core

Gir.Core 是一个旨在为不同的基于 GObject 的库提供 C# 绑定的项目。

badcel 宣布

Gir.Core 0.5.0-preview.4 已发布。这是即将发布的 0.5.0 版本的下一步,并添加了许多记录的公共 API。请参阅 发行说明 以获取更多详细信息。

Fractal

GNOME 的 Matrix 消息应用程序,使用 Rust 编写。

Kévin Commaille

Fractal 6 上线并已准备就绪!

没错,距离 Fractal 5 仅仅 2 个月,我们认为已经有了足够的改进来授予新的稳定版本。您可能已经注意到,我们采用了类似于 GNOME 的版本方案,并且每次新版本都会增加主版本号。

好东西清单

  • Fractal 可以打开 Matrix URI,甚至已注册为 matrix 方案的处理程序
  • 验证流程已重写,希望解决大多数验证问题
  • 可以从他们的个人资料踢出、禁止或忽略房间成员
  • 添加了更多通知设置,全局或每房间
  • 时间遵循系统设置中的格式(12 小时或 24 小时)
  • 选项卡自动完成也适用于提及公共房间,只需以 # 开头即可

它现在可在 Flathub 上使用。

此版本已完全翻译成 6 种语言 🙌️,我们希望在下一个版本中获得更多 📈!如果您想提供帮助,请前往 Damned Lies

我们还要感谢我们的新老贡献者和上游项目。

对于我们的下一次迭代,我们已经准备好了许多辅助功能改进,并且计划继续改进房间设置和审核功能。来自您的任何额外工作 🫵️ 将受到高度重视!

活动

Pedro Sader Azevedo 报告

GNOME 非洲社区一直在努力组织一个预备训练营,为那些计划申请谷歌夏季实习项目 (GSoC) 和 Outreachy 实习的人们提供帮助。

本次活动的目的是为参与者提供必要的技能、项目特定知识、导师指导和社区见解,从而提高他们的竞争力,并为在这些实习项目的申请周期内成功为 GNOME 做出贡献做好准备。

本次活动将完全在线进行,因此欢迎世界各地的人们参加。活动将于 1 月 22至 2 月 2举行,请务必保存这些日期!

如果您有兴趣参加,请通过以下链接注册活动:https://events.gnome.org/event/244/

本周就到此为止!

下周再见,请务必访问 #thisweek:gnome.org,分享您自己的项目更新!