3214a06
zed 0.93.3
Mikayla Maki created
3214a06
zed 0.93.3
Mikayla Maki created
d5d0c66
Add sound effects to calls (#2673)
This PR adds joined, leaving, mute, and unmute sound effects to Zed. Release Notes: - Added joined, leaving, mute, and unmute sound effects (preview-only)
Mikayla Maki created
6c3706a
zed 0.93.2
Max Brunsfeld created
fa60415
Fix regression in handling git FS events (#2670)
As part of an optimization in https://github.com/zed-industries/zed/pull/2663, I changed the way that the worktree ignores FS events within unloaded directories. But this accidentally prevented us from detecting some events that occur inside of `.git` directories. In this PR, I've made further tweaks to which FS events we can ignore. We now explicitly opt *in* to scanning `.git` (shallowly) directories (even though they are ignored). Note that we still don't recursively scan the git directory (including all of the files inside `objects` etc). This seems like the correct amount of work to do, and from my testing (and our unit tests that use the real FS and real git repositories), it seems to work correctly. Release Notes: - Fixed a bug where Zed would not detect some git repository changes (preview only).
Max Brunsfeld created
e602221
Fix bug preventing the assist command from working in certain keymaps (#2669)
Fixes: https://github.com/zed-industries/community/issues/1712 The keymaps were adding in a `"cmd-enter": "editor::NewlineBelow",` entry in the context of `Editor`, and this was clobbering the assist command in the assistant panel context. Zed now defines this command in the default keymap under the context of `"context": "Editor && mode == full"`. All I needed to basically do was remove that command from the keymaps. I also removed the `"cmd-shift-enter": "editor::NewlineAbove" from the `Editor` context in those keymaps as wel, as it is also defined in the default keymap. Release Notes: - Fix bug preventing the `assistant: assist` command from working in certain keymaps
Joseph T. Lyons created
d9006fa
zed 0.93.1
Max Brunsfeld created
dfa6e96
Avoid redundant FS scans when LSPs changed watched files (#2663)
Release Notes: - Fixed a performance problem that could occur when a language server requested to watch a set of files (preview only).
Max Brunsfeld created
69dfe70
Re-add missing active state (#2664)
[[PR Description]] Release Notes: - Fixes project panel active state that was incorrectly removed.
Nate Butler created
1f0cf01
Fix project panel bug (#2656)
Release Notes: * Fix a bug where project panel entries would not be styled correctly (preview only)
Mikayla Maki created
fbbf5a5
v0.93.x preview
Joseph T. Lyons created
ce52d90
Collab UI v2 (#2618)
This PR implements https://www.figma.com/file/pLq7dvhx2mFeWFOedXpUQ5/Project-%E2%80%93-Collaboration-UI?type=design&node-id=666%3A8610&t=XFGk6KEtTCFXBvCQ-1 Release notes: - [x] Redesigned collaboration UI - [x] Added voice support
Mikayla Maki created
cb782c5
Remove menu tracking state
Mikayla Maki created
34b81e2
collab 0.15.0
Max Brunsfeld created
88b30de
fmt
Mikayla Maki created
9ab0efa
Fix microphone and speaking styles
Mikayla Maki created
00212d4
Handle new elixir-ls release zip name (#2655)
Fix downloading Elixir being broken Release Notes: - N/A (Should be mentioned in 0.92.x)
Julia created
1882ce4
Handle new elixir-ls release zip name
Julia created
c381e88
Update icon sizes
Nate Butler created
a889f3d
Reduce the right spacing of the contacts menu
Nate Butler created
49ce197
Optimize user menu trigger
Piotr Osiewicz created
c2f5855
Fix warning
Piotr Osiewicz created
456be1f
Hide user menu on second click
Piotr Osiewicz created
dddff64
tests: Test 'db' package sequentially (#2654)
/cc @as-cii @nathansobo Release Notes: - N/A
Piotr Osiewicz created
2cb4616
Enable assistant on stable
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Antonio Scandurra and Nathan Sobo created
0d0c71e
Polish assistant (#2653)
This is a mix of styling and behavioral improvements to the assistant that we wanted to land before shipping today. Release Notes: - N/A
Antonio Scandurra created
8f8a99d
Bind cmd-? to assistant::toggle_focus
Bypass system help menu shortcut at the app delegate level to achieve this. Co-Authored-By: Antonio Scandurra <antonio@zed.dev>
Nathan Sobo and Antonio Scandurra created
2ddf0e1
Undeafen: unmute if user was not muted prior to deafening
Piotr Osiewicz created
7efcd60
Remove border from assistant message header
Also: Increase right margin on token count to space it from the scrollbar. Co-Authored-By: Antonio Scandurra <antonio@zed.dev>
Nathan Sobo and Antonio Scandurra created
83fc7b9
Avoid scrolling to the new cursor position so the assistant's output is stable
Co-Authored-By: Antonio Scandurra <antonio@zed.dev>
Nathan Sobo and Antonio Scandurra created
f52d3ea
Clean up tooltips, create conversation on cmd-n
Co-Authored-By: Antonio Scandurra <antonio@zed.dev>
Nathan Sobo and Antonio Scandurra created
d41a7f4
Space out assistant icons to match pane icons
Co-Authored-By: Antonio Scandurra <antonio@zed.dev>
Nathan Sobo and Antonio Scandurra created
749f60b
fmt
Mikayla Maki created
5d02b49
Added muted and currently speaking tracking
Mikayla Maki created
f128cf4
Defer scanning some worktree subdirectories until they are expanded in the project panel (#2622)
Closes https://linear.app/zed-industries/issue/Z-352/high-memory-usage-from-fs-scanning-if-project-contains-symlinks-that ### Background Currently, when you open a project, Zed eagerly scans the directory, building an in-memory representation of all of the files and directories within. This scanning includes all git-ignored files and follows any symlinks. When any directory changes on disk, Zed recursively rescans it in order to keep its in-memory representation up-to-date. When collaborating, all of these files are replicated to all guests. Right now, there are some performance problems associated with the maintenance of this filesystem state: * For various reasons, some projects contain symlinks that point out to large folders like `$HOME`, which itself contains many symlinks that point to the same large directory. When these projects are opened, the worktree scans endlessly, using more and more memory. * Some git-ignored directories (like `target` in a rust project) contain *many* more files than are actually tracked in the git repository. These files often change as a result of saving, (e.g. because the compiler runs). Maintaining in memory all of these paths isn't useful to the user, and causes significant CPU usage on every save. Most importantly, when collaborating sending all of these changes to guests can be slow, and can delay all other RPC messages. ### Change This PR changes the worktree's filesystem-scanning logic to be *lazy* about scanning two types of directories: * git ignored directories * "external" directories (those that are canonically located outside of the worktree root, but accessed via symlinks) The laziness works as follows. When, during a recursive scan, a directory is found that falls into one of the above 2 categories, that directory is marked as "unloaded". The directory might later be scanned, if some explicit operation is performed within it (like opening a buffer, or creating a file), if any collaborator expands that directory in their project panel, or if an LSP requests that it be watched. ### Results When collaborating on the `zed` folder: | metric | before | after | |-------|--------|------| | # `worktree_entries` in collab db initially | 154,763 | 77,679 | | # `worktree_entries` in collab db after 5 saves | 181,952 | 77,679 (nothing new to scan) | | app memory footprint (host) | 260MB | 228.5 MB | The db thing is a win, because reading and writing to the `worktree_entries` table is one of the most expensive thing that the `collab` server does. There's also generally lower background CPU usage after every save, because we don't need to recursively rescan directories inside of `target`. ### Limitations We still end up scanning some unnecessary directories (like `target/debug/build/zed-b612db829aeac16e/out`) because the LSP instructs us to watch those. ### To do: * [x] Expand parent directories of any path opened via LSP * [x] Avoid creating orphaned entries when FS events happen inside of unscanned directories * [x] Scan any newly-non-ignored directories after gitignore changes * [x] Emit correct events for newly-discovered paths when expanding dirs * [x] GC the set of expanded directory ids when dirs are removed * [x] Don't include "external" entries in file-finder * [x] Expand any directories watched by LSP * [ ] manual testing and profiling ### Release Notes: - Fixed a bug where Zed would use excessive memory when a project folder contained symlinks pointing to directories outside of the project. - Reduced Zed's memory and CPU usage when working in folders containing many git-ignored files.
Max Brunsfeld created
201188f
Use FakeFs in worktree gitignore test
Max Brunsfeld created
fc02381
Fix bugs in handling combined injections exposed by HEEx (#2652)
Fixes https://linear.app/zed-industries/issue/Z-2481/heex-this-snippet-triggers-a-hard-crash Release Notes: - Fixed a crash that would sometimes occur when editing a HEEx file ([#1703](https://github.com/zed-industries/community/issues/1703)).
Max Brunsfeld created
81c26cf
Fix bugs in handling combined injections exposed by HEEx
Max Brunsfeld created
9a07696
Update titlebar item spacing
Nate Butler created
8b2732c
`workspace.titlebar` -> `titlebar` in Theme
Nate Butler created
19ca6a8
Seperate online and offline
Mikayla Maki created
825a7cb
Update screenshare toggle, titlebar spacing
Nate Butler created
60ce584
WIP: Add mute icons
Mikayla Maki created
37cb202
Rename and toggle screenshare
Mikayla Maki created
b4f9fae
Update share, call control buttons
Nate Butler created
5af3340
Add script for building theme types
Nate Butler created
331800c
Use `icon_button` for leave call
Nate Butler created
3104275
Keep users muted once they undeafen themselves
Piotr Osiewicz created
9389b50
Update local-collaboration.md
Add missing livekit info
Nate Butler created
0548df0
Update local-collaboration.md
Nate Butler created
f311d30
Create local-collaboration.md (#2651)
I forget how to do this every single time 😅 Please update anything that is incorrect! [[PR Description]] Release Notes: - N/A
Nate Butler created