Commit graph

9231 commits

Author SHA1 Message Date
Conrad Irwin
a7db2aa39d Add check_is_channel_participant
Refactor permission checks to load ancestor permissions into memory
for all checks to make the different logics more explicit.
2023-10-12 19:59:50 -06:00
Julia
1c3ecc4ad2 Whooooops 2023-10-12 21:00:31 -04:00
Julia
c4fc9f7ed8 Eagerly attempt to resolve missing completion documentation 2023-10-12 19:28:17 -04:00
Marshall Bowers
45f3a98359
Remove old ui and storybook crates (#3125)
This PR deletes the old `ui` and `storybook` crates in favor of their
newer variants that we'll be landing to `main` in the near future.

### Motivation

These crates are based off the old version of GPUI 2 (the `gpui2`
crate).

At this point we have since transitioned to the new version of GPUI 2
(the `gpui3` crate, currently still on the `gpui2` branch).

Having both copies around is confusing, so the old ones are going the
way of the dinosaurs.

Release Notes:

- N/A
2023-10-12 17:40:20 -04:00
Julia
d23bb3b05d Unbork markdown parse test by making links match 2023-10-12 16:18:54 -04:00
Max Brunsfeld
f5d6d7caca Mark channel notes as disconnected immediately upon explicitly signing out 2023-10-12 12:39:02 -07:00
Max Brunsfeld
85fe11ff11 Replace disconnected channel notes views when re-opening the notes 2023-10-12 12:38:23 -07:00
Mikayla
78432d08ca
Add channel visibility columns and protos 2023-10-12 12:21:41 -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
Julia
85332eacbd Race completion filter w/completion request & make not block UI 2023-10-12 13:23:26 -04:00
Julia
4688a94a54 Allow file links in markdown & filter links a bit aggressively 2023-10-12 12:11:27 -04:00
Kirill Bulatov
a50977e0fd
Add prettier support (#3122) 2023-10-12 17:13:10 +03:00
Kirill Bulatov
ef73bf799c Fix license issue 2023-10-12 16:26:28 +03:00
Kirill Bulatov
7aea95704e Revert unnecessary style changes 2023-10-12 16:17:41 +03:00
Kirill Bulatov
09ef3ccf67 Fix tailwind prettier plugin discovery 2023-10-12 15:58:00 +03:00
Kirill Bulatov
12d7d8db0a Make all formatting to happen on the client's buffers, as needed 2023-10-12 15:29:57 +03:00
Kirill Bulatov
1bfde4bfa2 Add more tests 2023-10-12 15:14:51 +03:00
Kirill Bulatov
7f4ebf50d3 Make the first prettier test pass 2023-10-12 13:30:49 +03:00
Kirill Bulatov
a528c6c686 Prettier server style fixes 2023-10-12 12:31:30 +03:00
Conrad Irwin
690d9fb971 Add a role column to the database and start using it
We cannot yet stop using `admin` because stable will continue writing
it.
2023-10-11 20:05:57 -06:00
Conrad Irwin
be1800884e
Make collaboration warning more useful (#3119)
Release Notes:

- Fixed the titlebar upgrade UI to restart zed when an update is
available
2023-10-11 15:35:41 -06:00
Julia
a09ee3a41b Fire markdown link on mouse down
Previously any amount of mouse movement would disqualify the mouse down
and up from being a click, being a drag instead, which is a long
standing UX issue. We can get away with just firing on mouse down here
for now
2023-10-11 14:39:34 -04:00
Joseph T. Lyons
d6fa06b3be collab 0.24.0 2023-10-11 13:51:01 -04:00
Julia
0cec0c1c1d Fixup layout 2023-10-11 13:41:58 -04:00
Joseph T. Lyons
bdf1731db3 v0.109.x dev 2023-10-11 12:40:57 -04:00
Kirill Bulatov
e50f4c0ee5 Add prettier tests infrastructure 2023-10-11 19:13:28 +03:00
Conrad Irwin
2d6725a41a Make collaboration warning more useful 2023-10-11 09:50:22 -06:00
Conrad Irwin
7c867b6e54 New entitlements:
* Universal links
* Shared keychain group (to make development easier)
2023-10-11 09:36:12 -06:00
Kirill Bulatov
4a88a9e253 Initialize prettier right after the buffer gets it language 2023-10-11 14:48:32 +03:00
Kirill Bulatov
986a516bf1 Small style fixes 2023-10-11 12:56:29 +03:00
Kirill Bulatov
9bf22c56cd Rebase fixes 2023-10-11 12:56:29 +03:00
Kirill Bulatov
b5705e079f Draft remote prettier formatting 2023-10-11 12:56:29 +03:00
Kirill Bulatov
2ec2036c2f Invoke remote Prettier commands 2023-10-11 12:56:29 +03:00
Kirill Bulatov
faf1d38a6d Draft local and remote prettier separation 2023-10-11 12:56:29 +03:00
Kirill Bulatov
6c1c7eaf75 Better detect Svelte plugins 2023-10-11 12:56:29 +03:00
Kirill Bulatov
2d5741aef8 Better prettier format logging 2023-10-11 12:56:29 +03:00
Kirill Bulatov
a9f80a603c Resolve prettier config before every formatting 2023-10-11 12:56:29 +03:00
Kirill Bulatov
658b58378e Properly use WorktreeId 2023-10-11 12:56:29 +03:00
Kirill Bulatov
8a807102a6 Properly support prettier plugins 2023-10-11 12:56:29 +03:00
Kirill Bulatov
afee29ad3f Do not clear cache for default prettiers 2023-10-11 12:56:29 +03:00
Kirill Bulatov
6ec3927dd3 Allow to configure default prettier 2023-10-11 12:56:29 +03:00
Kirill Bulatov
b109075bf2 Watch for prettier file changes 2023-10-11 12:56:29 +03:00
Kirill Bulatov
f4667cbc33 Resolve prettier config on server init 2023-10-11 12:56:29 +03:00
Kirill Bulatov
d021842fa1 Properly log pre-lsp prettier_server events 2023-10-11 12:56:29 +03:00
Kirill Bulatov
f42cb109a0 Improve prettier_server LSP names in the log panel 2023-10-11 12:56:29 +03:00
Kirill Bulatov
1b70e7d0df Before server startup, log to stderr 2023-10-11 12:56:29 +03:00
Kirill Bulatov
b687270207 Implement missing prettier_server clear method 2023-10-11 12:56:29 +03:00
Kirill Bulatov
06cac18d78 Return message id in prettier_server error responses 2023-10-11 12:56:29 +03:00
Kirill Bulatov
6cac58b34c Add prettier language servers to LSP logs panel 2023-10-11 12:56:29 +03:00
Kirill Bulatov
4b15a2bd63 Rebase fixes 2023-10-11 12:56:29 +03:00
Kirill Bulatov
e8409a0108 Even more generic header printing in prettier_server 2023-10-11 12:56:29 +03:00
Kirill Bulatov
39ad3a625c Generify prettier properties, add tabWidth 2023-10-11 12:56:29 +03:00
Kirill Bulatov
2a5b9b635b Better pass prettier options 2023-10-11 12:56:29 +03:00
Kirill Bulatov
e2056756ef Calculate the diff 2023-10-11 12:56:29 +03:00
Kirill Bulatov
6a8e3fd02d Add more parameters into prettier invocations 2023-10-11 12:56:29 +03:00
Kirill Bulatov
2a68f01402 Draft prettier_server formatting 2023-10-11 12:56:29 +03:00
Kirill Bulatov
dca93fb177 Initialize prettier_server.js wrapper along with default prettier 2023-10-11 12:56:29 +03:00
Kirill Bulatov
010bb73ac2 Use LSP-like protocol for prettier wrapper commands 2023-10-11 12:56:29 +03:00
Kirill Bulatov
bb2cc2d157 Async-ify prettier wrapper 2023-10-11 12:56:29 +03:00
Kirill Bulatov
86618a64c6 Require prettier argument and library in the wrapper 2023-10-11 12:56:29 +03:00
Kirill Bulatov
1ff17bd15d Install default prettier and plugins on startup 2023-10-11 12:56:29 +03:00
Kirill Bulatov
12ea12e4e7 Make language adapters able to require certain bundled formatters 2023-10-11 12:56:29 +03:00
Kirill Bulatov
4f956d71e2 Slightly better prettier settings and discovery 2023-10-11 12:56:29 +03:00
Kirill Bulatov
ce6b31d938 Make NodeRuntime non-static for prettier runner 2023-10-11 12:56:29 +03:00
Kirill Bulatov
a8387b8b19 Use proper NodeRuntime in the formatter interface 2023-10-11 12:56:28 +03:00
Kirill Bulatov
a420d9cdc7 Add prettier search 2023-10-11 12:56:28 +03:00
Kirill Bulatov
a8dfa01362 Prepare prettier file lookup code infra 2023-10-11 12:56:28 +03:00
Kirill Bulatov
92f23e626e Properly connect prettier lookup/creation methods 2023-10-11 12:56:28 +03:00
Kirill Bulatov
553abd01be Draft a project part of the prettier 2023-10-11 12:56:28 +03:00
Julia
eced842dfc Get started with a prettier server package
Co-Authored-By: Antonio Scandurra <antonio@zed.dev>
2023-10-11 12:56:28 +03:00
Conrad Irwin
85b76b1143
Don't wrap on paragraphs (#3094)
Release Notes:

- vim: `{` and `}` will no longer wrap around end of file
([#2116](https://github.com/zed-industries/community/issues/2116)).
2023-10-10 19:25:40 -06:00
Conrad Irwin
9004254fbf
vim: Add shift-y (#3117)
Release Notes:

- vim: Add `Y` to copy line-wise (this copies vim's behaviour, which
differs from nvim's)
2023-10-10 19:25:32 -06:00
Conrad Irwin
1de9add304 vim: Add shift-y 2023-10-10 18:46:49 -06:00
Max Brunsfeld
7a39455af9
Fix inclusion of spurious views from other projects in FollowResponse (#3116)
A logic error in https://github.com/zed-industries/zed/pull/2993 caused
follow responses to sometimes contain extra views for other unshared
projects 😱 . These views would generally fail to deserialize on the
other end. This would create a broken intermediate state, where the
following relationship was registered on the server (and on the leader's
client), but the follower didn't have the state necessary for following
into certain views.

Release Notes:

- Fixed a bug where following would sometimes fail if the leader had
another unshared project open.
2023-10-10 15:53:11 -07:00
Max Brunsfeld
96d60eff23 Fix inclusion of spurious views from other projects in FollowResponse 2023-10-10 15:40:40 -07:00
Mikayla
d7d027bcf1
Rename release channel to enviroment 2023-10-10 13:23:03 -07:00
Mikayla
40430cf01b
Update channel rooms to be ephemeral
Remove redundant live kit initialization code
Fix bug in recent channel links changes where channel rooms would have the incorrect release set

co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
co-authored-by: Max <max@zed.dev>
2023-10-10 12:39:16 -07:00
Antonio Scandurra
b366592878 Don't include start of a line when selection ends at start of line 2023-10-10 19:11:13 +02:00
Antonio Scandurra
5cf92980f0 Revert summarizing file content until we can be more intelligent about what we send
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2023-10-10 17:51:17 +02:00
Conrad Irwin
66af1707a1
Add channel links (#3093)
Release notes:

- `mute_on_join` setting now defaults to false.
- Right click on a channel to "Copy Channel Link", these links work to
open Zed and auto-join the channel

Blocked on: https://github.com/zed-industries/zed.dev/pull/388
2023-10-10 08:53:50 -06:00
Julia
801af95a13 Make completion documentation scroll & fix accompanying panic from tag
Co-Authored-By: Antonio Scandurra <antonio@zed.dev>
2023-10-10 10:08:29 -04:00
Julia
f5af5f7334 Avoid leaving selected item index past end of matches list
Co-Authored-By: Antonio Scandurra <antonio@zed.dev>
2023-10-10 09:27:18 -04:00
Kirill Bulatov
639ae671ae Omit history files with path that does not exist on disk anymore 2023-10-10 12:26:48 +03:00
Julia
354882f2c0 Enable completion menu to resolve documentation when guest 2023-10-10 00:16:15 -04:00
Conrad Irwin
d4ef764305 Merge branch 'main' into links 2023-10-09 20:08:48 -06:00
Conrad Irwin
8922437fcd code review 2023-10-09 19:06:55 -06:00
Max Brunsfeld
6e98cd5aad
More small following-related fixes (#3110) 2023-10-09 15:25:22 -07:00
Max Brunsfeld
1d29709c32 Avoid possible panic in Room::most_active_project
Participants' locations might momentarily reference projects that have already been unshared.
2023-10-09 15:04:01 -07:00
Max Brunsfeld
bdcbf9b92e Add a Reconnect action, for simulating connection blips 2023-10-09 14:46:33 -07:00
Max Brunsfeld
b807b3c785 Handle participants' participant index changing
This normally doesn't happen, but it can happen if a participant
loses connection ungracefully, restarts their app, and then
explicitly joins again.
2023-10-09 14:45:19 -07:00
Max Brunsfeld
90b54a45e8 Log a warning when leader activates an unknown view 2023-10-09 14:29:45 -07:00
Kirill Bulatov
bb85d6f63e
Detect file paths that end with : (#3109)
New rustc messages look like

```
thread 'tests::test_history_items_vs_very_good_external_match' panicked at crates/file_finder/src/file_finder.rs:1902:13:
assertion `left == right` failed: Only one history item contains collab_ui, it should be present and others should be filtered out
  left: 0
 right: 1
```

now and we fail to parse that `13:` bit properly, fix that.

One caveat is that we highlight the entire word including the trailing
`:`:
<img width="914" alt="image"
src="https://github.com/zed-industries/zed/assets/2690773/d653a8ff-3e6e-4e3d-b6ea-dad0c8db0f06">

this is unfortunate, but better than nothing (as now).
This is due to the fact, that we detect words with regex inside the
`terminal.rs` and send events to other place that's able to check paths
for existence (and whether that's a path at all), currently there's no
way to detect a path and sanitize it in `terminal.rs`

Release Notes:

- N/A
2023-10-09 23:16:03 +02:00
Kirill Bulatov
ba4f4e0a3e Detect file paths that end with :
New rustc messages look like

```
thread 'tests::test_history_items_vs_very_good_external_match' panicked at crates/file_finder/src/file_finder.rs:1902:13:
assertion `left == right` failed: Only one history item contains collab_ui, it should be present and others should be filtered out
  left: 0
 right: 1
```

now and we fail to parse that `13:` bit properly, fix that.
2023-10-09 23:55:58 +03:00
Max Brunsfeld
6b710dc146
Fix bug that allowed following multiple people in one pane (#3108)
I've also simplified the representation of a workspace's leaders, so
that it encodes in the type that there can only be one leader per pane.

Release Notes:

- Fixed a bug where you could accidentally follow multiple collaborators
in one pane at the same time.
2023-10-09 13:50:51 -07:00
Kirill Bulatov
0823a18cff
Ignore history items' paths when matching search queries (#3107)
Follow-up of https://github.com/zed-industries/zed/pull/3059 

Before: 

![image](https://github.com/zed-industries/zed/assets/2690773/4eb2d2d1-1aa3-40b8-b782-bf2bc5f17b43)

After:

![image](https://github.com/zed-industries/zed/assets/2690773/5587d46b-9198-45fe-9372-114a95d4b7d6)

Release Notes:

- N/A
2023-10-09 22:35:11 +02:00
Max Brunsfeld
ca735ad70f Ensure there's only one leader per pane 2023-10-09 13:32:38 -07:00
Max Brunsfeld
af90077a6a Add failing test for switching leaders in a pane 2023-10-09 13:30:14 -07:00
Kirill Bulatov
9cba45910e Ignore history items' paths when matching search queries 2023-10-09 23:14:32 +03:00
Conrad Irwin
162cb19cff Only allow one release channel in a call 2023-10-09 12:59:18 -06:00