‹ Reports
The Dispatch

OSS Report: zed-industries/zed


Zed Project Sees Active Development with Focus on User Experience and Security Enhancements

The Zed project, a high-performance multiplayer code editor, has seen active development over the past 30 days, with significant efforts directed towards improving user experience, addressing security vulnerabilities, and enhancing performance.

Recent Activity

Recent pull requests (PRs) and issues indicate a strong focus on refining user interactions and resolving critical bugs. Notable PRs include #16845, which enhances terminal usability on Linux, and #16791, addressing security vulnerabilities by updating the Rust crate sqlx. The presence of draft PRs such as #16823 suggests ongoing collaborative efforts to refine new features before finalization.

Development Team Activities

  1. Nathan Sobo (nathansobo)

    • Updated prompt handling in the inline assistant to reduce content over-generation.
  2. Danilo Leal (danilo-leal)

    • Enhanced documentation for assistant features.
  3. Thorsten Ball (mrnugget)

    • Improved UI elements in the assistant panel and added debug features.
  4. Kevin Sweet (ksweetie)

    • Fixed scrolling commands in Vim mode.
  5. Jason Lee (huacnlee)

    • Added new text styling features in the gpui module.
  6. Vitor Ramos (VitorRamos)

    • Added default terminal bindings for buffer search on Linux.
  7. Marshall Bowers (maxdeviant)

    • Enhanced telemetry for tracking user engagement metrics.
  8. Junseong Park (jsparkdev)

    • Updated documentation to fix broken links.
  9. Walter de Jong (walterdejong)

    • Corrected kill signal handling in the gpui module on Linux.
  10. Piotr Osiewicz (osiewicz)

    • Addressed performance regressions and improved diagnostics handling.
  11. Kai (kw7oe)

    • Fixed executable permissions for elixir-ls language server installation.
  12. Kirill Bulatov (SomeoneToIgnore)

    • Improved buffer/project search display and fixed /tab command issues.

Of Note

  1. Security Focus: PR #16791 highlights a proactive approach to addressing security vulnerabilities by updating dependencies.
  2. User Experience Enhancements: Multiple PRs focus on refining UI elements and improving usability, such as PR #16845 for terminal keymap improvements.
  3. Performance Optimization: Efforts to address performance regressions, particularly related to language server diagnostics, are evident in recent commits.
  4. Collaboration Features: Enhancements to collaborative tools and telemetry indicate a strategic focus on real-time user engagement.
  5. Documentation Improvements: Ongoing updates to documentation reflect an emphasis on clear communication with users and contributors.

Quantified Reports

Quantify Issues



Recent GitHub Issues Activity

Timespan Opened Closed Comments Labeled Milestones
7 Days 210 69 208 0 1
14 Days 303 123 398 0 1
All Time 7599 4842 - - -

Like all software activity quantification, these numbers are imperfect but sometimes useful. Comments, Labels, and Milestones refer to those issues opened in the timespan in question.

Quantify commits



Quantified Commit Activity Over 30 Days

