Commit Graph

868 Commits

Author SHA1 Message Date
Conrad Irwin
bfee008bb2 Merge branch 'main' into cursors 2024-01-18 14:03:27 -07:00
Conrad Irwin
6c2da0d25b Revert "Store a z-index id per-layer (#4128)"
This reverts commit 28a2337218, reversing
changes made to e992f84735.
2024-01-18 13:28:23 -07:00
Julia
bc2302f723 Store a z-index id per-layer
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2024-01-18 13:24:25 -05:00
Marshall Bowers
7b9e7fea4e
Use regular info color for speaker borders (#4126)
This PR updates the speaker borders to use the regular `info` status
color instead of the `info_border` color.

This should provide more contrast and make it clearer as to who is
speaking.

Release Notes:

- Made the active speakers' borders more visible when in a call.
2024-01-18 11:12:45 -05:00
Mikayla Maki
0711476fd5
Merge branch 'main' into fix-typos 2024-01-17 14:36:03 -08:00
Mikayla
57400e9687
Fix typos detected by crate-ci/typos 2024-01-17 14:31:21 -08:00
Conrad Irwin
552d2c26f5 Also update chat location when opening a new workspace
This happens a lot in guest workflows where they open the call with a
link and are jumped straight to a shared workspace.
2024-01-17 11:41:42 -07:00
Marshall Bowers
df67917768
Make channel buttons square (#4092)
This PR makes the channel buttons square.

Release Notes:

- Adjusted the shape of the channel buttons.
2024-01-17 11:47:43 -05:00
Conrad Irwin
e2788f1f0f
Limit number of collaborators in local Facepiles (#4083)
Release Notes:

- Improves the rendering of the facepile in the titlebar with many
people
2024-01-17 08:34:56 -07:00
Conrad Irwin
0ca9f286c6 Show cursors for remote participants 2024-01-16 21:54:49 -07:00
Conrad Irwin
1d5b237b64 Allow leaving calls once project is unshared 2024-01-16 21:54:13 -07:00
Conrad Irwin
8be798d1c0 Limit number of collaborators in local Facepiles 2024-01-16 19:49:48 -07:00
Marshall Bowers
4e8ad363f1
Increase border width used to indicate speaking (#4077)
This PR increases the width of the border that we use to indicate when a
call participant is speaking.

This should make it more apparent in the UI when someone is speaking.

Release Notes:

- Increased the width of the ring used to indicate when someone is
speaking in a call.
2024-01-16 17:09:28 -05:00
Conrad Irwin
c8a6b0d8aa
Enable Channels for everyone (#4058)
[[PR Description]]

Release Notes:

- Adds Channels, a new mechanism for collaboration. [Read
More...](https://zed.dev/blog/channels)
2024-01-16 14:53:24 -07:00
Conrad Irwin
6bcc97ead4
channel management fixes (#4066)
- Close modals when focus leaves
- Disallow self-management for admins

Release Notes:

- Fixes changing role of invited channel members
2024-01-16 14:53:14 -07:00
Marshall Bowers
2e03c848e3
Add dedicated indicator for showing a muted call participant (#4076)
This PR improves the muted indicators to make it clearer when a call
participant is muted.

Previously we used a red border color to denote when a participant was
muted.

Now we render an indicator with an icon to more clearly indicate the
participant's muted status:

<img width="303" alt="Screenshot 2024-01-16 at 4 05 15 PM"
src="https://github.com/zed-industries/zed/assets/1486634/d30fcd84-48e7-4959-b3c4-1054162c6bd6">

Hovering over the indicator will display a tooltip for further
explanation:

<img width="456" alt="Screenshot 2024-01-16 at 4 05 25 PM"
src="https://github.com/zed-industries/zed/assets/1486634/6345846f-196c-47d9-8d65-c8d86e63f823">

This change also paves the way for denoting the deafened status for call
participants.

Release Notes:

- Improved the mute indicator for call participants.
2024-01-16 16:18:06 -05:00
Marshall Bowers
9903b7ae6e
Add color ribbon for local player (#4075)
This PR adds a color ribbon for the local player in the current call.

This fixes the alignment of the local user's avatar so that it lines up
with the rest of the collaborators in the call:

<img width="307" alt="Screenshot 2024-01-16 at 2 56 04 PM"
src="https://github.com/zed-industries/zed/assets/1486634/979ee3fa-70c9-482a-9351-020402ad68b9">

Release Notes:

- Added a color ribbon for the local player when in a call.
2024-01-16 15:17:29 -05:00
Marshall Bowers
ca4a8b2226
Rework Avatar indicator to be more general-purpose (#4073)
This PR reworks the way we add indicators to `Avatar`s to make them more
general-purpose.

Previously we had logic specific to the availability indicator embedded
in the `Avatar` component, which made it unwieldy to repurpose for
something else.

Now the `indicator` is just a slot that we can put anything into.

Release Notes:

- N/A
2024-01-16 14:05:05 -05:00
Conrad Irwin
036e637208 Disallow self-management for admins 2024-01-15 19:31:01 -07:00
Max Brunsfeld
e57c32effb
Avoid playing newly published audio tracks when deafened (#4040)
Release Notes:

- Fixed a bug where the 'deafen' button would only apply to audio from
the call's current participants, but not any participants who joined
after the button was pressed.
- Fixed a bug where after being granted write access to a channel, the
microphone icon appeared non-muted, even though audio was not shared.
2024-01-15 14:08:49 -08:00
Joseph T. Lyons
ba9a9f4f17 Add more open events
project search
diagnostics
welcome page
2024-01-15 16:26:04 -05:00
Conrad Irwin
97047ffaca Enable Channels for everyone 2024-01-15 13:33:58 -07:00
Thorsten Ball
b9be2147e8 Fix unaligned close button in tab bar
Co-authored-by: Marshall <marshall@zed.dev>
2024-01-15 18:16:41 +01:00
Marshall Bowers
90f4c70a82
Rename h_stack and v_stack to h_flex and v_flex, respectively (#4053)
This PR renames the `h_stack` and `v_stack` to `h_flex` and `v_flex`,
respectively.

We were previously using `h_stack` and `v_stack` to match SwiftUI, but
`h_flex` and `v_flex` fit better with the web/flexbox terminology that
the rest of GPUI uses.

Additionally, we were already calling the utility functions used to
implement `h_stack` and `v_stack` by the new names.

Release Notes:

- N/A
2024-01-15 11:34:06 -05:00
Conrad Irwin
29ce109211
chat panel ++ (#4044)
- Update chat panel with current channel
- Open chat panel for guests
- Open chat when joining a channel with guests
- Some tweaks for chat panels
- Don't lose focus on default panel state
- Make chat prettier (to my eyes at least)
- Fix multiple mentions in one message
- Show a border when scrolled in chat
- Fix re-docking chat panel
- Move settings subscription to dock

[[PR Description]]

Release Notes:

- Opens chat by default when joining a public channel
- Improves chat panel UI
2024-01-14 13:54:10 -07:00
Conrad Irwin
4d87a67af8 Remove unused imports 2024-01-13 22:44:47 -07:00
Conrad Irwin
898645681f Move settings subscription to dock
Reduces likelihood of panels being unable to move themselves
2024-01-13 22:41:26 -07:00
Conrad Irwin
fee369bca1 Fix re-docking chat panel 2024-01-13 22:26:25 -07:00
Conrad Irwin
818cbb2415 Show a border when scrolled in chat 2024-01-13 22:19:21 -07:00
Conrad Irwin
f6ef07e716 Make chat prettier (to my eyes at least) 2024-01-13 21:37:13 -07:00
Conrad Irwin
c2ff9fe2da Don't lose focus on default panel state 2024-01-13 14:32:24 -07:00
Mikayla
bfb59f1598
Remove last stale code 2024-01-12 20:59:19 -08:00
Mikayla
5897b18cfd
remove more commented code 2024-01-12 20:10:40 -08:00
Mikayla
3a836b8026
Remove some comments 2024-01-12 20:10:40 -08:00
Max Brunsfeld
c2cf28804a Don't run newly published audio tracks when deafened
Also, simplify the management of the muted and deafened state in Room.
2024-01-12 15:12:29 -08:00
Conrad Irwin
eafe0944e0 Some tweaks for chat panels 2024-01-12 16:01:51 -07:00
Conrad Irwin
50f3bbbc8b Open chat when joining a channel with guests
(and close it when leaving a channel again)
2024-01-12 15:08:14 -07:00
Conrad Irwin
f0d490c671 Open chat panel for guests 2024-01-12 10:34:24 -07:00
Conrad Irwin
dc158f708f Update chat panel with current channel 2024-01-12 10:23:30 -07:00
Mikayla
7ef88397c9
Fix seg fault when using the WindowContext::on_window_should_close() API 2024-01-10 11:26:11 -08:00
Conrad Irwin
61a9a3a274 Revert "Remove ChannelsAlpha flag"
This reverts commit 1c1151a0ed.
2024-01-10 11:52:33 -07:00
Conrad Irwin
1c1151a0ed Remove ChannelsAlpha flag
Welcome to the party!
2024-01-10 09:29:44 -07:00
Conrad Irwin
5d3f5611e5
guest promotion (#3969)
Release Notes:

- Adds the ability to promote read-only guests to read-write
participants in calls
2024-01-09 22:21:13 -07:00
Mikayla Maki
45baad2825
Remove or fix stale todos (#3990)
The software equivalent of dusting

Release Notes:

-
2024-01-09 18:37:35 -08:00
Marshall Bowers
8cb291baa4
Take a different approach to rendering channel buttons (#3991)
This PR changes the approach we're using to render the channel buttons
to use a more straightforward (and less hacky) approach.

### Motivation

Even with the variety of hacks that were employed to make the current
approach work, there are still a number of issues with the current
solution:

- Hovering in the empty space to the left of a channel doesn't correctly
apply the hover background to the container for the channel buttons
- Hovering to the very right of the collab panel (right on top of the
drag handle) causes the channel button container to apply its hover
background without applying it to the rest of the row
- The buttons would still get pushed off to the right by the indent
space in the channel tree, resulting in jagged indicators at small sizes

Additionally, the rectangular background placed behind the channel
buttons still didn't look great when it overlapped with the channel
names.

### Explanation

For these reasons, I decided to explore a simpler approach that
addresses these issues, albeit with some tradeoffs that I think are
acceptable.

We now render the absolutely-positioned button container as a sibling
element of the `ListItem`. This is to avoid issues with the container
getting pushed around based on the contents of the `ListItem` rather
than staying absolutely positioned at the end of the row.

We also have gotten rid of the background for the button container, and
now rely on the background of the individual `IconButton`s to occlude
the channel name behind them when the two are overlapping.

Here are some examples of the new UI in various configurations:

#### When the channel entry is hovered

<img width="270" alt="Screenshot 2024-01-09 at 6 15 24 PM"
src="https://github.com/zed-industries/zed/assets/1486634/0207a129-30eb-4067-8490-3b6c9cbf75ea">

#### Overlapping with the channel name

<img width="229" alt="Screenshot 2024-01-09 at 6 15 43 PM"
src="https://github.com/zed-industries/zed/assets/1486634/0a67507e-45c8-4325-a71e-d416edc3a115">

#### Narrow collab panel

<img width="116" alt="Screenshot 2024-01-09 at 6 16 07 PM"
src="https://github.com/zed-industries/zed/assets/1486634/887ebaa3-e4d6-4497-9141-afcc8b7cd356">

### Tradeoffs

The new approach comes with the following tradeoffs that I am currently
aware of:

The occlusion can look a little weird when the icons are in the middle
of a channel name (as opposed to fully occluding the end of the channel
name):
<img width="190" alt="Screenshot 2024-01-09 at 6 24 32 PM"
src="https://github.com/zed-industries/zed/assets/1486634/0062b806-1b8f-47eb-af8d-f061d9829366">

Hovering one of the icons causes the icon to be hovered instead of the
row:

<img width="232" alt="Screenshot 2024-01-09 at 6 31 38 PM"
src="https://github.com/zed-industries/zed/assets/1486634/cbcc1a45-64d2-4890-8ad6-c5a5ee961b86">

Release Notes:

- Improved the way channel buttons are displayed.
2024-01-09 18:39:29 -05:00
Conrad Irwin
276bfa0fab Merge branch 'main' into guest-promotion 2024-01-09 16:28:42 -07:00
Conrad Irwin
4da9d61a42 Implement live kit promotion/demotion 2024-01-09 16:10:12 -07:00
Mikayla
80790d921d
Fix / remove small todos 2024-01-09 14:16:46 -08:00
Marshall Bowers
f0ef63bfa0
gpui: Add SharedUrl type (#3975)
This PR adds a `SharedUrl` type to GPUI.

It's just like a `SharedString`, but for denoting that the contained
value is a URL.

Mainlined from @nathansobo's GPUI blog post:
https://github.com/zed-industries/zed/pull/3968/files#diff-7ee75937e2daf7dd53f71b17698d8bd6d46993d06928d411781b9bd739b5f231R9-R12

Release Notes:

- N/A
2024-01-09 10:55:49 -05:00
Marshall Bowers
fa53353c57
Rename IconElement to just Icon (#3974)
This PR renames the `IconElement` component to just `Icon`.

This better matches the rest of our components, as `IconElement` was the
only one using this naming convention.

The `Icon` enum has been renamed to `IconName` to free up the name.

I was trying to come up with a way that would allow rendering an
`Icon::Zed` directly (and thus make the `IconElement` a hidden part of
the API), but I couldn't come up with a way to do this cleanly.

Release Notes:

- N/A
2024-01-09 10:11:20 -05:00
Conrad Irwin
844d161c40 Allow adding write access to guests 2024-01-08 22:02:56 -07:00
Marshall Bowers
4afa5fb23e
Add stories for collab notifications (#3967)
This PR adds some basic stories for collab notifications to make them
easier to work on:

<img width="1076" alt="Screenshot 2024-01-08 at 9 43 39 PM"
src="https://github.com/zed-industries/zed/assets/1486634/4a0adcfa-1134-49c2-b589-74ac1d52af4c">

I factored out a `CollabNotification` component that defines the general
structure for one of these notifications, and this is the component that
we use in the stories, with representative values passed to it to
simulate the different instances of the notification.

We can't use the actual notification components in the stories due to
their data dependencies.

Release Notes:

- N/A
2024-01-08 21:54:59 -05:00
Marshall Bowers
80f204fabb
Style the chat panel message input (#3956)
This PR styles the message input in the chat panel.

<img width="242" alt="Screenshot 2024-01-08 at 4 28 33 PM"
src="https://github.com/zed-industries/zed/assets/1486634/48e83692-878e-4891-8e40-8738cdeb23a8">

Release Notes:

- Improved the styling of the message editor in the chat panel.
2024-01-08 16:45:18 -05:00
Marshall Bowers
667d90180d
Improve chat panel empty states (#3955)
This PR improves the empty states for the chat panel:

- The signed-out state has been updated to match our other signed-out
panel states.
- A new state has been added to account for the case where a user is
signed in but doesn't have an active chat.

Release Notes:

- Improved the design of empty states in the chat panel.
2024-01-08 15:56:52 -05:00
Piotr Osiewicz
e4b1c76895
Display setting documentation in settings.json (#3936)
Let this screenshot of settings.json speak for itself: 

![image](https://github.com/zed-industries/zed/assets/24362066/fca60383-1788-43f9-803b-00f083394c8a)

Release Notes:
- Added code completion & on-hover documentation to Zed's settings.json
file.

---------

Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
2024-01-08 19:30:18 +01:00
Marshall Bowers
5e401e4550
Fix layout shift when renaming a channel (#3946)
This PR fixes the layout shift that would occur in the channel list when
opening a rename editor for a channel.

Release Notes:

- Fixed layout shift when opening a rename editor for a channel.
2024-01-08 13:28:21 -05:00
Marshall Bowers
72de75dd45
Adjust spacing of extra call participant count indicator (#3945)
This PR adjusts the spacing of the indicator showing the number of extra
call participants that appears after the facepile:

<img width="242" alt="Screenshot 2024-01-08 at 1 09 39 PM"
src="https://github.com/zed-industries/zed/assets/1486634/6d9cbefa-3b4e-4501-ab11-51026dfb5b6c">

Release Notes:

- Added more space between the call participant facepile and the number
indicating additional call participants.
2024-01-08 13:24:56 -05:00
Marshall Bowers
fd2abb7ba1 Adjust thickness of tree branches 2024-01-08 12:32:01 -05:00
Marshall Bowers
04f01ab408 Overdraw the tree branch to avoid gaps 2024-01-08 12:01:13 -05:00
Piotr Osiewicz
d475f1373a
gpui: Further docs refinement & moved some reexports into 'private' module (#3935)
This commit mostly fixes invalid URLs in docstrings. It also
encapsulates crates we reexport (serde stuff + linkme) into a public
module named "private" in order to reduce the API surfaced through docs.
Moreover, I fixed up a bunch of crates that were pulling serde_json in
through gpui explicitly instead of using Cargo manifest.

Release Notes:
- N/A
2024-01-07 14:14:21 +01:00
Joseph T. Lyons
520c433af5 Fix tests 2024-01-06 16:10:40 -05:00
Joseph T. Lyons
ea1770254d Merge branch 'main' into instrument-welcome-screen 2024-01-06 15:23:06 -05:00
Joseph T. Lyons
cdd5cb16ed WIP 2024-01-06 14:41:35 -05:00
Kirill Bulatov
d86ccb1afc Reduce the height of the collaborators' color ribbon 2024-01-06 12:54:54 +02:00
Kirill Bulatov
ae14f7bd92 Add space between menus and player stack 2024-01-06 12:07:48 +02:00
Kirill Bulatov
ee336cb87f Add spaces between leave call and call status icons, and call status icons and user menu 2024-01-06 11:56:01 +02:00
Kirill Bulatov
e549ef0ee9 Restore tooltipts for all collab buttons 2024-01-06 01:50:59 +02:00
Marshall Bowers
be98ff408e
Iterate on design of channel management modal (#3923)
This PR refines the design of the channel management modal:

#### Before

<img width="585" alt="Screenshot 2024-01-05 at 4 17 32 PM"
src="https://github.com/zed-industries/zed/assets/1486634/a6d96674-b688-4549-8fb8-0a7b2c7c88be">

#### After

<img width="589" alt="Screenshot 2024-01-05 at 4 15 20 PM"
src="https://github.com/zed-industries/zed/assets/1486634/31ae8dc1-a129-4a15-963e-9779b9b79bd9">

Release Notes:

- Improved the look of the channel management modal.
2024-01-05 16:22:43 -05:00
Marshall Bowers
6cb8b86aeb
Tidy up styling of connection status in the title bar (#3922)
This PR tidies up the styling of the connection status indicators in the
title bar.

Removed some debug styles and tweaked the styling to match the rest of
the title bar overall.

Release Notes:

- Improved the connection status indicators in the title bar.
2024-01-05 15:36:30 -05:00
Conrad Irwin
3c0052850c Merge branch 'main' into channel-guests 2024-01-05 10:05:59 -07:00
Nate Butler
a205b2dbf3
Update call controls & Add tinted buttons (#3886)
This PR introduces Tinted button styles and the `selected_style` field
on buttons to allow replicating the previous design of titlebar call
controls. It also updates the styles of the titlebar controls.

### Creating a tinted button:

```
Button::new("accept-cta", "Accept")
    .style(ButtonStyle::Tinted(TintColor::Accent))
    .on_click(...)
```

Ths button will always be tinted blue.

### Creating a button that becomes tinted when selected::

```rust
IconButton::new("screen-share", Icon::Screen)
    .style(ButtonStyle::Subtle)
    .selected(is_screen_sharing)
    .selected_style(ButtonStyle::Tinted(TintColor::Accent))
    .on_click(...),
```

This button will be flat/subtle by default, but be tinted blue when it
is `selected`.

Note: There appears to be some issue where `is_deafened` isn't
activating correctly, making the speaker icon not toggle when selected.

Release Notes:

- Restore call control styles to a similar look to Zed 1.
2024-01-05 11:28:18 -05:00
Nate Butler
6c4350933f Update titlebar call status icons 2024-01-05 11:20:24 -05:00
Marshall Bowers
c8dcc80a1f
Respect the setting to show/hide the assistant and chat panels (#3909)
This PR makes it so we respect the setting to show/hide the assistant
and chat panels.

Resolves https://github.com/zed-industries/community/issues/2370.

Release Notes:

- Fixed an issue where the settings to show/hide certain panels were not
respected.
2024-01-05 11:17:29 -05:00
Marshall Bowers
3f06a05060
Iterate on collab panel filter input style (#3900)
This PR takes another pass at the collab panel filter input to improve
its styling.

Release Notes:

- Improved the look of the filter input in the collab panel.
2024-01-04 18:08:28 -05:00
Conrad Irwin
be426e67cc Tidy up guest count 2024-01-04 12:22:45 -07:00
Piotr Osiewicz
5a43cbacbe channels: Move name of the channel to the same line as the hash icon. 2024-01-04 12:11:23 +01:00
Nate Butler
77647fa088 Use theme colors for muted/speaking indicators 2024-01-03 23:19:47 -05:00
Conrad Irwin
1930258d39 Show guests in fewer places 2024-01-03 19:31:43 -07:00
Conrad Irwin
9fe17a1d1d Prevent guests from screen-sharing, unmuting or screen sharing 2024-01-03 19:31:43 -07:00
Conrad Irwin
84171787a5 Track read_only per project and buffer
This uses a new enum to avoid confusing booleans
2024-01-03 19:31:43 -07:00
Marshall Bowers
2ec58c0438
Follow the project host when clicking their name in the title bar (#3868)
This PR adds back the ability to follow the project host when clicking
on their name in the title bar.

Release Notes:

- Added back following the project host when clicking their name in the
title bar.
2024-01-03 17:48:46 -05:00
Max Brunsfeld
a8061232a5 cargo fmt 2024-01-03 13:13:50 -08:00
Max Brunsfeld
83f4c61657 Remove 2 suffix from gpui_macros, fix compile errors in tests
Co-authored-by: Mikayla <mikayla@zed.dev>
2024-01-03 13:12:21 -08:00
Max Brunsfeld
f5ba22659b Remove 2 suffix from gpui
Co-authored-by: Mikayla <mikayla@zed.dev>
2024-01-03 12:59:39 -08:00
Max Brunsfeld
dfcb17fe74 Remove 2 suffix for theme
Co-authored-by: Mikayla <mikayla@zed.dev>
2024-01-03 12:41:01 -08:00
Max Brunsfeld
4305c5fdbe Remove 2 suffix for ui, storybook, text
Co-authored-by: Mikayla <mikayla@zed.dev>
2024-01-03 12:33:51 -08:00
Max Brunsfeld
0cf65223ce Remove 2 suffix for collab, rope, settings, menu
Co-authored-by: Mikayla <mikayla@zed.dev>
2024-01-03 12:29:16 -08:00
Max Brunsfeld
5ddd298b4d Remove 2 suffix for fs, db, semantic_index, prettier
Co-authored-by: Mikayla <mikayla@zed.dev>
2024-01-03 12:09:42 -08:00
Max Brunsfeld
53bdf6beb3 Remove 2 suffix for client, call, channel
Co-authored-by: Mikayla <mikayla@zed.dev>
2024-01-03 12:02:14 -08:00
Max Brunsfeld
9f99e58834 Remove 2 suffix for lsp, language, fuzzy
Co-authored-by: Mikayla <mikayla@zed.dev>
2024-01-03 11:58:02 -08:00
Max Brunsfeld
c5a1950522 Remove 2 suffix for project
Co-authored-by: Mikayla <mikayla@zed.dev>
2024-01-03 11:53:34 -08:00
Max Brunsfeld
4ddb26204f Remove 2 suffix for ai, zed_actions, install_ci, feature_flags
Co-authored-by: Mikayla <mikayla@zed.dev>
2024-01-03 11:48:46 -08:00
Max Brunsfeld
789ce8dd75 Remove 2 suffix for workspace
Co-authored-by: Mikayla <mikayla@zed.dev>
2024-01-03 11:08:51 -08:00
Max Brunsfeld
588976d27a Remove 2 suffix for editor
Co-authored-by: Mikayla <mikayla@zed.dev>
2024-01-03 10:58:57 -08:00
Max Brunsfeld
bcad3a5847 Remove 2 suffix for picker, feedback
Co-authored-by: Mikayla <mikayla@zed.dev>
2024-01-03 10:55:34 -08:00
Max Brunsfeld
0ac8aae17b Remove 2 suffix for language_tools, search, terminal_view, auto_update
Co-authored-by: Mikayla <mikayla@zed.dev>
2024-01-03 10:52:40 -08:00
Max Brunsfeld
292b3397ab Remove 2 suffix for language selector, project panel, recent_projects, copilot_button, breadcrumbs, activity_indicator
Co-authored-by: Mikayla <mikayla@zed.dev>
2024-01-03 10:47:33 -08:00
Max Brunsfeld
37e6533b28 Remove 2 suffix for project_symbols, theme_selector
Co-authored-by: Mikayla <mikayla@zed.dev>
2024-01-03 10:38:23 -08:00
Max Brunsfeld
2b8822fd08 Remove 2 suffix for welcome, vcs_menu, quick_action_bar, collab_ui
Co-authored-by: Mikayla <mikayla@zed.dev>
2024-01-03 10:30:52 -08:00
Kirill Bulatov
a5c615ceb4 Pass a new query parameter into the search 2023-11-17 21:40:56 +02:00
Max Brunsfeld
2dd32dbe87 Allow language injection in markdown code blocks in channel notes 2023-11-03 15:53:54 -07:00
Mikayla Maki
f67f42779b
Rename IIFE to maybe (#3165)
Too good of an idea to forget

Release Notes:

- N/A
2023-10-25 17:09:12 +02:00
Mikayla
26a3d41dc7
Change from try (reserved keyword) to maybe 2023-10-25 07:10:21 -07:00
Max Brunsfeld
32367eba14 Set up UI to allow dragging a channel to the root 2023-10-25 15:39:02 +02:00
Max Brunsfeld
42259a4007 Fix channel dragging
Co-authored-by: Conrad <conrad@zed.dev>
Co-authored-by: Joseph <joseph@zed.dev>
2023-10-25 09:41:16 +02:00
Conrad Irwin
70eeefa1f8 Fix channel collapsing 2023-10-25 09:27:17 +02:00
Max Brunsfeld
5c03b6a610 Remove logic for multiple channel parents
Co-authored-by: Conrad <conrad@zed.dev>
Co-authored-by: Kyle <kyle@zed.dev>
Co-authored-by: Joseph <joseph@zed.dev>
2023-10-24 17:29:23 +02:00
Conrad Irwin
ea4e67fb76 Merge branch 'main' into guest-exp 2023-10-23 17:47:21 +02:00
Max Brunsfeld
4d491ca3a1 Tweak styling of notifications
Co-authored-by: Piotr <piotr@zed.dev>
2023-10-23 14:58:03 +02:00
Max Brunsfeld
2f0eaafc39 Format timestamps more tersely in the notification panel
Co-authored-by: Piotr <piotr@zed.dev>
2023-10-23 14:34:38 +02:00
Max Brunsfeld
8766e5f0d0 Avoid flickering toast when mentioned in already-visible chat channel
Co-authored-by: Piotr <piotr@zed.dev>
2023-10-23 13:48:49 +02:00
Piotr Osiewicz
812ff9a97d Account for markdown styling in mentions offset calculation.
This also means that we can support smart punctuation.

Co-authored-by: Max <max@zed.dev>
2023-10-23 12:50:57 +02:00
Max Brunsfeld
763b13e700 Avoid duplicate acks for messages with mentions 2023-10-22 18:00:02 +02:00
Max Brunsfeld
59adcc1744 Load more notifications when scrolling down 2023-10-22 17:10:21 +02:00
Max Brunsfeld
23400a5a70 Start styling notification panel 2023-10-22 16:03:33 +02:00
Max Brunsfeld
234ccbe51f Merge branch 'main' into notifications 2023-10-22 12:25:30 +02:00
Max Brunsfeld
4a0358a513 Mark contact acceptance notifications as read automatically 2023-10-22 12:22:47 +02:00
Max Brunsfeld
fce09e8c92 Mark chat mention notifications as read when viewing the message 2023-10-22 11:57:10 +02:00
Piotr Osiewicz
fc37abc356
vcs_menu: Query branches on open instead of per keystroke (#3144)
Release Notes:

- Improved performance of branch picker by querying branches on menu
open instead of querying once per each keystroke. (fixes
zed-industries/community#2161)
2023-10-21 14:01:01 +02:00
Conrad Irwin
31872227f1 Remove screen sharing indicator
This is now redundant given macOS has the same icon, and it panics when
you click on it :D.
2023-10-20 13:04:45 -06:00
Piotr Osiewicz
6844bb6510 Highlight mentions in the Saved chat messages 2023-10-20 15:30:36 +02:00
Conrad Irwin
e03e5364d2 Wire through LiveKit permissions 2023-10-19 23:23:33 -06:00
Max Brunsfeld
44cb55fbe9 Fix scrolling to messages on clicking of notifications 2023-10-19 14:04:34 -07:00
Max Brunsfeld
5b90507310 Navigate to chat messages when clicking them in the notification panel 2023-10-19 12:31:45 -07:00
Conrad Irwin
0eff7c6ca9 Add read-only channel notes support
Fix some bugs where ChannelNotes and ChannelChat had old cached channel
instances
2023-10-19 13:20:49 -06:00
Conrad Irwin
3853009d92 Refactor to avoid some (mostly hypothetical) races
Tidy up added code to reduce duplicity of X and X_internals.
2023-10-18 21:42:10 -06:00
Max Brunsfeld
b07f9fe3b5 Merge branch 'main' into notifications 2023-10-18 17:20:04 -07:00
Max Brunsfeld
d05404a4df Persist chat mentions 2023-10-18 16:56:03 -07:00
Mikayla
0ce1ec5d15
Restrict DAG-related functionality, but retain infrastructure for implementing symlinks 2023-10-18 05:28:05 -07:00
Conrad Irwin
70aed4a605 Sync Role as part of channels
Begin to fix guest notifications
2023-10-17 22:48:44 -06:00
Max Brunsfeld
821419ee5b Add a unit test for the mention-searching logic in MessageEditor 2023-10-17 20:15:49 -07:00
Max Brunsfeld
ee87ac2f9b Start work on chat mentions 2023-10-17 17:59:42 -07:00
Max Brunsfeld
660021f5e5 Fix more issues with the channels panel
* Put the newest notifications at the top
* Have at most 1 notification toast, which is non-interactive,
  but focuses the notification panel on click, and auto-dismisses
  on a timer.
2023-10-17 15:43:06 -07:00
Conrad Irwin
1c5e07f4a2 update sidebar for public channels 2023-10-17 13:30:09 -06:00
Max Brunsfeld
52834dbf21 Add notifications integration test 2023-10-17 11:21:38 -07:00
Max Brunsfeld
f2d36a47ae Generalize notifications' actor id to entity id
This way, we can retrieve channel invite notifications when
responding to the invites.
2023-10-17 10:34:50 -07:00
Max Brunsfeld
f225039d36 Display invite response buttons inline in notification panel 2023-10-17 09:12:55 -07:00
Conrad Irwin
9cc55f895c Merge branch 'main' into guests 2023-10-17 09:54:17 -06:00
Conrad Irwin
851701cb6f Fix get_most_public_ancestor 2023-10-17 09:41:34 -06:00
Mikayla
162f625716
Adjust chat permisisons to allow deletion for channel admins 2023-10-17 02:16:17 -07:00
Conrad Irwin
4e7b35c917 Make joining a channel as a guest always succeed 2023-10-16 15:14:13 -06:00
Max Brunsfeld
c66385f0f9 Add an empty state to the notification panel 2023-10-16 12:54:44 -07:00
Max Brunsfeld
cb7b011d6b Avoid creating duplicate invite notifications 2023-10-13 16:57:28 -07:00
Max Brunsfeld
83fb8d20b7 Remove contact notifications when cancelling a contact request 2023-10-13 16:09:46 -07:00
Conrad Irwin
f6f9b5c8cb Wire through public access toggle 2023-10-13 16:59:30 -06:00
Max Brunsfeld
8db86dcebf Connect notification panel to notification toasts 2023-10-13 11:21:45 -07:00
Max Brunsfeld
3241128840 Make notification db representation more flexible 2023-10-12 17:42:32 -07:00
Max Brunsfeld
d1756b621f Start work on notification panel 2023-10-12 17:41:09 -07:00
Max Brunsfeld
85fe11ff11 Replace disconnected channel notes views when re-opening the notes 2023-10-12 12:38:23 -07:00
Conrad Irwin
540436a1f9 Push role refactoring through RPC/client 2023-10-12 13:05:54 -06:00
Max Brunsfeld
2e5461ee4d Exclude disconnected channel views from following messages 2023-10-12 11:55:39 -07:00
Conrad Irwin
2d6725a41a Make collaboration warning more useful 2023-10-11 09:50:22 -06:00
Conrad Irwin
d4ef764305 Merge branch 'main' into links 2023-10-09 20:08:48 -06:00
Conrad Irwin
6084486dcd Code quality 2023-10-09 09:44:09 -06:00
Conrad Irwin
8f4d81903c Add "Copy Link" to channel right click menu 2023-10-09 09:30:00 -06:00
Max Brunsfeld
f8ca86c6a7 Remove workspace -> channel dependency 2023-10-06 14:19:25 -07:00
Conrad Irwin
13192fa03c
Code to allow opening zed:/channel/1234
Refactored a bit how url arguments are handled to avoid adding too much
extra complexity to main.
2023-10-05 14:57:45 -07:00
Mikayla
c4870e1b6b
re-unify markdown parsing between hover_popover and chat 2023-10-05 14:22:41 -07:00
Mikayla
f57d563578
Improve chat rendering 2023-10-05 11:58:41 -07:00
Mikayla
44ada52185
Fix bug where chat text wouldn't wrap to width 2023-10-05 11:06:29 -07:00
Mikayla
d298afba01
Create markdown text element and add to channel chat 2023-10-04 17:47:30 -07:00
Mikayla Maki
acffc7e7f0
Remove old code from notes icon click handler (#3085)
Release Notes:

- Fix clicking the notes icon when people are in the channel (preview
only)
2023-10-04 15:15:25 -07:00
Mikayla
2f3c3d510f
Fix hit boxes and hover styles for new buttons
co-authored-by: conrad <conrad.irwin@gmail.com>
2023-10-04 14:44:50 -07:00
Mikayla
73e78a2257
Adjust channel rendering to group related messages 2023-10-04 14:29:08 -07:00
Conrad Irwin
f7cd0e84f9 Remove old code from notes icon click handler 2023-10-04 15:18:26 -06:00
Mikayla
5074bccae4
Add image avatars to channel messages 2023-10-04 14:04:02 -07:00
Mikayla
4d61d01943
Add an RPC handler for channel buffer acks
co-authored-by: max <max@zed.dev>
2023-10-04 11:47:13 -07:00
Mikayla
dd0edcd203
Changed the on-click behavior of joining a channel to not open the chat, and only open 1 project instead of all projects
Co-authored-by: conrad <conrad.irwin@gmail.com>
Co-authored-by: max <max@zed.dev>
2023-10-04 11:46:08 -07:00
Mikayla
e548572f12
Fix channel messages test 2023-10-04 10:13:02 -07:00
Mikayla
db8096ccdc
Fix most tests for new chat changes 2023-10-03 20:50:17 -07:00
Mikayla
4ff80a7074
Fix a few mouse event id bugs and move facepile to the left
co-authored-by: conrad <conrad.irwin@gmail.com>
2023-10-03 19:45:33 -07:00
Mikayla
23ee8211c7
Lower frequency of popup warning when leaving a call
co-authored-by: conrad <conrad.irwin@gmail.com>
2023-10-03 19:30:05 -07:00
Max Brunsfeld
95342c8c33 Merge branch 'main' into channel-changes 2023-10-03 17:52:28 -07:00
Max Brunsfeld
61e0289014 Acknowledge channel notes and chat changes when views are active
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-10-03 17:40:10 -07:00
Conrad Irwin
044fb9e2f5 Confirm on switching channels 2023-10-03 13:45:48 -06:00
Conrad Irwin
d696b394c4 Tooltips for contacts 2023-10-03 12:54:39 -06:00
Conrad Irwin
d8bfe77a3b Scroll so that collab panel is in good state for calls 2023-10-03 12:00:02 -06:00
Conrad Irwin
66dfa47c66 Update collab ui to join channels again 2023-10-03 11:36:01 -06:00
Conrad Irwin
18e7305b6d Change channel join behavior
- Clicking on a channel name now joins the channel if you are not in it
- (or opens the notes if you are already there).
- When joining a channel, previously shared projects are opened
  automatically.
- If there are no previously shared projects, the notes are opened.
2023-10-02 23:20:06 -06:00
Conrad Irwin
d7867cd1e2 Add/fix mouse interactions in current call sidebar 2023-10-02 19:38:45 -06:00
Conrad Irwin
27d784b23e Fix bug in following
Prior to this change you could only follow across workspaces when you
were heading to the first window.
2023-10-02 16:29:42 -06:00
Conrad Irwin
39af2bb0a4 Ensure notifications are dismissed
Before this change if you joined a project without clicking on the
notification it would never disappear.

Fix a related bug where if you have more than one monitor, the
notification was only dismissed from one of them.
2023-10-02 11:01:21 -06:00
Mikayla
1d5b665f13
Implement channel changes for messages 2023-10-01 22:32:11 -07:00
Mikayla
e0ff7ba180
Add channel note indicator and clear changed status 2023-10-01 22:32:10 -07:00
Mikayla
9ba975d6ad
Channel notifications from the server works 2023-10-01 22:30:21 -07:00
Conrad Irwin
92bb9a5fdc Make following more good
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2023-09-29 17:59:19 -06:00
Conrad Irwin
1cfc2f0c07 Show host in titlebar
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2023-09-29 16:37:00 -06:00
Max Brunsfeld
7adaa2046d Show current user as follower when following in unshared projects 2023-09-29 15:08:25 -07:00
Max Brunsfeld
a8b35eb8f5 Merge branch 'main' into allow-following-outside-of-projects 2023-09-28 11:58:28 -07:00
Max Brunsfeld
0f39b63801 Rename color_index to participant_index
Co-authored-by: Conrad <conrad@zed.dev>
2023-09-28 11:37:22 -07:00
Max Brunsfeld
545b5e0161 Assign unique color indices to room participants, use those instead of replica_ids
Co-authored-by: Conrad <conrad@zed.dev>
Co-authored-by: Antonio <antonio@zed.dev>
2023-09-28 11:06:09 -07:00
Joseph T. Lyons
0897ed561f Rework call events api
There were time when events with bad data were being emitted. What we found was that places where certain collaboration-related code could fail, like sending an, would still send events, and those events be in a bad state, as certain elements weren't constructed as expected, thus missing in the event. The new API guarantees that we have data in the correct configuration. In the future, we will add events for certain types of failures within Zed.

Co-Authored-By: Julia <30666851+ForLoveOfCats@users.noreply.github.com>
2023-09-26 14:18:32 -04:00
Mikayla
667fc25766
Fix space and copy/paste when editing a channel 2023-09-25 11:31:02 -07:00
Max Brunsfeld
7711530704 Simplify titlebar facepile click rendering / mouse handling 2023-09-21 17:12:59 -07:00
Max Brunsfeld
4ffa167256 Allow following into channel notes regardless of project 2023-09-21 17:12:59 -07:00
Max Brunsfeld
ed8b022b51 Add initial failing test for following to channel notes in an unshared project 2023-09-21 13:14:15 -07:00
Mikayla
f2f507e619
Fix bug in channel rendering
Fix drag and drop stale state bug revealed by the channel panel

co-authored-by: Max <max@zed.dev>
2023-09-20 16:40:29 -07:00
Max Brunsfeld
3633f091c5 Fix opening channel notes from context menu 2023-09-20 13:45:35 -07:00
Mikayla Maki
e37373a636
Add UI/UX for moving channels (#2976)
TODO:

- [x] Add drag and drop
- [x] Polish up in-flight decisions.
- [x] Fix chat panel panic
- [x] Add nice hover effect highlighting the matching ones
- [x] Fix and test keyboard

Release Notes:

- N/A
2023-09-19 17:56:22 -07:00
Mikayla
ac65e7590c
Add hover styles to channels matching the current selection
Fix chat desync from moving / linking channels
2023-09-19 17:50:02 -07:00
Mikayla
d5f0ce0e20
Finish implementing drag and drop 2023-09-19 15:51:00 -07:00
Mikayla
f3b91082a6
Improve drag and drop to look and feel better
WIP: Change rendering of drag and drop based on alt-modifier
2023-09-19 14:48:34 -07:00
Mikayla
9bff3b6916
Add basic drag and drop support 2023-09-19 11:20:01 -07:00
Mikayla
dadad397ef
Finish optimizing channel representations and operations 2023-09-18 20:24:37 -07:00
Mikayla
5f9c56c8b0
WIP: Send the channel name and the channel edges seperately, so we're not repeating them constantly
This commit is currently broken and includes debug data for a failed attempt at rewriting the insert_edge logic
2023-09-15 17:57:23 -07:00
Mikayla
52057c5619
Simplify path representation in collab panel
Optimize set representation in collab
2023-09-15 13:35:46 -07:00
Mikayla
5400605483
Fix merge conflicts 2023-09-15 12:30:26 -07:00
Nate Butler
0aff0c105d
Add missing logo_96 icon, fix a few incorrect paths (#2977)
🙈 I missed a few

Thanks @maxbrunsfeld / @mikayla-maki
2023-09-15 14:57:40 -04:00
Mikayla
f9fff3a7b2
fmt 2023-09-15 11:39:56 -07:00
Mikayla
16707d16f6
Improve context-menu behavior 2023-09-15 11:39:56 -07:00
Mikayla
9afb67f2cf
Implement final move, link, unlink db APIs 2023-09-15 11:39:56 -07:00
Mikayla
cda54b8b5f
Improve database and RPC API for moving and linking channels, improve test legibility 2023-09-15 11:39:55 -07:00
Mikayla
439f627d9a
Add move, link, and unlink operations 2023-09-15 11:36:58 -07:00
Mikayla
77cdbdb12a
remove extraneous depth field 2023-09-15 11:28:36 -07:00
Mikayla
8222102d01
Render the DAG 2023-09-15 11:28:34 -07:00
Nate Butler
9a4ecf0f88 Add missing logo_96 icon, fix a few incorrect paths 2023-09-15 14:21:33 -04:00
Max Brunsfeld
3dba52340e Update paths to moved icons 2023-09-15 11:14:04 -07:00
Max Brunsfeld
6c3fd2a687 Merge branch 'main' into chat-again 2023-09-15 11:06:39 -07:00
Max Brunsfeld
099969ed79 Ensure the chat panel is fully feature flagged 2023-09-15 10:13:43 -07:00
Nate Butler
24974ee2fa Unify icons using multiple variants, remove all unused icons 2023-09-15 12:50:49 -04:00
Max Brunsfeld
6ce672fb32 Add tooltips and actions for opening notes+call from chat
No keyboard shortcut yet.
2023-09-14 18:38:37 -07:00
Max Brunsfeld
b75971196f Add buttons for opening channel notes and joining call, in chat panel header 2023-09-14 18:05:44 -07:00
Max Brunsfeld
dd7c687041 Style the chat panel further 2023-09-14 17:19:08 -07:00
Max Brunsfeld
59269d422b Allow deleting chat messages 2023-09-14 16:29:40 -07:00
Max Brunsfeld
f53a1ee46d Put channel call participants back in channel row
Open both the channel notes and the channel chat when clicking a channel
2023-09-11 13:44:41 -07:00
Nathan Sobo
fe6f0a253b Merge remote-tracking branch 'origin/main' into chat-again 2023-09-11 12:08:01 -06:00
Nathan Sobo
e0fdc7d0aa Eliminate PaintContext 2023-09-11 09:00:59 -06:00
Nathan Sobo
a24d94cfda Eliminate LayoutContext 2023-09-11 08:47:00 -06:00
Max Brunsfeld
f5f85b3f76 Add missing notify when changing ChatPanel's channel 2023-09-08 17:29:16 -07:00
Max Brunsfeld
c2121c25c1 Restructure collab panel to allow opening chat + notes w/ one click 2023-09-08 17:06:39 -07:00
Nathan Sobo
ebf8b32811 Checkpoint 2023-09-08 16:25:10 -06:00
Max Brunsfeld
ed7bc91dbd Create chat panel settings 2023-09-08 13:28:19 -07:00
Max Brunsfeld
ddda5a559b Restore chat functionality with a very rough UI 2023-09-08 09:59:35 -07:00
Joseph T. Lyons
a0701777d5 Make tooltip title case to match other tooltips 2023-09-08 12:44:49 -04:00
Antonio Scandurra
4e818fed4a Make channel notes act as an editor to enable inline assistant 2023-09-08 11:20:49 +02:00
Max Brunsfeld
3422eb65e8 Restore channel chat model and panel view 2023-09-07 11:38:27 -07:00
Joseph T. Lyons
39e13b6675 Allow call events to be logged without a room id 2023-09-06 22:53:05 -04:00
Joseph T. Lyons
653d4976cd Add operation for opening channel notes in channel based calls 2023-09-05 17:13:09 -04:00
Max Brunsfeld
4b5948e004 Disable save as prompt for channel notes 2023-08-30 15:05:47 -07:00
Max Brunsfeld
f9dffc1734 Remove unnecessary ConstrainedBoxes in collab panel
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-08-30 14:35:02 -07:00
Max Brunsfeld
123bc85a8e collab panel: Make screen share row line up with shared projects
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-08-30 14:23:12 -07:00
Nate Butler
256949bee0 fmt 2023-08-30 10:56:08 -04:00
Nate Butler
97d187bba7 Remove project divider in titlebar 2023-08-29 19:50:27 -04:00
Mikayla
74565ed0b8
Add feature flags handling to the client, rewrite staff mode to a trait extension style 2023-08-25 17:00:53 -07:00
Max Brunsfeld
404f76739c Format let-else statements 2023-08-25 10:11:32 -07:00
Max Brunsfeld
a95dcfa8bc Make channel notes view searchable and navigable via pane history
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-08-24 17:18:18 -07:00
Max Brunsfeld
7b6c0c539c Show non-admin context menu items for all channel members
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-08-24 17:17:20 -07:00
Max Brunsfeld
358a20494c Make channel notes read-only when disconnected
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-08-24 16:50:13 -07:00
Max Brunsfeld
a327320f7d Show channel notes in current call section of collab panel
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-08-24 15:00:54 -07:00
Max Brunsfeld
1ae54ca620 Dedup channel views
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-08-24 14:29:04 -07:00