Mikayla Maki
37a4de1a84
Add opt-out for metric reporting
...
co-authored-by: kay <kay@zed.dev>
2023-01-10 15:49:54 -08:00
Joseph Lyons
0200fc5542
WIP
...
Don't rely on contacts popover or contacts list for theming
Add metrics id to request body
Clean up some code and comments
Co-Authored-By: Mikayla Maki <mikayla.c.maki@gmail.com>
2023-01-07 18:53:00 -05:00
Nathan Sobo
273988b8d5
Set transaction group interval to ZERO by default in tests
...
We were seeing non-deterministic behavior in randomized tests when
generating backtraces took enough time to cause transactions to group
in some cases, but not group in others.
Tests will need to explicitly opt into grouping if they want it by
setting the interval explicitly. We have tests in the text module that
currently test the history grouping explicitly, but I'm not sure
it's needed elsewhere.
2022-12-27 16:47:28 -07:00
Max Brunsfeld
599acf0daa
WIP - Panic immediately when detecting non-determinism via a change to the execution trace
2022-12-23 17:34:13 -08:00
Antonio Scandurra
75803d8dbb
Respond with an error when client hasn't got a registered handle
2022-12-23 11:53:13 +01:00
Antonio Scandurra
930be6706f
WIP
2022-12-14 18:02:39 +01:00
Antonio Scandurra
05e99eb67e
Introduce an epoch to ConnectionId
and PeerId
2022-12-14 15:55:56 +01:00
Antonio Scandurra
9a62150dce
Merge branch 'main' into reconnections-2
2022-12-05 19:18:40 +01:00
Mikayla Maki
ffcad4e4e2
WIP fixing dock problems
2022-12-03 16:06:02 -08:00
Kay Simmons
359b8aaf47
rename sql_method to query and adjust the syntax to more closely match function definitions
2022-12-03 16:06:01 -08:00
Mikayla Maki
4798161118
Distributed database pattern built.
...
Co-Authored-By: kay@zed.dev
2022-12-03 16:06:01 -08:00
Mikayla Maki
c84201fc9f
Done first draft of strongly typed migrations
2022-12-03 16:05:25 -08:00
Antonio Scandurra
969c314315
Merge branch 'main' into reconnections-2
2022-12-02 19:09:33 +01:00
Joseph Lyons
d2cd9c94f7
Remove sign in telemetry event
2022-11-28 18:56:27 -05:00
Antonio Scandurra
f0a721032d
Remove non-determinism caused by random entropy when reconnecting
2022-11-28 18:56:11 +01:00
Antonio Scandurra
c1291a093b
WIP: Allow subscribing to remote entity before creating a model
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2022-11-16 19:51:24 +01:00
Max Brunsfeld
05a6bd914d
Get integration tests passing with sqlite
...
Co-authored-by: Antonio Scandurra <antonio@zed.dev>
2022-11-10 11:03:52 -08:00
Joseph T Lyons
474a5dd4f2
Make App
a user property in Mixpanel
...
Currently, we cannot take advantage of Mixpanel's virtual session end events because they are associated with users, not events; this change moves the property onto users.
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2022-11-04 14:16:12 -04:00
Joseph T. Lyons
370a6f3dbd
Merge pull request #1842 from zed-industries/telemetry-corrections
...
Telemetry corrections
2022-11-02 12:36:48 -04:00
Joseph T Lyons
d8685baa47
Revert "Differentiate between first time app starts and subsequent ones"
2022-11-02 12:22:46 -04:00
Antonio Scandurra
86057ab071
Merge pull request #1843 from zed-industries/call-randomized-test
...
Model calls in randomized collaboration test
2022-11-02 13:03:34 +00:00
Joseph T Lyons
aafc3a9584
Make event name casing consistent with other event names
2022-11-01 23:19:55 -04:00
Joseph T Lyons
dc657a647e
Remove Amplitude event tracking
2022-11-01 20:49:49 -04:00
Joseph T Lyons
e5f0965138
Differentiate between first time app starts and subsequent ones
2022-11-01 20:36:18 -04:00
Antonio Scandurra
0b79950510
Don't hold the lock while yielding back to the executor in Client
2022-11-01 19:16:02 +01:00
Joseph T Lyons
61f31bf010
Fill in missing "app" field names on Mixpanel events
2022-10-31 19:18:35 -04:00
Joseph T Lyons
495fd151f5
Revert Amplitude's "app" name back to "platform"
...
This was unintentional. We only want to rename the Mixpanel telemetry "platform" field to "app." We want to keep it as "platform" on Amplitude because we want to keep using Amplitude for a bit, and the event fields should be the same.
2022-10-31 19:18:03 -04:00
Joseph T Lyons
8a926c4a23
Make release_channel
optional to fix tests
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2022-10-27 18:06:34 -04:00
Joseph T Lyons
309f401015
Rename all keys, in telemetry events, to be consistent with Mixpanels conventions
2022-10-27 16:19:21 -04:00
Joseph T Lyons
daa75b5282
Add missing struct field
...
This must've gotten lost on the merging of main into this branch
2022-10-27 15:59:22 -04:00
Joseph T Lyons
36c64045ae
Merge branch 'main' into add-release-channel-information-to-telemetry-events
2022-10-27 15:57:17 -04:00
Joseph T Lyons
93e1e30323
Add release channel information to telemetry events
2022-10-27 15:53:14 -04:00
Max Brunsfeld
d79aeba2c1
Avoid spurious log messages in development builds
2022-10-27 12:42:03 -07:00
Joseph T Lyons
31a904d370
Change telemetry event field name to app
2022-10-27 12:35:35 -04:00
Max Brunsfeld
2bfd46d48c
Fix setting of preview param in RPC URL
2022-10-26 16:19:19 -07:00
Max Brunsfeld
f1b41389b3
Allow overriding release channel at runtime via env var
2022-10-26 16:19:19 -07:00
Max Brunsfeld
a4a8596a29
Store current release channel name in a file in the zed crate
2022-10-26 16:19:19 -07:00
Max Brunsfeld
a61f3b715b
Create preview channel
2022-10-26 16:19:19 -07:00
Joseph T Lyons
022f70b1de
Temporarily restore integration with Amplitude
...
This will be reverted later, once we fully switch to Mixpanel
2022-10-20 19:27:55 -04:00
Joseph T Lyons
ac5d5e2451
Merge branch 'main' into switch-to-mixpanel
2022-10-20 13:53:39 -04:00
Joseph T Lyons
2f064d5ccc
Remove debug prints
2022-10-19 17:30:00 -04:00
Max Brunsfeld
e6b29086a9
Merge pull request #1777 from zed-industries/impersonate-via-secret-token
...
Impersonate via secret token
2022-10-19 13:32:40 -07:00
Max Brunsfeld
83e4e26989
Allow setting ZED_SERVER_URL to URL of a collab server
2022-10-19 13:27:14 -07:00
Joseph T Lyons
d7915840d0
Switch to Mixpanel analytics
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2022-10-19 14:53:48 -04:00
Max Brunsfeld
c410935c9c
Allow impersonating users via the api token, bypassing oauth
2022-10-18 17:36:54 -07:00
Kay Simmons
da5203011c
Merge pull request #1773 from zed-industries/rusqlite
...
Swap to sqlite for client persistence
2022-10-18 16:11:54 -07:00
Mikayla Maki
84c7aa9cad
Finished up initial sqlite implemention
...
Co-Authored-By: kay@zed.dev
2022-10-18 15:58:05 -07:00
Antonio Scandurra
d155c11729
Fix client unit test by sending Hello
in FakeServer
2022-10-18 19:33:38 +02:00
Antonio Scandurra
0c0e8688ed
Use PeerId
in TestServer::disconnect_client
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-10-18 19:05:37 +02:00
Antonio Scandurra
2c4f003897
Tell clients their peer id on connection in Hello message
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-10-18 18:42:55 +02:00
Mikayla Maki
4b09f77950
WIP
2022-10-17 17:04:30 -07:00
Mikayla Maki
dbea3cf20c
Converted to using rusqlite
2022-10-17 17:04:30 -07:00
Antonio Scandurra
c4dde0f4e2
💄
2022-10-12 15:35:28 +02:00
Antonio Scandurra
ec19f0f8e9
Remove unnecessary async from Peer::add_connection
2022-10-12 15:32:39 +02:00
Antonio Scandurra
cc56fa9ea6
Introduce client-side timeout when trying to connect
2022-10-12 15:32:30 +02:00
Antonio Scandurra
afaacba41f
Merge remote-tracking branch 'origin/main' into room
2022-10-10 15:43:38 +02:00
Antonio Scandurra
d7cea646fc
Include a busy
field in proto::Contact
2022-10-07 12:21:56 +02:00
Antonio Scandurra
7763acbdd5
Move IncomingCall
into call
crate
2022-10-06 09:52:03 +02:00
Antonio Scandurra
55cc142319
Move incoming calls into ActiveCall
2022-10-06 09:50:26 +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
Max Brunsfeld
f3d83631ef
Remove unnecessary min_id_length option from amplitude requests
2022-10-03 12:13:27 -07:00
Max Brunsfeld
06813be5c8
Mark platform as "Zed" for telemetry events from the app
...
Co-authored-by: Joseph Lyons <joseph@zed.dev>
2022-10-03 11:05:45 -07:00
Max Brunsfeld
4477f95ee6
Set staff
user property in telemetry
...
Co-authored-by: Joseph Lyons <joseph@zed.dev>
2022-10-03 10:52:57 -07:00
Antonio Scandurra
1e45198b9f
Emit event on Room
when a user shares a new project
2022-10-03 17:12:07 +02:00
Max Brunsfeld
35a537dae0
Fix FakeServer to expect new GetPrivateUserInfo request
2022-09-29 14:34:15 -07:00
Max Brunsfeld
5d09083a7d
Identify users in amplitude via a separate 'metrics_id' UUID
2022-09-29 13:15:21 -07: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
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
Max Brunsfeld
0d3486ca82
Remove TestTelemetry command
2022-09-28 15:50:17 -07:00
Max Brunsfeld
af7c2b8b47
Set minimum user id length in amplitude calls
2022-09-28 15:21:49 -07: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
573086eed2
Always rely on the server to cancel the incoming call
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
55b095cbd3
Implement joining a room and sending updates after people join/leave
2022-09-28 11:33:38 +02:00
Antonio Scandurra
4a9bf8f4fe
Introduce call infrastructure
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-09-28 11:33:38 +02:00
Antonio Scandurra
ebb5ffcedc
Introduce the ability of creating rooms on the server
2022-09-28 11:33:38 +02:00
Max Brunsfeld
3bd68128d7
Add command to view the telemetry log
...
Co-authored-by: Joseph Lyons <joseph@zed.dev>
2022-09-27 14:20:13 -07:00
Max Brunsfeld
f2db3abdb2
Always allow overriding amplitude API key via a runtime env var
2022-09-27 12:42:27 -07:00
Nathan Sobo
824fdb54e6
Report editor open and save events to Amplitude
...
Co-authored-by: Max Brunsfeld <max@zed.dev>
2022-09-26 18:18:34 -06:00
Max Brunsfeld
da36eb3b41
wip
2022-09-26 15:23:10 -07:00
Max Brunsfeld
4784dbe498
Link signups to users in telemetry via a stored device_id
...
Co-authored-by: Joseph Lyons <joseph@zed.dev>
2022-09-26 12:49:04 -07:00
Max Brunsfeld
04baccbea6
Start work on a client-side telemetry system
2022-09-23 12:23:12 -07:00
ForLoveOfCats
8ba2f77148
One big cleanup pass of clippy lints
...
Co-authored-by: Mikayla <mikayla@zed.dev>
2022-08-10 16:51:01 -07:00
Antonio Scandurra
a1d0d2ccc4
Add tests for client authentication while a previous sign in is pending
2022-08-02 14:28:47 +02:00
Antonio Scandurra
aa09bc527f
Allow signing in again if authentication is pending or was unsuccessful
...
The local server that we spin up to receive OAuth callbacks isn't
called when an error occurs and it is non-trivial to do so with
next-auth. Besides, there could be cases where the user explicitly
closes the browser window before the callback can be invoked.
With this commit, the user can sign in even while an authentication
is still in progress. As opposed to waiting for at most 10 minutes
before killing the local HTTP server if we haven't received the callback,
we will repeatedly check for a response every second for 100 seconds.
This gives us a chance to determine whether a new authentication has started
in the meantime and, if so, abort the current authentication flow.
2022-08-02 14:16:14 +02:00
Antonio Scandurra
b91d44b448
Respond with a debug version of the error in rpc Client
2022-07-07 11:52:56 +02:00
Max Brunsfeld
c5351a1276
Ensure that usernames, user ids, and client ids match in random collaboration test
...
This makes the logs easier to interpret
2022-06-30 14:51:22 -07:00
Antonio Scandurra
48ff443d10
Remove stray log statement when contacts are updated
...
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2022-06-22 19:40:52 +02:00
Max Brunsfeld
6a2c5e0dc1
Show upgrade required message when reconnecting after a protocol change
...
Co-authored-by: Antonio Scandurra <me@as-cii.com>
2022-06-21 10:26:34 -07:00
Antonio Scandurra
c90e8c08a6
Accept a datetime range when querying project activity
2022-06-21 14:03:10 +02:00
Antonio Scandurra
68093342e7
Broadcast only visible worktree root names
2022-06-14 15:15:23 +02:00
Antonio Scandurra
3a69943df3
Require that PartialEq
is implemented for Action
2022-06-06 09:18:44 +02:00
Max Brunsfeld
24aafde1e8
Avoid persisting project's state before it has been initialized
2022-06-03 16:40:16 -07:00
Max Brunsfeld
36a4d31b5b
Keep unregistered projects' ids until pending contact updates are done
2022-06-02 18:04:54 -07:00
Max Brunsfeld
b70396b8fb
Disconnect FakeServer when dropping it
...
This prevents memory leak errors in tests, due to parked tasks waiting
for RPC responses.
2022-06-02 17:32:43 -07:00
Max Brunsfeld
7ef9de32b1
Show private projects in the contacts panel
...
Introduce a ProjectStore that lets you iterate through all open projects.
Allow projects to be made public by clicking the lock.
2022-06-02 17:29:11 -07:00
Antonio Scandurra
0597c662e4
Show contacts panel the first time a new user connects to collab
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-05-20 17:33:09 +02:00
Nathan Sobo
eedb8ba59f
Add affordance to copy user's invite link if they have a code
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2022-05-19 17:57:46 -06:00
Antonio Scandurra
2d986c7968
Show guest only once even if they joined on two different windows
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-05-17 16:21:09 +02:00