Commit graph

5973 commits

Author SHA1 Message Date
Antonio Scandurra
5ef342f8c4 Enhance integration test to verify creating rooms while busy 2022-10-05 16:20:01 +02:00
Antonio Scandurra
5b811e4304 Add integration test verifying calls to busy users 2022-10-05 16:14:40 +02:00
Antonio Scandurra
183ca5da6f Allow following users into external projects 2022-10-05 15:32:55 +02:00
Antonio Scandurra
8f8843711f Move logic for joining project into a global action in collab_ui 2022-10-05 15:04:03 +02:00
Antonio Scandurra
383c21046f Set room location when active workspace changes 2022-10-05 15:03:40 +02:00
Antonio Scandurra
78e3370c1e Set room only after project has been shared to avoid flicker 2022-10-05 11:19:44 +02:00
Antonio Scandurra
84eebbe24a Always open project when added to a call via the + button 2022-10-05 11:01:28 +02:00
Antonio Scandurra
087760dba0 Use AppContext instead of MutableAppContext for ActiveCall::global 2022-10-05 10:51:51 +02:00
Antonio Scandurra
fceba6814f Automatically share project when creating the room
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2022-10-04 19:25:48 +02:00
Antonio Scandurra
678b013da6 Don't show share button for remote projects
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2022-10-04 18:35:54 +02:00
Antonio Scandurra
ebee2168fc Re-emit notifications and events from ActiveCall
This lets us only observe and subscribe to the active call without
needing to track the underlying `Room` if it changes, which implies
writing the same boilerplate over and over.
2022-10-04 18:15:56 +02:00
Antonio Scandurra
41240351d3 Simplify Collaborator to stop including the user
It can be retrieved from the `Room` and we're guaranteed to have
a room in order to have collaborators in a project.
2022-10-04 18:00:54 +02:00
Antonio Scandurra
debedaf004 Show notification when a new project is shared and allow joining it 2022-10-04 16:55:41 +02:00
Antonio Scandurra
57930cb88a Show Share button for unshared projects when inside of a room 2022-10-04 15:56:20 +02:00
Antonio Scandurra
de917c4678 Use a different style for inactive participants 2022-10-04 15:06:20 +02:00
Antonio Scandurra
456dde200c Implement Room::set_location 2022-10-04 11:46:01 +02:00
Antonio Scandurra
1e45198b9f Emit event on Room when a user shares a new project 2022-10-03 17:12:07 +02:00
Antonio Scandurra
ad323d6e3b Automatically fetch remote participant users in Room 2022-10-03 16:09:49 +02:00
Antonio Scandurra
da6106db8e Prevent calls from users who aren't contacts 2022-10-03 15:54:20 +02:00
Antonio Scandurra
bec6b41448 Fix randomized integration test failure 2022-10-03 15:50:47 +02:00
Antonio Scandurra
6426037653 Adapt integration tests to always pass a room id to Project::share
Randomized test is failing, so we'll look into that next.
2022-10-03 15:44:11 +02:00
Antonio Scandurra
964a5d2db7 WIP: require sharing projects on a given Room 2022-09-30 18:21:47 +02:00
Antonio Scandurra
074b8f18d1 Rip out project registration and use sharing/unsharing instead 2022-09-30 12:23:57 +02:00
Antonio Scandurra
be8990ea78 Remove project join requests 2022-09-30 11:35:50 +02:00
Antonio Scandurra
b35e8f0164 Remove projects from contact updates
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-09-29 19:40:36 +02:00
Antonio Scandurra
1898e813f5 Encapsulate Room interaction within ActiveCall
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-09-29 17:39:53 +02:00
Antonio Scandurra
e0db62173a Rename room crate to call
Also, rename `client::Call` to `client::IncomingCall`.

Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-09-29 17:24:31 +02:00
Antonio Scandurra
1158911560 Wire up accepting/declining a call 2022-09-29 15:33:33 +02:00
Antonio Scandurra
634f9de7e6 Avoid using global for Room and extract that logic into ActiveCall 2022-09-29 10:48:51 +02:00
Antonio Scandurra
04d194924e WIP: Start on ActiveCall
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-09-28 19:50:13 +02:00
Antonio Scandurra
46b61feb9a Open popup window when receiving a call
We still need to style and allow people to accept the call but this
is a good starting point.

Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-09-28 19:35:24 +02:00
Antonio Scandurra
aa3cb8e35e Rename collab_titlebar_item crate to collab_ui
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-09-28 19:14:31 +02:00
Nathan Sobo
8ff4f044b7 Start a call when clicking on a contact in the contacts popover
Co-Authored-By: Antonio Scandurra <antonio@zed.dev>
2022-09-28 11:02:26 -06:00
Nathan Sobo
815cf44647 Rename AddParticipantPopover to ContactsPopover
Co-Authored-By: Antonio Scandurra <antonio@zed.dev>
2022-09-28 09:10:01 -06:00
Nathan Sobo
f5b2d56efd Remove contacts menu bar extra
Co-Authored-By: Antonio Scandurra <antonio@zed.dev>
2022-09-28 09:06:28 -06:00
Antonio Scandurra
1d1bd3975a Remove current user from contacts
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Co-Authored-By: Mikayla Maki <mikayla@zed.dev>
2022-09-28 11:33:38 +02:00
Antonio Scandurra
4b73239972 WIP: Start moving contacts panel into "add participants" popover 2022-09-28 11:33:38 +02:00
Antonio Scandurra
0a29e13d4a Add active style when participant popover is open 2022-09-28 11:33:38 +02:00
Antonio Scandurra
0db6eb2fb8 Show add participant popover on click 2022-09-28 11:33:38 +02:00
Antonio Scandurra
782309f369 Rename contacts_titlebar_item to collab_titlebar_item 2022-09-28 11:33:38 +02:00
Antonio Scandurra
5a3a85b2c8 Introduce a + button in the titlebar 2022-09-28 11:33:38 +02:00
Antonio Scandurra
c8a48e8990 Extract contacts titlebar item into a separate crate
This allows us to implement a new contacts popover that uses the
`editor` crate.
2022-09-28 11:33:38 +02:00
Antonio Scandurra
80ab144bf3 Ring users upon connection if somebody was calling them before connecting
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-09-28 11:33:38 +02:00
Antonio Scandurra
6aa0f0b200 Leave room automatically on disconnection
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-09-28 11:33:38 +02:00
Antonio Scandurra
f0c45cbceb Remove projects from basic calls test for now 2022-09-28 11:33:38 +02:00
Antonio Scandurra
e55e7e4844 Leave room when Room entity is dropped 2022-09-28 11:33:38 +02:00
Antonio Scandurra
573086eed2 Always rely on the server to cancel the incoming call 2022-09-28 11:33:38 +02:00
Antonio Scandurra
df285def59 💄 2022-09-28 11:33:38 +02:00
Antonio Scandurra
bb9ce86a29 Introduce the ability of declining calls 2022-09-28 11:33:38 +02:00
Antonio Scandurra
f4697ff4d1 Prevent the same user from being called more than once 2022-09-28 11:33:38 +02:00