Max Brunsfeld
f797dfb88f
Merge branch 'main' into multibuffer-following
2022-12-12 11:47:39 -08:00
Antonio Scandurra
beea9b68ff
Allow re-joining room after server restarts
2022-12-12 16:03:21 +01:00
Antonio Scandurra
3cd77bfcc4
Always cast connection ids to i32
...
Postgres doesn't support unsigned types. This also adds indices to
support querying `project_collaborators` and `room_participants`
by connection id.
2022-12-12 11:43:08 +01:00
Antonio Scandurra
456396ca6e
Rename connection_lost
to answering_connection_lost
2022-12-12 11:43:08 +01:00
Antonio Scandurra
26b5653427
Delete hosted projects from database when connection is lost
2022-12-12 11:43:08 +01:00
Antonio Scandurra
895c365485
Introduce random reconnections in the randomized test
2022-12-12 11:43:08 +01:00
Antonio Scandurra
8fa26bfe18
Fix test_calls_on_multiple_connections
after adding room reconnection
2022-12-12 11:43:08 +01:00
Antonio Scandurra
aca3f02590
Re-join room when client temporarily loses connection
2022-12-12 11:43:08 +01:00
Antonio Scandurra
d74fb97158
Remove Executor
trait from collab
and use an enum instead
...
This will let us save off the executor and avoid using generics.
2022-12-12 11:43:08 +01:00
Mikayla Maki
34388a1d31
Updated is_child() to omit self
2022-12-09 12:07:49 -08:00
Mikayla Maki
3a4f8d267a
Fix infinite loop in dock position when deserializing
2022-12-09 11:50:24 -08:00
Antonio Scandurra
0366d725ea
collab 0.3.1
2022-12-09 08:19:41 +01:00
Antonio Scandurra
2697112a8a
Don't drop unregistered
column in reconnection support migration
...
We don't use this column anymore because, when a project is unshared, we
simply remove it from the `projects` table. However, this column is expected
in the stable version of the server and the database is shared between stable
and preview. If we dropped it, stable would start throwing errors.
2022-12-09 08:11:18 +01:00
Mikayla Maki
925c9e13bb
Remove terminal container view, switch to notify errors
2022-12-08 20:21:00 -08:00
Mikayla Maki
da100a09fb
WIP
2022-12-08 20:21:00 -08:00
Mikayla Maki
c42da5c9b9
WIP
2022-12-08 20:21:00 -08:00
Mikayla Maki
2733f91d8c
Fix bugs resulting from refactoring the terminal into project and workspace halves
2022-12-08 20:21:00 -08:00
Mikayla Maki
83aefffa38
Rearrange the terminal code to not have a cyclic dependency with the project
2022-12-08 20:21:00 -08:00
Mikayla Maki
1b8763d0cf
WIP - move terminal to project as pre-prep for collaboration
2022-12-08 20:21:00 -08:00
Max Brunsfeld
7dde54b052
v0.68.x dev
2022-12-08 15:33:02 -08:00
Kay Simmons
b1e37378dc
Merge pull request #1944 from zed-industries/vim-page-movement
...
Add scroll commands to vim mode
2022-12-08 14:58:19 -08:00
Kay Simmons
e61a38b3a9
remove printline
2022-12-08 14:45:22 -08:00
Kay Simmons
2cf48c03f9
fix final failing tests
2022-12-08 14:39:48 -08:00
Joseph Lyons
ab978ff1a3
collab 0.3.0
2022-12-08 16:35:13 -05:00
Joseph T. Lyons
dcd4b8f7db
Merge pull request #1941 from zed-industries/Allow-overwriting-signup-data
...
Allow overwriting signup data if a user signs up more than once with the same email address
2022-12-08 16:11:28 -05:00
Kay Simmons
10aecc310e
notify views when hover finishes in tooltip wrapper
2022-12-08 11:26:46 -08:00
Kay Simmons
750e7eb833
Merge pull request #1945 from zed-industries/drag-and-drop-deadzones
...
Add deadzones to drag and drop
2022-12-08 11:15:42 -08:00
Kay Simmons
36bc90b2b8
Add deadzones to drag and drop
2022-12-07 17:46:00 -08:00
Kay Simmons
f6f41510d2
fix failing tests from incorrect follow behavior
2022-12-07 17:25:48 -08:00
Kay Simmons
cffb064c16
Refactor editor scrolling and implement scroll commands from vim mode
2022-12-07 16:39:32 -08:00
Joseph Lyons
d71d543337
Ensure that subsequent signup happens after initial
...
We can't rely on the fact that the test won't run fast enough such that both `created_at`s are the same time. This ensures the subsequent signup happens after the initial one and that the database doesn't overwrite the initial one.
2022-12-07 08:15:01 -05:00
Antonio Scandurra
665219fb00
Fix inviting user that had already signed up via a different email
2022-12-07 14:07:01 +01:00
Antonio Scandurra
1b8f23eeed
Add failing test showcasing inviting existing user via different email
2022-12-07 14:06:59 +01:00
Joseph Lyons
5f31907127
Clean up test
2022-12-07 07:12:27 -05:00
Joseph Lyons
97989b04a0
Remove comment
2022-12-06 17:18:54 -05:00
Joseph Lyons
694840cdd6
Allow overwriting signup data if a user signs up more than once with the same email address
2022-12-06 17:12:12 -05:00
Antonio Scandurra
3b5b48c043
Query project count as i64 instead of i32 when gathering metrics
...
Using the latter will cause a type mismatch when performing the query.
2022-12-06 15:00:32 +01:00
Antonio Scandurra
fc7b01b74e
Fix busy status when accepting a contact request
...
Previously, we would send an contact update when accepting a request
using the same `busy` status for both the requester and the responder.
This was obviously wrong and caused the requester to see their own
busy status as the newly-added responder contact's status.
2022-12-06 10:19:34 +01:00
Antonio Scandurra
f1b35981c2
Merge pull request #1935 from zed-industries/reconnections-2
...
Move in-memory server state to the database
2022-12-06 09:22:59 +01:00
Antonio Scandurra
744714b478
Remove unused UserId
import from seed script
2022-12-06 09:07:25 +01:00
Max Brunsfeld
855f17c378
Include outline items for c/c++ functions returning pointers-to-pointers, references
...
Co-authored-by: Julia Risley <julia@zed.dev>
2022-12-05 13:56:21 -08:00
Mikayla Maki
0921178b42
Got tree sitter integration to a shippable place
2022-12-05 11:31:52 -08:00
Mikayla Maki
30872d3992
Added experimental support for scheme, racket, and commonlisp
2022-12-05 11:31:49 -08:00
Antonio Scandurra
cd08d289aa
Fix warnings
2022-12-05 19:45:56 +01:00
Antonio Scandurra
9a62150dce
Merge branch 'main' into reconnections-2
2022-12-05 19:18:40 +01:00
Antonio Scandurra
7bbd97cfb9
Send diagnostic summaries synchronously
2022-12-05 19:07:06 +01:00
Antonio Scandurra
5443d9cffe
Return project collaborators and connection IDs in a RoomGuard
2022-12-05 18:37:01 +01:00
Antonio Scandurra
be3fb1e985
Update sea-orm to fix bug on failure to commit transactions
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-12-05 18:36:25 +01:00
Antonio Scandurra
b97c35a468
Remove project_id foreign key from room_participants
2022-12-05 15:16:06 +01:00
Antonio Scandurra
eec3df09be
Upgrade sea-orm
2022-12-05 14:56:01 +01:00
Antonio Scandurra
d3c411677a
Remove random pauses to prevent the database from deadlocking
2022-12-05 12:03:45 +01:00
Antonio Scandurra
d97a8364ad
Retry transactions if there's a serialization failure during commit
2022-12-05 10:49:53 +01:00
Antonio Scandurra
0ed731780a
Remove duplication between transaction
and room_transaction
2022-12-05 09:46:03 +01:00
Julia
11c1254e71
Merge pull request #1924 from zed-industries/simon-says-dont-move
...
Do not reorder tab opened by follower to end of item list
2022-12-04 13:00:07 -05:00
Mikayla Maki
55eb0a3742
Fixed and error message and properly initialized the DB
2022-12-03 16:46:35 -08:00
Mikayla Maki
1ce0863158
Removed old code
2022-12-03 16:27:45 -08:00
Mikayla Maki
d609237c32
Found db parallelism problem :(
2022-12-03 16:26:37 -08:00
Mikayla Maki
4288f10873
And library change
2022-12-03 16:13:02 -08:00
Mikayla Maki
80e035cc2c
Fixed bad rebase
2022-12-03 16:12:07 -08:00
Mikayla Maki
a1f273278b
Added user notifications
2022-12-03 16:06:02 -08:00
Mikayla Maki
ffcad4e4e2
WIP fixing dock problems
2022-12-03 16:06:02 -08:00
Mikayla Maki
5262e8c77e
CHANGE LOCK TO NOT BE DROPPED INSTANTLY. DANG U RUST
...
co-authored-by: kay@zed.dev
2022-12-03 16:06:02 -08:00
Mikayla Maki
5e240f98f0
Reworked thread safe connection be threadsafer,,,, again
...
Co-Authored-By: kay@zed.dev
2022-12-03 16:06:02 -08:00
Mikayla Maki
189a820113
First draft of graceful corruption restoration
2022-12-03 16:06:02 -08:00
Mikayla Maki
b8d423555b
Added side bar restoration
2022-12-03 16:06:02 -08:00
Kay Simmons
8a48567857
Reactivate the correct item in each pane when deserializing
2022-12-03 16:06:01 -08:00
Kay Simmons
f68e8d4664
Address some issues with the sqlez_macros
2022-12-03 16:06:01 -08:00
Kay Simmons
1b225fa37c
fix test failures
2022-12-03 16:06:01 -08:00
Kay Simmons
a29ccb4ff8
make thread safe connection more thread safe
...
Co-Authored-By: Mikayla Maki <mikayla@zed.dev>
2022-12-03 16:06:01 -08:00
Mikayla Maki
9cd6894dc5
Added multi-threading problem test
2022-12-03 16:06:01 -08:00
Kay Simmons
dd9d20be25
Added sql! proc macro which checks syntax errors on sql code and displays them with reasonable underline locations
...
Co-Authored-By: Mikayla Maki <mikayla@zed.dev>
2022-12-03 16:06:01 -08:00
Mikayla Maki
260164a711
Added basic syntax checker to sqlez
2022-12-03 16:06:01 -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
Kay Simmons
1cc3e4820a
working serialized writes with panics on failure. Everything seems to be working
2022-12-03 16:06:01 -08:00
Mikayla Maki
3e0f9d27a7
Made dev tools not break everything about the db
...
Also improved multi statements to allow out of order parameter binding in statements
Ensured that all statements are run for maybe_row and single, and that of all statements only 1 of them returns only 1 row
Made bind and column calls add useful context to errors
Co-authored-by: kay@zed.dev
2022-12-03 16:06:01 -08:00
Mikayla Maki
2dc1130902
Added extra sql methods
2022-12-03 16:06:01 -08:00
Mikayla Maki
37174f45f0
Touched up sql macro
2022-12-03 16:06:01 -08:00
Mikayla Maki
76c42af62a
Finished terminal working directory restoration
2022-12-03 16:06:01 -08:00
Mikayla Maki
cf4c103660
Fixed workspace tests
2022-12-03 16:06:01 -08:00
Mikayla Maki
e1eff3f4cd
WIP: Some bugs switching to database provided IDs, terminal titles don't reload when restored from serialized, workspace tests are no longer passing but should be easy to fix when it isn't 11:44
2022-12-03 16:06:01 -08:00
Mikayla Maki
a47f2ca445
Added UUID based, stable workspace ID for caching on item startup. Completed first sketch of terminal persistence. Still need to debug it though....
2022-12-03 16:06:01 -08:00
Mikayla Maki
e659823e6c
WIP termial implementation. need some way of getting the currently valid workspace ID
2022-12-03 16:06:01 -08:00
Mikayla Maki
a8ed95e1dc
Implementing persistence for the terminal working directory, found an issue with my current data model. :(
2022-12-03 16:06:01 -08:00
Kay Simmons
cb1d2cd1f2
WIP serializing and deserializing editors
2022-12-03 16:06:01 -08:00
Mikayla Maki
9077b058a2
removed test file
2022-12-03 16:06:01 -08:00
Mikayla Maki
7ceb5e815e
workspace level integration of serialization complete! Time for item level integration....
...
Co-Authored-By: kay@zed.dev
2022-12-03 16:06:01 -08:00
Mikayla Maki
992b94eef3
Rebased to main
2022-12-03 16:06:01 -08:00
Mikayla Maki
a0cb6542ba
Polishing workspace data structures
...
Co-authored-by: kay@zed.dev
2022-12-03 16:06:01 -08:00
Mikayla Maki
6530658c3e
Added center group deserialization
2022-12-03 16:06:01 -08:00
Kay Simmons
75d3d46b1b
wip serialize editor
2022-12-03 16:06:01 -08:00
Kay Simmons
d20d21c6a2
Dock persistence working!
...
Co-Authored-By: Mikayla Maki <mikayla@zed.dev>
2022-12-03 16:06:01 -08:00
Kay Simmons
c1f7902309
wip
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
2a5565ca93
WIP
2022-12-03 16:06:00 -08:00
Mikayla Maki
a5edac312e
Moved to workspaces crate... don't feel great about it
2022-12-03 16:05:26 -08:00
Mikayla Maki
e578f2530e
WIP commit, migrating workspace serialization code into the workspace
2022-12-03 16:05:25 -08:00
Mikayla Maki
c84201fc9f
Done first draft of strongly typed migrations
2022-12-03 16:05:25 -08:00
Kay Simmons
4a00f0b062
Add typed statements
2022-12-03 16:05:25 -08:00
Mikayla Maki
64ac84fdf4
Re-use big union statement for get_center_pane
2022-12-03 16:05:25 -08:00
Mikayla Maki
f27a9d77d1
Finished the bulk of workspace serialization. Just items and wiring it all through.
...
Co-Authored-By: kay@zed.dev
2022-12-03 16:05:25 -08:00
Mikayla Maki
0186289420
Refined sqlez, implemented 60% of workspace serialization sql
2022-12-03 16:05:25 -08:00
Mikayla Maki
6b214acbc4
Got Zed compiling again 🥰
2022-12-03 16:05:25 -08:00
Kay Simmons
d419f27d75
replace worktree roots table with serialized worktree roots list
2022-12-03 16:05:25 -08:00
Kay Simmons
eb0598dac2
more refactoring and slightly better api
2022-12-03 16:05:25 -08:00
Mikayla Maki
aa7b909b7b
WIP3
2022-12-03 16:05:25 -08:00
Mikayla Maki
b552f1788c
WIP2
2022-12-03 16:05:25 -08:00
Mikayla Maki
d492cbced9
WIP
2022-12-03 16:05:25 -08:00
Mikayla Maki
19aac6a57f
Moved docks to a better position
2022-12-03 16:05:25 -08:00
Kay Simmons
685bc9fed3
impl bind and column and adjust pane tables
2022-12-03 16:05:25 -08:00
Mikayla Maki
406663c75e
Converted to sqlez, so much nicer
2022-12-03 16:05:25 -08:00
Mikayla Maki
c8face33fa
WIP, incorporating type parsing using new sqlez patterns
2022-12-03 16:05:25 -08:00
Mikayla Maki
3c1b747f64
WIP almost compiling with sqlez
2022-12-03 16:05:25 -08:00
Mikayla Maki
777f05eb76
Finished implementing the workspace stuff
2022-12-03 16:05:25 -08:00
Mikayla Maki
395070cb92
remove submodule
2022-12-03 16:05:25 -08:00
Mikayla Maki
a4a1859dfc
Added sqlez api
2022-12-03 16:05:25 -08:00
Kay Simmons
e3fdfe02e5
WIP switching to sqlez
2022-12-03 16:05:24 -08:00
Mikayla Maki
7744c9ba45
Abandoning rusqlite, the API is miserable
2022-12-03 16:04:10 -08:00
Mikayla Maki
e6ca0adbcb
Fixed failing serialization issues
2022-12-03 16:04:10 -08:00
Mikayla Maki
c105f41487
Started working on dock panes
...
co-authored-by: kay@zed.dev
2022-12-03 16:04:10 -08:00
Mikayla Maki
ddecba143f
Refactored workspaces API and corrected method headers + fixed bug caused by migration failures
...
co-authored-by: kay@zed.dev
2022-12-03 16:04:10 -08:00
Mikayla Maki
3451a3c7fe
Rebase - Got Zed compiling and fixed a build error due to conflicting dependencies that cargo didn't catch :(
...
Co-Authored-By: kay@zed.dev
2022-12-03 16:04:10 -08:00
Mikayla Maki
b9cbd4084e
WIP: fixing up behavior of workspace initialization
2022-12-03 16:04:10 -08:00
Mikayla Maki
5505a776e6
Figured out a good schema for the pane serialization stuff
2022-12-03 16:04:10 -08:00
Mikayla Maki
46ff0885f0
WIP: Writing tests
2022-12-03 16:04:10 -08:00
Mikayla Maki
a9dc46c950
added stubs for more tests
2022-12-03 16:04:10 -08:00
Mikayla Maki
7d33520b2c
Tidied up code, managed errors, etc.
2022-12-03 16:04:10 -08:00
Mikayla Maki
e9ea751f3d
All workspace tests passing :D
2022-12-03 16:04:10 -08:00
Mikayla Maki
d7bbfb82a3
Rebase - Successfully detecting workplace IDs :D
2022-12-03 16:04:10 -08:00
Mikayla Maki
500ecbf915
Rebase fix + Started writing the real SQL we're going to need
2022-12-03 16:04:10 -08:00
K Simmons
e5c6393f85
rebase fix - almost have serialize_workspace piped to the workspace constructor. Just a few compile errors left
2022-12-03 16:04:10 -08:00
K Simmons
73f0459a0f
wip
2022-12-03 16:04:10 -08:00
K Simmons
0c466f806c
WIP
2022-12-03 16:04:10 -08:00
Mikayla Maki
b48e28b555
Built first draft of workspace serialization schemas, started writing DB tests
...
Co-Authored-By: kay@zed.dev
2022-12-03 16:04:10 -08:00
Mikayla Maki
60ebe33518
Rebase fix - Reworking approach to sql for take
2022-12-03 16:04:10 -08:00
Mikayla Maki
72c1ee904b
Fix rebase - Broken tab
2022-12-03 16:04:10 -08:00
Julia
57e10b7dd5
Cleanup dbg
2022-12-02 16:42:49 -05:00
Julia
4bc1d77535
Fix tab following order test to wait for file open to propagate
...
Now it can actually repro the original bug
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2022-12-02 16:09:37 -05:00
Antonio Scandurra
d96f524fb6
WIP: Manually rollback transactions to avoid spurious savepoint failure
...
TODO:
- Avoid unwrapping transaction after f(tx)
- Remove duplication between `transaction` and `room_transaction`
- Introduce random delay before and after committing a transaction
- Run lots of randomized tests
- Investigate diverging diagnostic summaries
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2022-12-02 20:36:50 +01:00
Antonio Scandurra
1c30767592
Remove stale Error
variant
...
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2022-12-02 19:20:51 +01:00
Antonio Scandurra
969c314315
Merge branch 'main' into reconnections-2
2022-12-02 19:09:33 +01:00
Antonio Scandurra
568de814aa
Delete empty rooms
2022-12-02 16:56:41 +01:00
Antonio Scandurra
27f6ae945d
Clear stale data on startup
...
This is a stopgap measure until we introduce reconnection support.
2022-12-02 16:30:00 +01:00
Antonio Scandurra
1b46b7a7d6
Move modules into collab
library as opposed to using the binary
...
This ensures that we can use collab's modules from the seed script
as well.
2022-12-02 14:37:52 +01:00
Antonio Scandurra
7502558631
Make all tests pass again after migration to sea-orm
2022-12-02 14:22:36 +01:00
Antonio Scandurra
48b6ee313f
Use i32 to represent Postgres INTEGER
types in Rust
2022-12-02 13:58:54 +01:00
Antonio Scandurra
dec5f37e4e
Finish porting remaining db methods to sea-orm
2022-12-02 13:58:23 +01:00
Julia
239a04ea5b
Add test that should have exercised tab reordering while following
...
Except it doesn't, it passes both with and without the prior commit.
Investigate further
2022-12-02 00:31:16 -05:00
Joseph T. Lyons
ea03b48243
Merge pull request #1876 from zed-industries/update-release-urls-to-match-new-zed.dev-url-format
...
Update release urls to match new zed.dev url format
2022-12-01 20:32:14 -05:00
Max Brunsfeld
e4507c1d74
Fetch missing buffers when adding excerpts to a multibuffer while following
...
Make FollowableItem::apply_update_proto asynchronous. Use a single
task per workspace to process all leader updates, to prevent updates
from being interleaved.
Co-authored-by: Antonio Scandurra <antonio@zed.dev>
2022-12-01 15:17:51 -08:00
Antonio Scandurra
585ac3e1be
WIP
2022-12-01 18:39:24 +01:00