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