Developer Avatar Branches PRs Commits Files Changes
Conrad Irwin 3 7/6/0 14 70 10862
Marshall Bowers 9 25/25/0 89 164 7655
Max Brunsfeld 5 5/4/0 25 63 7061
Nathan Sobo 6 6/6/0 17 70 6074
Richard Feldman (rtfeldman) 4 2/0/0 11 66 5671
Piotr Osiewicz 9 11/9/0 54 98 5519
Peter Tripp 5 3/3/0 7 117 5421
Antonio Scandurra 4 0/0/0 9 46 5035
Kirill Bulatov 4 10/10/0 23 65 4420
Nate Butler 7 6/4/1 42 63 4153
jvmncs 6 8/6/1 24 19 3744
Thorsten Ball 8 7/7/0 30 55 3540
Mikayla Maki 5 3/2/0 7 64 2068
Bennet Bo Fenner 8 6/6/0 22 37 1780
Kyle Kelley 4 4/4/0 14 24 1755
Danilo Leal 5 7/6/1 15 26 1004
Roy Williams 1 2/2/0 3 15 893
Joseph T. Lyons 6 4/4/0 33 17 711
Jonathan Dickinson 2 0/0/0 2 4 509
Sinan Gençoğlu 1 0/0/0 1 36 355
renovate[bot] 6 14/12/1 33 6 347
Thorben Kröger 1 0/0/0 1 9 341
Jason Lee 1 0/0/0 1 11 304
Remco Smits 2 0/0/0 4 9 260
Santeri Salmijärvi 1 0/0/0 1 2 149
Robin Malfait 1 0/0/0 1 3 129
张小白 3 5/3/0 7 14 104
Kevin Sweet 1 0/0/0 1 5 100
apricotbucket28 4 2/0/0 6 10 88
Congyu 1 0/0/0 1 4 87
Thanabodee Charoenpiriyakij 1 0/0/0 1 2 86
邻二氮杂菲 1 1/1/0 1 6 61
Cherry 1 5/3/1 3 6 60
versecafe 1 1/1/0 1 1 59
Jeroen van Baarsen 1 0/0/0 1 4 56
Son 2 0/0/0 2 5 55
None (CharlesChen0823) 2 2/0/1 2 5 52
Kajus 1 1/1/0 1 1 49
Suhun Han 1 0/0/0 1 1 43
Matthew D. Scholefield 1 0/0/0 1 6 42
David Soria Parra 1 1/1/0 1 1 39
Vitor Ramos 1 0/0/0 2 4 38
Heewon Cho 1 0/0/0 1 1 36
Affan Shahid 1 1/1/0 1 3 34
Anthony Eid 1 0/0/0 1 7 31
Liang Kui 1 1/1/0 1 1 29
Tau Gärtli 1 1/1/0 1 1 25
Knoqx 1 0/0/0 1 1 23
moshyfawn (Moshyfawn) 1 1/0/0 1 1 18
0x2CA 1 2/1/0 1 4 17
Kai 1 1/1/0 1 1 16
Stanislav Alekseev 3 2/1/0 4 3 14
Uladzislau Kaminski 1 0/0/0 1 1 13
Egor Kotov 1 0/0/0 1 1 12
Neil 1 0/0/0 1 1 11
Ihnat 1 1/0/0 1 1 10
bestgopher 1 2/1/1 1 3 9
Florian Sanders 1 1/1/0 1 2 9
Ryan Hawkins 1 1/1/0 1 2 7
Vitaly Slobodin (vitallium) 1 1/0/0 1 3 6
Adam Johnson 1 0/0/0 1 2 6
Fernando Tagawa 1 0/0/0 1 2 5
flundar 1 0/0/0 1 1 5
Danny Hua 1 1/1/0 1 1 5
Fabien Salathe 1 1/1/0 1 1 4
Massimo Mund 1 0/0/0 1 1 4
Finn Evers 1 1/1/0 1 1 4
Vladimir Kukushkin 1 0/0/0 1 1 4
evren 1 4/1/0 1 1 3
Michael Angerman 2 1/1/0 2 2 3
Henrikh Kantuni 1 1/1/0 1 1 2
狐狸 1 2/1/0 1 1 2
Ikko Eltociear Ashimine 1 1/1/0 1 1 2
Junseong Park 1 1/1/0 1 1 2
Eli Perkins 1 1/1/0 1 1 2
Walter de Jong 1 1/1/0 1 1 2
fcolecumberri 1 0/0/0 1 1 2
Mayank Jikadara 1 0/0/0 1 1 2
Athish Pranav D 1 0/0/0 1 1 2
Xander 1 0/0/0 1 1 1
Reese is on Codeberg 1 0/0/0 1 1 1
Amin Yahyaabadi (aminya) 0 1/0/0 0 0 0
Berkus Decker (berkus) 0 1/0/0 0 0 0
Ulysse Buonomo (BuonOmo) 0 1/0/0 0 0 0
Amith Mohanan (amithm7) 0 1/0/1 0 0 0
Nguyễn Hồng Quân (hongquan) 0 1/0/1 0 0 0
Adam Harvey (LawnGnome) 0 1/0/0 0 0 0
eric (eberber01) 0 1/0/1 0 0 0
everdrone (everdrone) 0 1/0/0 0 0 0
fletcher gornick (fmgornick) 0 1/0/0 0 0 0
None (zanaviska) 0 1/0/1 0 0 0
Haru Kim (haruleekim) 0 1/0/0 0 0 0
Kevin Bader (kevinbader) 0 1/0/0 0 0 0
Micah (micahscopes) 0 1/0/0 0 0 0
Raunak Raj (bajrangCoder) 0 1/0/0 0 0 0
RUI (the-exile-110) 0 1/0/1 0 0 0
tanwkk (mightyrabbit99) 0 1/0/0 0 0 0
None (gcp-cherry-pick-bot[bot]) 0 6/4/2 0 0 0

PRs: created by that dev and opened/merged/closed-unmerged during the period

Detailed Reports

Report On: Fetch issues



Recent Activity Analysis

The Zed project has seen a significant influx of activity, with 2757 open issues. Recent submissions indicate a mix of defects, enhancements, and feature requests, reflecting ongoing user engagement and the evolving needs of its community. Notably, there are several recurring themes around performance issues, particularly related to language server interactions and UI behaviors.

