本周由于有几个假期和一些休假,相对安静了许多,但我们的工作仍在继续推进,所以让我们回顾一下本周的工作!
内特
本周大部分时间都花在了协作 UI 上——包括设计和代码。能够在 Zed 中进行原生通话感觉真的很棒。你从来没有真正想过切换到另一个应用程序静音是多么痛苦!
在它真正变得出色之前还有一些事情要做,比如我们需要为背景降噪、在 UI 中交换音频源等找到解决方案。但就目前而言,它已经非常实用,我们已经开始将其用于所有 Zed 会议。请告诉我们您目前的印象。
除此之外,我上周半的时间里都深入研究了主题代码。尽管它是用 TypeScript 编写的,但我们决定将整个代码库迁移到 snake_case,以更好地与 Rust 应用程序对齐。现在能够搜索到 Rust 和 TypeScript 的匹配项真是太棒了。幕后还进行了一些其他更改,以进一步开发我们一直在研究的动态强度/对比度系统。
干杯!
Antonio
我刚和 Nathan 在意大利完成了结对编程。我们合作得很愉快,我对 Zed 的未来感到非常兴奋。
另外,在上周发布了助手功能后,本周我又花了一些时间修复发布后发现的一些问题。我还帮助修复了一些长期存在的 GPUI 错误,该错误错误地跟踪了鼠标状态,并致力于改进我们的 Vim 支持。
茱莉亚 (Julia)
我们一直频繁看到的一个奇怪的崩溃是,当有多个实例同时运行时,它们会争夺本地数据库的访问权限。我们将此数据库用于许多事情,从您最近的项目列表到用于工作区恢复的打开面板布局。由于 macOS 应用程序通常只有一个实例,带有一些窗口,因此我们与此数据库交互的代码假定它具有独占访问权限,如果另一个实例以某种方式启动,这很快就会崩溃。
我们可以重构该代码以处理与其他实例协调访问,但这将是大量的工程工作,并且仍然存在可疑的正确性。我们最终确定的解决方案是在启动时通过网络套接字查找现有实例,如果我们能确认已经有一个实例正在运行,则提前退出。无论如何,一旦我们走向多平台,就需要这种机制,所以这似乎是一个相当方便的解决方案!
凯尔
本周大部分时间都在努力加强语义索引引擎,为我们下周(有望)的合并做准备。值得注意的是,我们设置了重新索引(以便索引始终保持最新)、处理了边缘情况和中间故障,并扩展了语言支持。它运行得非常流畅,我很高兴能尽快推出。
除此之外,我已开始规划这项工作的下一阶段,深入研究最近的 AI 研究。
Piotr
本周,我完成了项目和分支切换器的开发。在此过程中,我与 Antonio 合作调整了 GPUI 的点击元素传播,因为项目和分支切换器与它们下方的项目面板以奇怪的方式进行了交互。
我还为滚动条添加了搜索标记,这是 Kirill 长期以来一直要求的功能。下周,我计划完善切换器,使其变得好用,并推动协作 UI 的发展。我还计划研究解决社区对语言支持的需求。
基里尔
很高兴能从我一个月来一直忙碌的那个单一主题中退后几步,做一些小得多事情。我仍然忙于内嵌,主要是撰写博客文章草稿和解决被忽视的问题,但令人惊讶的是,到目前为止,这些问题也很小且易于修复。最值得注意的其他事情是找到一种方法来允许抑制某些按键绑定,以及修复由于 LSP 和我们的逻辑交错而出现的额外 }。
Piotr 在 Zed 中引入滚动条搜索标记方面做得非常出色,这激励我更多地关注类似的微小缺陷或日常痛点。如果条件允许,我打算再低调一周,改进更多这些问题,看看后缀补全是否可以作为起点。
米凯拉
稳定版已启用语音聊天!耶!如上所述,本周进展缓慢。只是在修补语音聊天并规划我们直播功能的下一步。