Commit Graph

98 Commits

Author SHA1 Message Date
Conrad Irwin
86748a09e7
Denormalize buffer operations (#9026)
This should significantly reduce database load on redeploy.

Co-Authored-By: Max <max@zed.dev>
Co-Authored-By: Nathan <nathan@zed.dev>

Release Notes:

- Reduced likelihood of being disconnected during deploys

Co-authored-by: Max <max@zed.dev>
Co-authored-by: Nathan <nathan@zed.dev>
2024-03-07 11:35:47 -07:00
Conrad Irwin
27c5343707
hosted projects (#8627)
- **Allow joining a hosted project**

You can't yet do anything in a hosted project, but you can join it and
look how empty it is.

Release Notes:

- N/A
2024-03-04 19:17:40 -07:00
Conrad Irwin
c31626717f
channel projects (#8456)
Add plumbing for hosted projects. This will currently show them if they
exist
but provides no UX to create/rename/delete them.

Also changed the `ChannelId` type to not auto-cast to u64; this avoids
type
confusion if you have multiple id types.


Release Notes:

- N/A
2024-02-26 22:15:11 -07:00
Max Brunsfeld
e1ae0d46da
Add an extensions API to the collaboration server (#7807)
This PR adds a REST API to the collab server for searching and
downloading extensions. Previously, we had implemented this API in
zed.dev directly, but this implementation is better, because we use the
collab database to store the download counts for extensions.

Release Notes:

- N/A

---------

Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
Co-authored-by: Marshall <marshall@zed.dev>
Co-authored-by: Conrad <conrad@zed.dev>
2024-02-15 12:53:57 -08:00
Conrad Irwin
efe23ebfcd
single click channel (#7596)
- Open channel notes and chat on channel click
- WIP
- Fix compile error
- Don't join live kit until requested
- Track in_call state separately from in_room



Release Notes:

- Improved channels: you can now be in a channel without joining the
audio call automatically

**or**

- N/A

---------

Co-authored-by: Nathan Sobo <nathan@zed.dev>
2024-02-09 14:18:27 -07:00
Remco Smits
6c4b96ec76
Add the ability to reply to a message (#7170)
Feature
- [x] Allow to click on reply to go to the real message
    - [x] In chat
- [x] Show only a part of the message that you reply to
    - [x] In chat
    - [x] In reply preview

TODO’s
- [x] Fix migration
    - [x] timestamp(in filename)
    - [x] remove the reference to the reply_message_id
- [x] Fix markdown cache for reply message
- [x] Fix spacing when first message is a reply to you and you want to
reply to that message.
- [x] Fetch message that you replied to
    - [x] allow fetching messages that are not inside the current view 
- [x] When message is deleted, we should show a text like `message
deleted` or something
    - [x] Show correct GitHub username + icon after `Replied to: `
    - [x] Show correct message(now it's hard-coded)
- [x] Add icon to reply + add the onClick logic
- [x] Show message that you want to reply to
  - [x] Allow to click away the message that you want to reply to
  - [x] Fix hard-coded GitHub user + icon after `Reply tp:`
  - [x] Add tests

<img width="242" alt="Screenshot 2024-02-06 at 20 51 40"
src="https://github.com/zed-industries/zed/assets/62463826/a7a5f3e0-dee3-4d38-95db-258b169e4498">
<img width="240" alt="Screenshot 2024-02-06 at 20 52 02"
src="https://github.com/zed-industries/zed/assets/62463826/3e136de3-4135-4c07-bd43-30089b677c0a">


Release Notes:

- Added the ability to reply to a message.
- Added highlight message when you click on mention notifications or a
reply message.

---------

Co-authored-by: Bennet Bo Fenner <53836821+bennetbo@users.noreply.github.com>
Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
2024-02-06 13:22:54 -07:00
Max Brunsfeld
f3b014c9a9 Fix default value of users created_at in sqlite schema 2024-01-23 11:36:35 -08:00
Max Brunsfeld
25708088b7 Add requires_zed_cla column to channels table
Don't allow granting guests write access in a call where the channel
or one of its ancestors requires the zed CLA, until that guest has
signed the Zed CLA.

Co-authored-by: Marshall <marshall@zed.dev>
2024-01-22 16:41:24 -08:00
Max Brunsfeld
1981de4cae Add REST APIs for getting and adding contributors
Co-authored-by: Mikayla <mikayla@zed.dev>
2024-01-22 10:48:33 -08:00
Max Brunsfeld
9f04fd9019 For impersonating access tokens, store impersonatee in the new column
This way, we don't need an index on both columns
2024-01-17 18:06:16 -08:00
Max Brunsfeld
ab1bea515c Store the impersonator id on access tokens created via ZED_IMPERSONATE
* Use the impersonator id to prevent these tokens from counting
  against the impersonated user when limiting the users' total
  of access tokens.
* When connecting using an access token with an impersonator
  add the impersonator as a field to the tracing span that wraps
  the task for that connection.
* Disallow impersonating users via the admin API token in production,
  because when using the admin API token, we aren't able to identify
  the impersonator.

Co-authored-by: Marshall <marshall@zed.dev>
2024-01-17 18:06:16 -08:00
Mikayla
6503dd51dd
enviroment -> environment 2024-01-10 22:57:58 -08:00
Conrad Irwin
88ed5f7290 Plumbing to pass role for room participants 2024-01-03 19:30:32 -07: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
Max Brunsfeld
33f06d3104 Index notifications to allow faster lookup by kind, entity id 2023-10-19 13:03:27 -07:00
Max Brunsfeld
ac54d2b927 Fix possibility of extra mention insertion on nonce collision 2023-10-18 18:04:56 -07: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
Conrad Irwin
1c5e07f4a2 update sidebar for public channels 2023-10-17 13:30:09 -06: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
Max Brunsfeld
cb7b011d6b Avoid creating duplicate invite notifications 2023-10-13 16:57:28 -07:00
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
Max Brunsfeld
3241128840 Make notification db representation more flexible 2023-10-12 17:42:32 -07:00
Max Brunsfeld
fed3ffb681 Set up notification store for integration tests 2023-10-12 17:42:30 -07:00
Max Brunsfeld
d1756b621f Start work on notification panel 2023-10-12 17:41:09 -07:00
Max Brunsfeld
cf6ce0dbad Start work on storing notifications in the database 2023-10-12 17:41:07 -07: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
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
Conrad Irwin
162cb19cff Only allow one release channel in a call 2023-10-09 12:59:18 -06:00
Max Brunsfeld
d9d997b218 Avoid N+1 query for channels with notes changes
Also, start work on new timing for recording observed notes edits.

Co-authored-by: Mikayla <mikayla@zed.dev>
2023-10-02 15:58:34 -07:00
Mikayla
51cf6a5ff3
Add database implementation of channel message change tracking 2023-10-01 22:32:11 -07:00
Mikayla
9ba975d6ad
Channel notifications from the server works 2023-10-01 22:30:21 -07:00
Mikayla
1469c02998
Add observed_channel_notes table and implement note diffing 2023-10-01 22:26:27 -07:00
Max Brunsfeld
e9c1ad6acd Undo making project optional on stored follower states
Following works without a project, but following in unshared projects does
not need to be replicated to other participants.
2023-09-28 14:21:44 -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
Max Brunsfeld
c71566e7f5 Make project id optional when following - server only 2023-09-21 13:14:15 -07:00
Max Brunsfeld
da5a77badf Start work on restoring server-side code for chat messages 2023-09-07 16:32:49 -07:00
Mikayla
6fdf101745
Update database and RPC to provide configured feature flags 2023-08-25 14:34:32 -07:00
Max Brunsfeld
11ef5e2740
Simplify buffer_operations schema
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-08-23 18:37:01 -07:00
Max Brunsfeld
1d08f44e70
Snapshot channel notes buffers when everyone leaves
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-08-23 18:37:01 -07:00
Max Brunsfeld
95ea664725
WIP 2023-08-23 18:34:43 -07:00
Mikayla
364ed1f840
WIP: pass synchronize channel buffers integration test 2023-08-23 18:34:43 -07:00
Max Brunsfeld
ff5035ea37
Start work on storing channel buffers 2023-08-23 18:34:43 -07:00
Max Brunsfeld
778fd6b0a9 Represent channel relationships using paths table
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-08-09 10:36:27 -07:00
Mikayla Maki
92fa879b0c
Add ability to join a room from a channel ID
co-authored-by: max <max@zed.dev>
2023-07-31 16:53:57 -07:00
Max Brunsfeld
4b94bfa045 Set up basic RPC for managing channels
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-07-28 17:05:56 -07:00
Mikayla Maki
0998440bdd
implement recursive channel query 2023-07-28 13:24:43 -07:00