Several issues highlight critical bugs that affect usability, such as problems with code completion in various file types (#16777), incorrect commenting behavior in JSX/TSX files (#16802), and significant performance regressions when handling large files or complex language server diagnostics (#16764). The presence of multiple issues related to user interface elements suggests a need for refinement in how Zed handles user interactions and displays information.

Issue Details

Most Recently Created Issues

  1. Issue #16843: Save my prompt while I'm writing it in the assistant window

    • Priority: Enhancement
    • Status: Open
    • Created: 0 days ago
  2. Issue #16842: GitHub Copilot - Signed into Incorrect Account

    • Priority: Defect
    • Status: Open
    • Created: 0 days ago
  3. Issue #16841: Non desired character getting deleted and characters repeating when typing

    • Priority: Defect
    • Status: Open
    • Created: 0 days ago
  4. Issue #16840: Called Option::unwrap() on a None value on language.rs

    • Priority: Defect
    • Status: Open
    • Created: 0 days ago
  5. Issue #16839: How can I hide these AI assistants?

    • Priority: Enhancement
    • Status: Open
    • Created: 0 days ago

Most Recently Updated Issues

  1. Issue #16796: Missing chat scroll bar

    • Priority: Enhancement
    • Status: Closed
    • Updated: 1 day ago
  2. Issue #16777: Can't show code completion when ctrl-space

    • Priority: Defect
    • Status: Closed
    • Updated: 1 day ago
  3. Issue #16766: Saving file without changes doesn't trigger code actions

    • Priority: Defect
    • Status: Closed
    • Updated: 1 day ago
  4. Issue #16764: Severe performance regression with many LSP error spans

    • Priority: Defect
    • Status: Open
    • Updated: 1 day ago
  5. Issue #16763: Keybinding CMD+K not working

    • Priority: Defect
    • Status: Open
    • Updated: 1 day ago

Common Themes and Observations

  • A significant number of recent issues relate to defects in functionality, particularly concerning language server interactions and UI behaviors.
  • Users are expressing frustration with the editor's handling of comments in JSX/TSX files, indicating a potential area for improvement in syntax handling.
  • Performance-related issues are prevalent, especially concerning lag during navigation and high CPU usage due to LSP diagnostics.
  • Enhancements related to user experience, such as better management of AI assistants and improved UI responsiveness, are frequently requested.

The ongoing activity suggests that while Zed is evolving rapidly, it faces challenges typical of complex software projects where user expectations must be balanced against technical limitations and resource availability.

Report On: Fetch pull requests



Overview

The analysis of the pull requests (PRs) for the Zed project reveals a total of 76 open PRs, with a diverse range of updates and features being implemented. The recent activity indicates a focus on enhancing user experience, fixing bugs, and improving performance across various components of the software.

Summary of Pull Requests

  1. PR #16845: Improve Linux terminal keymap and context menu

    • State: Open
    • Significance: Enhances terminal usability by fixing key bindings and adding inline assist options.
    • Notable: Missing release notes; follows up on previous PRs.
  2. PR #16833: theme: Fallback to opaque color for title_bar.inactive_background

    • State: Open
    • Significance: Addresses transparency issues in the title bar on Linux.
    • Notable: Fixes multiple related issues.
  3. PR #16823: Format selection

    • State: Open (Draft)
    • Significance: Introduces a new action to format selected text via context menu.
    • Notable: Draft status indicates ongoing development.
  4. PR #16820: Add instruction for metal to Getting Started

    • State: Open
    • Significance: Improves onboarding by adding installation instructions for the metal library.
    • Notable: Review comments suggest reorganization for clarity.
  5. PR #16816: Some UI tweaks on Extension Card

    • State: Open
    • Significance: Minor UI improvements to enhance visual consistency.
    • Notable: No user-facing release notes.
  6. PR #16808: assistant: Normalize line endings for prompts loaded from templates

    • State: Open
    • Significance: Fixes potential crashes due to inconsistent line endings in prompts.
    • Notable: Closes related issue #16804.
  7. PR #16806: windows: Fix autohide taskbar doesn't automatically appear when Zed is maximized

    • State: Open
    • Significance: Resolves a usability issue with Windows taskbar behavior.
    • Notable: Closes issue #12313.
  8. PR #16794: Log steps of extension build

    • State: Open
    • Significance: Enhances debugging capabilities during extension builds.
    • Notable: Missing release notes.
  9. PR #16791: Update Rust crate sqlx to 0.8 [SECURITY]

    • State: Open
    • Significance: Addresses security vulnerabilities by updating dependencies.
    • Notable: Detailed explanation of vulnerabilities and mitigation strategies.
  10. PR #16786: zed: Add cli arg to allocconsole on Windows in windows_subsystem "windows" mode

    • State: Open
    • Significance: Adds functionality for console output in GUI applications on Windows.
    • Notable: Review comments suggest further refinements.

Analysis of Pull Requests

The current set of open PRs reflects a concentrated effort to enhance the Zed code editor's functionality, particularly focusing on user experience improvements, bug fixes, and performance optimizations. A few key themes emerge from this analysis:

User Experience Enhancements

Several PRs are dedicated to improving the user interface and overall experience within the editor. For instance, PRs like #16845 and #16833 focus on refining terminal interactions and visual elements such as the title bar, respectively. These changes are crucial as they directly impact how users interact with the software, making it more intuitive and visually appealing.

Bug Fixes and Performance Improvements

A significant number of PRs address existing bugs or performance issues, such as PR #16806, which resolves a critical usability problem with the Windows taskbar, and PR #16794, which logs steps during extension builds for better debugging. This proactive approach in addressing bugs is essential for maintaining user trust and ensuring smooth operation of the editor.

Security Updates

The inclusion of security-focused updates, such as PR #16791 that updates the sqlx crate due to identified vulnerabilities, highlights the project's commitment to maintaining a secure environment for its users. This is particularly important given the increasing scrutiny around software security in today's development landscape.

Community Engagement and Collaboration

The presence of draft PRs (e.g., #16823) suggests ongoing discussions and collaborative efforts among contributors to refine features before final submission. Additionally, comments from reviewers indicate an active community that is engaged in providing constructive feedback, which can lead to higher-quality contributions overall.

Anomalies and Areas for Improvement

Despite the positive trends, there are notable anomalies such as several PRs missing release notes (e.g., PRs #16845, #16794). This oversight can hinder effective communication about changes made within the project and may lead to confusion among users regarding new features or fixes. Furthermore, some older PRs remain open without significant activity, which could indicate a need for better management of contributions or prioritization of tasks within the project.

In conclusion, while Zed's development appears robust with active contributions aimed at enhancing functionality and security, attention should be given to improving documentation practices and managing older pull requests effectively to maintain momentum in project development.

Report On: Fetch commits



Repo Commits Analysis

Development Team and Recent Activity

Team Members and Their Recent Activities

  1. Kirill Bulatov (SomeoneToIgnore)

    • Recent Commits:
    • Implemented a new way to display buffer/project search entries in the outline panel, enhancing usability during searches.
    • Worked on fixing issues related to the /tab command to prevent duplicate buffer insertions.
    • Made changes to the assistant panel for better user experience, including handling nested slash commands.
  2. Kai (kw7oe)

    • Recent Commits:
    • Fixed an issue with the elixir-ls language server installation regarding executable permissions.
  3. Piotr Osiewicz (osiewicz)

    • Recent Commits:
    • Addressed performance regressions in handling diagnostics and improved the performance of the assistant panel with large text.
    • Enhanced the inline assistant by allowing it to handle empty selections more effectively.
    • Made various improvements in the assistant panel, including error handling and UI adjustments.
  4. Walter de Jong (walterdejong)

    • Recent Commits:
    • Corrected the kill signal sent on Linux systems in the gpui module.
  5. Junseong Park (jsparkdev)

    • Recent Commits:
    • Updated documentation to fix broken links.
  6. Marshall Bowers (maxdeviant)

    • Recent Commits:
    • Added lifetime spending limits for LLM usage and made several enhancements to user account handling in collaboration features.
    • Worked on telemetry improvements for tracking active user counts and LLM usage metrics.
  7. Vitor Ramos (VitorRamos)

    • Recent Commits:
    • Added default terminal bindings for buffer search on Linux.
  8. Jason Lee (huacnlee)

    • Recent Commits:
    • Collaborated on adding new text styling features in the gpui module.
  9. Kevin Sweet (ksweetie)

    • Recent Commits:
    • Fixed issues with scrolling commands in Vim mode.
  10. Thorsten Ball (mrnugget)

    • Recent Commits:
    • Improved user interface elements in the assistant panel and added debug features for better workflow management.
  11. Danilo Leal (danilo-leal)

    • Recent Commits:
    • Enhanced documentation for the assistant feature set and improved user guidance within the application.
  12. Nathan Sobo (nathansobo)

    • Recent Commits:
    • Made significant updates to prompt handling in the inline assistant, aiming to reduce over-generation of content.

Patterns and Themes

  • The team is actively working on enhancing user experience across various modules, particularly focusing on the assistant panel and collaborative features.
  • There is a strong emphasis on fixing bugs and improving performance, especially concerning diagnostics and user interactions.
  • The integration of telemetry features indicates a move towards better monitoring of user engagement and system performance.
  • Several members are collaborating closely on overlapping features, suggesting a cohesive team dynamic focused on shared goals.
  • Documentation updates are being prioritized alongside code changes, reflecting an understanding of the importance of clear communication with users and contributors.

Conclusion

The development team is highly active, with a diverse set of contributions aimed at improving functionality, performance, and user experience within Zed. The focus on collaboration tools, telemetry enhancements, and thorough documentation suggests a strategic approach to both immediate fixes and long-term project sustainability.