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
cd7f377c31
Allow checking CLA signatures by GitHub login
...
This will be used by CLA Bot.
Co-authored-by: Marshall <marshall@zed.dev>
2024-01-22 13:55:12 -08:00
Max Brunsfeld
56556d71a1
Add API for retrieving the date that a contributor signed the CLA
...
Co-authored-by: Marshall <marshall@zed.dev>
2024-01-22 13:11: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
Joseph T. Lyons
7cd6825eee
Add backtrace hash to collab server panic api
2023-12-18 11:12:23 -05:00
Joseph T. Lyons
7964b35607
Add release channel to panic collab upload
2023-12-08 12:10:25 -05:00
Max Brunsfeld
18c899a0a8
Remove dead code for old admin pages
2023-09-13 15:02:59 -07:00
Antonio Scandurra
cba41ef7c5
Create user record automatically when someone logs in on the website
...
Now that we are moving out of the private alpha, we should let everyone
in when they try to log into zed.dev.
2023-03-14 12:25:04 +01:00
Joseph T. Lyons
c3b102f5a8
Add users to mailing list when using an invite link
2023-01-17 16:46:01 -05:00
Antonio Scandurra
969c314315
Merge branch 'main' into reconnections-2
2022-12-02 19:09:33 +01:00
Antonio Scandurra
48b6ee313f
Use i32 to represent Postgres INTEGER
types in Rust
2022-12-02 13:58:54 +01:00
Antonio Scandurra
29a4baf346
Replace i32 with u32 for database columns
...
We never expect to return signed integers and so we shouldn't use
a signed type. I think this was a limitation of sqlx.
2022-12-01 17:47:51 +01:00
Antonio Scandurra
d2385bd6a0
Start using the new sea-orm backed database
2022-12-01 14:41:59 +01:00
Joseph Lyons
c3cf056fc5
allow users to sign up multiple times without throwing a 500
2022-11-15 20:04:56 -05: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
Antonio Scandurra
7e411ae098
Merge branch 'main' into screen-sharing
...
# Conflicts:
# crates/collab/src/integration_tests.rs
# crates/collab/src/main.rs
# styles/src/styleTree/workspace.ts
2022-10-21 14:29:45 +02:00
Nathan Sobo
9858906463
Return an optional response when creating users via invites
...
If the user already exists, we return none. This will allow the web frontend
to avoid reporting a "join alpha" user event but also not error.
Co-Authored-By: Max Brunsfeld <max@zed.dev>
Co-Authored-By: Joseph Lyons <joseph@zed.dev>
2022-10-20 10:52:34 -06:00
Antonio Scandurra
5dc82d3df8
Delete all live-kit rooms when server is shut down
2022-10-20 14:34:05 +02:00
Max Brunsfeld
c410935c9c
Allow impersonating users via the api token, bypassing oauth
2022-10-18 17:36:54 -07:00
Max Brunsfeld
5e57a33df7
Store entire Config struct on collab AppState
2022-10-18 13:58:03 -07:00
Max Brunsfeld
5d09083a7d
Identify users in amplitude via a separate 'metrics_id' UUID
2022-09-29 13:15:21 -07:00
Max Brunsfeld
1db75ca2cf
Make device_id optional on signups table
...
This way, signup won't fail if for some reason, the
user's client-side JS doesn't provide an amplitude
device id.
Co-authored-by: Joseph Lyons <joseph@zed.dev>
2022-09-27 16:04:01 -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
dac0ce10e5
Return the metrics id from the signup-creation API
...
Co-authored-by: Nathan Sobo <nathan@zed.dev>
2022-09-22 14:37:25 -07:00
Max Brunsfeld
1877fc234b
Update user retrieval API to take both github user id and github login
2022-09-20 15:41:00 -07:00
Max Brunsfeld
9886259b3a
Start storing users' github user id
2022-09-20 09:44:56 -07:00
Max Brunsfeld
e77263a3c7
Remove bulk user creation admin API
2022-09-19 14:34:37 -07:00
Max Brunsfeld
3dd8845bd8
Add waitlist summary API
2022-09-19 14:19:00 -07:00
Max Brunsfeld
f8c7c925af
Update APIs and DB interactions to reflect email confirmation step
2022-09-19 14:19:00 -07:00
Max Brunsfeld
d85ecc8302
Add collab APIs for new signup flow
...
Co-authored-by: Nathan Sobo <nathan@zed.dev>
2022-09-19 14:19:00 -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
316a534a16
Allow querying active user counts for people that have collaborated
2022-07-18 10:29:10 +02:00
Max Brunsfeld
69146fb318
Allow the web client to specify activity bucket durations
2022-07-15 16:46:44 -07:00
Max Brunsfeld
1363d2c502
Add admin API for counting users with a given amount of activity
2022-07-15 16:46:44 -07:00
Max Brunsfeld
14d7375149
Add rest API for user activity timeline
2022-06-28 15:40:48 -07:00
Max Brunsfeld
1d10e45282
🎨 Tweak some names dealing with user activity
...
* Rename `project_activity_summary` to `top_users_activity_summary`
to make clearer the distinction between it and the per-user summary.
* Rename `user_activity_summary` to `user_activity_timeline`, since
its output is structured a bit differently than the courser-grained
"summary" returned by the top-user query.
* Rename `ActivityDuration` -> `ActivityPeriod`
2022-06-28 15:37:56 -07:00
Nathan Sobo
4da3005b5c
Allow users with no invites to be fetched from the API
2022-06-24 09:57:52 -06:00
Antonio Scandurra
b0eb692760
WIP
2022-06-24 17:21:58 +02:00
Antonio Scandurra
db77601aa2
Expose project metadata via GET /project_metadata
2022-06-21 18:06:31 +02:00
Antonio Scandurra
c90e8c08a6
Accept a datetime range when querying project activity
2022-06-21 14:03:10 +02:00
Max Brunsfeld
44160869eb
Add an API that returns the most active users and the projects where they've been active
2022-06-20 19:46:37 -07:00
Antonio Scandurra
76da93d260
Merge branch 'main' into users-api
2022-06-14 11:14:16 +02:00
Antonio Scandurra
49d7b4bc12
Allow specifying query
, limit
and page
when hitting /api/users
...
This is needed to introduce pagination and search in our admin panel.
2022-06-13 17:30:01 +02:00
Antonio Scandurra
fe1a861bf3
Expose a new POST /api/bulk_users
API to create many users at once
...
This API will accept a vector of JSON entries containing the GitHub login,
the email address and the invite count. If that user already exist, the
invite count will be updated to the new one.
2022-06-13 15:18:18 +02:00
Max Brunsfeld
ce080e9520
Update connected users' invite info when they are granted invite codes
2022-06-06 11:14:01 -07:00
Antonio Scandurra
3ac6fc89c1
Pretty-print JSON of server snapshot
2022-05-26 09:34:39 +02:00
Nathan Sobo
742dd75041
Implement /rpc_server_snapshot endpoint
...
This returns a JSON snapshot of the state of the server
2022-05-25 17:42:25 -06:00
Nathan Sobo
7a8ff5abd7
Accept an optional email address when creating new users
2022-05-20 20:25:21 -06:00