Commit Graph
174 Commits
Author SHA1 Message Date
Mikayla afebe3faf8 Merge branch 'main' into project_search_design 2023-08-17 01:56:05 -07:00
Mikayla 2f16147055 Fix dock resizing 2023-08-16 19:47:54 -07:00
Max Brunsfeld 4ea8b8292c Introduce channels and move collab popover contents to a collaboration panel (#2828)
### Summary

This PR introduces channels: a new way of starting collaboration
sessions. You can create channels and invite others to join them. You
can then hold a call in a channel, where any member of the channel is
free to join the call without needing to be invited.

Channels are displayed in a new panel called the collaboration panel,
which now also contains the contacts list, and the current call. The
collaboration popover has been removed from the titlebar.

![Screen Shot 2023-08-15 at 9 25 37
AM](https://github.com/zed-industries/zed/assets/326587/0f989dea-7fb7-4d50-9acd-25c8f1c30cd1)


For now, the channels functionality will only be revealed to staff, so
the public-facing change is just the move from the popover to the panel.

### To-do

* User-facing UI
  * [x] signed-out state for collab panel
  * [x] new icon for collab panel
  * [x] for now, channels section only appears for zed staff
* [x] current call section styling
(https://zed-industries.slack.com/archives/C05CJUNF2BU/p1691189389988239?thread_ts=1691189120.403009&cid=C05CJUNF2BU)
* [x] Channel members
* Channels
  * [x] style channel name editor
* [x] decide on a special "empty state" for the panel, when user has no
contacts
* [x] ensure channels are sorted in a consistent way (expose channel id
paths to client)
  * [x] Figure out layered panels UX
  * [x] Change add contacts to be the same kind of tabbed modal
* [x] race condition between channel updates and user fetches
(`ChannelStore::handle_update_contacts`)
* [x] race condition between joining channels and channel update
messages `collab::rpc::channel_updated`)
* [x] don't display mic as muted when microphone share is pending upon
first joining call

Release Notes:

- Moved the collaboration dropdown into its own panel.
- Added settings for disabling the AI assistant panel button.
- Switch to lazily initializing audio output sources
(https://github.com/zed-industries/community/issues/1840,
https://github.com/zed-industries/community/issues/1919)
2023-08-16 11:03:53 -07:00
KCaverlyandPiotr aeda5d9842 fix semantic search panic which is created via incompatible build_search_query path
Co-authored-by: Piotr <piotr@zed.dev>
2023-08-16 15:50:54 +01:00
Kirill Bulatov 80c779b95e Focus terminal view on mouse click in terminal
Before, terminal view focused the parent (pane) instead and, if
terminal's search bar was open and focused, pane transferred the focus
back
2023-08-16 15:16:20 +03:00
Kirill Bulatov de69f08c10 Support editor::SelectAll in Terminal 2023-08-15 23:43:32 +03:00
Nate Butler ef73e77d3d Update some status bar icons and states 2023-08-14 17:15:25 -04:00
Mikayla a90c0e0326 Merge branch 'main' into collab-panel 2023-08-12 12:44:22 -07:00
Nathan Sobo 84dc4090bd Wire up per corner radii for quad
Still need to expose this in the styling layer and allow images
to have per corner radii.
2023-08-12 10:40:23 -06:00
Piotr Osiewicz ffffbbea1f chore: use Cow instead of String for tooltips (#2838)
A QoL change to align `Tooltip` with other elements like `Label`
Release Notes:

- N/A
2023-08-11 15:29:55 +02:00
Mikayla 99daa73325 Merge branch 'main' into collab-panel 2023-08-09 10:37:22 -07:00
Nathan Sobo db96fb1307 Merge remote-tracking branch 'origin/main' into paint-context 2023-08-08 18:27:16 -06:00
Nathan Sobo 0a4633f88f Remove more window id usage 2023-08-08 11:20:09 -06:00
Nathan Sobo da7dc9c880 Work with window handles instead of ids in drag code 2023-08-08 11:14:02 -06:00
Mikaylaandmax 8980a9f1c1 Add settings for removing the assistant and collaboration panel buttons
Add a not-logged-in state to the collaboration panel

co-authored-by: max <max@zed.dev>
2023-08-07 16:27:47 -07:00
Nathan Sobo afcc0d621b WIP 2023-08-03 17:03:39 -06:00
Nathan Sobo 884cee6dfd Get tests compiling returning WindowHandle<V: View> from add_window 2023-08-02 14:05:03 -06:00
Mikayla Maki 354c020612 Block extra drag events in original drag handlers 2023-07-26 14:57:46 -07:00
Nathan Sobo 1b03c5d69c Pass PaintContext to Element::paint
I want to use this on another branch, but it's a sweeping change,
so this prepares the ground for it. This can always be reverted if
it doesn't work out.
2023-07-25 17:32:31 -06:00
Kirill Bulatov f05095a6dd Focus project panel on directory select 2023-07-23 00:12:25 +03:00
Kirill Bulatov dcaf8a9af8 Open paths starting with ~ from terminal click 2023-07-22 01:34:25 +03:00
Kirill Bulatov 33921183dc Avoid extra blinking on mouse moves 2023-07-18 22:59:41 +03:00
Kirill Bulatov 10db05f87f Rework terminal highlight event flow 2023-07-18 22:59:41 +03:00
Kirill Bulatov 94358ffb16 Use lines and columns from the file url strings 2023-07-18 22:59:41 +03:00
Kirill Bulatov 82a9d53c8a Only highlight the openable things 2023-07-18 22:59:41 +03:00
Kirill Bulatov 6349d90cac Properly open project directories 2023-07-18 22:59:41 +03:00
Kirill Bulatov 6123c67de9 Detect and open URLs properly 2023-07-18 22:59:41 +03:00
Kirill Bulatov 23f25562b5 Map initial approach to string opening 2023-07-18 22:59:41 +03:00
Kirill Bulatov f52722b6a4 Properly handle Cmd press for terminal highlights 2023-07-18 22:59:41 +03:00
Kirill BulatovandMikayla 75d900704e Refactor terminal highlights and open mechanisms
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-07-18 22:59:41 +03:00
Kirill Bulatov ccc78000bd Preserve serach index for multicaret selection editor events 2023-07-14 14:47:12 +03:00
Kirill Bulatov 29cbeb39bd Allow selecting all search matches in buffer 2023-07-14 14:47:12 +03:00
Mikayla Maki 9165320390 Fix a bug where the terminal would not be closed by the terminal exiting (#2706)
Release Notes:

- Fixed a bug where terminal tabs in the panel would not close on tty
process exit.
2023-07-11 12:23:26 -07:00
Mikayla Maki 550aa2d6bd fmt 2023-07-11 12:17:50 -07:00
Mikayla Maki be881369fa Fix a bug where the terminal panel's items wouldn't be hooked up properly to workspace actions 2023-07-11 12:12:37 -07:00
Kirill BulatovandMax Brunsfeld 4b4d049b0a Refactor LSP restart logic
Instead of storing `initialization_options` in every LSP adapter as
before, store previous LSP settings in `Project` entirely.

This way, we can later have use multiple different project
configurations per single LSP with its associated adapter.

co-authored-by: Max Brunsfeld <max@zed.dev>
2023-07-11 21:56:55 +03:00
Mikayla Maki 5366631173 Remove on_click_out handler from context menu
Add 'delay_cancel()' method and on_down handler to relevant buttons
2023-06-29 17:10:51 -07:00
Nathan SoboandJulia Risley 23bc11f8b3 Remove the nested Pane from the assistant
Since we don't want tabs, I think it would be better to render the toolbar
for ourselves directly and handle switching between conversations.

Co-Authored-By: Julia Risley <julia@zed.dev>
2023-06-20 18:52:48 -06:00
Antonio Scandurra 7a78e64831 Merge remote-tracking branch 'origin/main' into assistant-2 2023-06-06 19:18:22 +02:00
Joseph Lyons 7c60f636d5 Fix typos 2023-06-02 22:02:19 -04:00
Antonio Scandurra d0aff65b1c Allow moving the assistant panel to other docks 2023-06-02 10:55:19 +02:00
Mikayla Makiandmax 40c6baf7cb Redraw the terminal on every wakeup
co-authored-by: max <max@zed.dev>
2023-06-01 10:49:31 -07:00
Max Brunsfeld 788f97ec68 Add support for folder-specific settings (#2537)
This PR allows you to customize Zed's settings within a particular
folder by creating a `.zed/settings.json` file within that folder.

Todo

* [x] respect folder-specific settings for local projects
* [x] respect folder-specific settings in remote projects
* [x] pass a path when retrieving editor/language settings
* [x] pass a path when retrieving copilot settings
* [ ] update the `Setting` trait to make it clear which types of
settings are locally overridable

Release Notes:

* Added support for folder-specific settings. You can customize Zed's
settings within a particular folder by creating a `.zed` directory and a
`.zed/settings.json` file within that folder.
2023-05-31 16:27:08 -07:00
Max Brunsfeld 3f6aa94a5f Use active color for zoom button in a zoomed pane 2023-05-31 12:51:57 -07:00
Mikayla Maki 0122cd61c5 fmt 2023-05-30 16:33:42 -07:00
Mikayla Maki 9c707eff27 Rework new terminal actions 2023-05-30 16:10:07 -07:00
Max Brunsfeld 89446c7fd4 Start work on respecting project-specific settings 2023-05-29 14:25:49 -07:00
Antonio ScandurraandNathan Sobo 6d3464fd1f Make Pane::add_item a proper Pane method
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2023-05-29 19:16:22 +02:00
Antonio Scandurra aa8c0475b1 Don't show navigation controls for terminal panel 2023-05-25 15:15:20 +02:00
Antonio Scandurra 414b97adce Add search bar to terminal panel 2023-05-25 14:46:10 +02:00