Commit Graph
97 Commits
Author SHA1 Message Date
Conrad Irwin 47330ac294 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 acb19c72ce 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
9b747ff850 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 IrwinandNathan Sobo 970708e66b 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
34fbee45fc 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 19749bad0b Fix default value of users created_at in sqlite schema 2024-01-23 11:36:35 -08:00
Max BrunsfeldandMarshall e6db1d447d 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 BrunsfeldandMikayla 6af219eb32 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 791081ebff 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 BrunsfeldandMarshall 090aea60ec 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 10f7f2c447 enviroment -> environment 2024-01-10 22:57:58 -08:00
Conrad Irwin 5f8ac7c29b Plumbing to pass role for room participants 2024-01-03 19:30:32 -07:00
e3864cb084 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 d461c7eb43 Index notifications to allow faster lookup by kind, entity id 2023-10-19 13:03:27 -07:00
Max Brunsfeld f0434bfebc Fix possibility of extra mention insertion on nonce collision 2023-10-18 18:04:56 -07:00
Max Brunsfeld 256ef99284 Merge branch 'main' into notifications 2023-10-18 17:20:04 -07:00
Max Brunsfeld d286c4441d Persist chat mentions 2023-10-18 16:56:03 -07:00
Conrad Irwin 5240eb08f9 update sidebar for public channels 2023-10-17 13:30:09 -06:00
Max Brunsfeld c618af92cd 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 f8e8340b84 Display invite response buttons inline in notification panel 2023-10-17 09:12:55 -07:00
Max Brunsfeld 36181653c3 Avoid creating duplicate invite notifications 2023-10-13 16:57:28 -07:00
Conrad Irwin ca7a6064a8 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 be1b3b38d5 Make notification db representation more flexible 2023-10-12 17:42:32 -07:00
Max Brunsfeld 2eb3c45b7f Set up notification store for integration tests 2023-10-12 17:42:30 -07:00
Max Brunsfeld 7d663b7290 Start work on notification panel 2023-10-12 17:41:09 -07:00
Max Brunsfeld 3fd65b596a Start work on storing notifications in the database 2023-10-12 17:41:07 -07:00
Conrad Irwin 6734472b64 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 66fad069b4 Rename release channel to enviroment 2023-10-10 13:23:03 -07:00
6912545774 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 928230ecb2 Only allow one release channel in a call 2023-10-09 12:59:18 -06:00
Max BrunsfeldandMikayla 2e8040aeda 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 ec0d8fe1ba Add database implementation of channel message change tracking 2023-10-01 22:32:11 -07:00
Mikayla 2a02ec0b87 Channel notifications from the server works 2023-10-01 22:30:21 -07:00
Mikayla 09289bb995 Add observed_channel_notes table and implement note diffing 2023-10-01 22:26:27 -07:00
Max Brunsfeld 26b0382f31 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 BrunsfeldandConrad 13f4957210 Rename color_index to participant_index
Co-authored-by: Conrad <conrad@zed.dev>
2023-09-28 11:37:22 -07:00
0976bdc78d 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 c8fee1d696 Make project id optional when following - server only 2023-09-21 13:14:15 -07:00
Max Brunsfeld 699e14abaf Start work on restoring server-side code for chat messages 2023-09-07 16:32:49 -07:00
Mikayla 60ecd0b28d Update database and RPC to provide configured feature flags 2023-08-25 14:34:32 -07:00
Max BrunsfeldandMikayla 006d2204b6 Simplify buffer_operations schema
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-08-23 18:37:01 -07:00
Max BrunsfeldandMikayla 992eddbff0 Snapshot channel notes buffers when everyone leaves
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-08-23 18:37:01 -07:00
Max Brunsfeld e3d0d2f3b0 WIP 2023-08-23 18:34:43 -07:00
Mikayla 88351a58a1 WIP: pass synchronize channel buffers integration test 2023-08-23 18:34:43 -07:00
Max Brunsfeld a47eaf190e Start work on storing channel buffers 2023-08-23 18:34:43 -07:00
Max BrunsfeldandMikayla b66ac35330 Represent channel relationships using paths table
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-08-09 10:36:27 -07:00
Mikayla Makiandmax f63051148b 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 BrunsfeldandMikayla 0886ea1dcb Set up basic RPC for managing channels
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-07-28 17:05:56 -07:00
Mikayla Maki dade666d51 implement recursive channel query 2023-07-28 13:24:43 -07:00
Mikayla Maki e7a7350529 WIP: Channel CRUD 2023-07-28 13:24:43 -07:00