Procházet zdrojové kódy

chore: update tokio version

nathan před 2 roky
rodič
revize
9b0fccbdda
39 změnil soubory, kde provedl 1078 přidání a 384 odebrání
  1. 2 0
      frontend/appflowy_tauri/src-tauri/.cargo/config.toml
  2. 383 72
      frontend/appflowy_tauri/src-tauri/Cargo.lock
  3. 1 1
      frontend/appflowy_tauri/src-tauri/Cargo.toml
  4. 2 2
      frontend/rust-lib/.cargo/config.toml
  5. 444 85
      frontend/rust-lib/Cargo.lock
  6. 6 6
      frontend/rust-lib/dart-ffi/Cargo.toml
  7. 2 2
      frontend/rust-lib/flowy-ast/Cargo.toml
  8. 4 4
      frontend/rust-lib/flowy-client-sync/Cargo.toml
  9. 7 7
      frontend/rust-lib/flowy-codegen/Cargo.toml
  10. 64 63
      frontend/rust-lib/flowy-core/Cargo.toml
  11. 3 0
      frontend/rust-lib/flowy-core/src/lib.rs
  12. 14 14
      frontend/rust-lib/flowy-database/Cargo.toml
  13. 7 1
      frontend/rust-lib/flowy-database/src/services/database_view/editor.rs
  14. 6 0
      frontend/rust-lib/flowy-database/src/services/filter/controller.rs
  15. 6 0
      frontend/rust-lib/flowy-database/src/services/sort/controller.rs
  16. 5 5
      frontend/rust-lib/flowy-derive/Cargo.toml
  17. 10 10
      frontend/rust-lib/flowy-document/Cargo.toml
  18. 3 3
      frontend/rust-lib/flowy-error/Cargo.toml
  19. 6 6
      frontend/rust-lib/flowy-folder/Cargo.toml
  20. 7 7
      frontend/rust-lib/flowy-net/Cargo.toml
  21. 2 2
      frontend/rust-lib/flowy-notification/Cargo.toml
  22. 6 6
      frontend/rust-lib/flowy-revision/Cargo.toml
  23. 23 23
      frontend/rust-lib/flowy-sqlite/Cargo.toml
  24. 3 3
      frontend/rust-lib/flowy-task/Cargo.toml
  25. 8 8
      frontend/rust-lib/flowy-test/Cargo.toml
  26. 5 5
      frontend/rust-lib/flowy-user/Cargo.toml
  27. 9 9
      frontend/rust-lib/lib-dispatch/Cargo.toml
  28. 5 5
      frontend/rust-lib/lib-log/Cargo.toml
  29. 2 2
      shared-lib/database-model/Cargo.toml
  30. 1 1
      shared-lib/flowy-client-network-config/Cargo.toml
  31. 2 2
      shared-lib/flowy-client-ws/Cargo.toml
  32. 5 5
      shared-lib/flowy-server-sync/Cargo.toml
  33. 1 1
      shared-lib/flowy-sync/Cargo.toml
  34. 4 4
      shared-lib/lib-infra/Cargo.toml
  35. 3 3
      shared-lib/lib-ot/Cargo.toml
  36. 9 9
      shared-lib/lib-ws/Cargo.toml
  37. 1 1
      shared-lib/revision-model/Cargo.toml
  38. 6 6
      shared-lib/user-model/Cargo.toml
  39. 1 1
      shared-lib/ws-model/Cargo.toml

+ 2 - 0
frontend/appflowy_tauri/src-tauri/.cargo/config.toml

@@ -0,0 +1,2 @@
+[build]
+rustflags = ["--cfg", "tokio_unstable"]

+ 383 - 72
frontend/appflowy_tauri/src-tauri/Cargo.lock

@@ -106,19 +106,20 @@ checksum = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6"
 
 [[package]]
 name = "async-stream"
-version = "0.3.3"
+version = "0.3.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dad5c83079eae9969be7fadefe640a1c566901f05ff91ab221de4b6f68d9507e"
+checksum = "ad445822218ce64be7a341abfb0b1ea43b5c23aa83902542a4542e78309d8e5e"
 dependencies = [
  "async-stream-impl",
  "futures-core",
+ "pin-project-lite",
 ]
 
 [[package]]
 name = "async-stream-impl"
-version = "0.3.3"
+version = "0.3.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "10f203db73a71dfa2fb6dd22763990fa26f3d2625a6da2da900d23b87d26be27"
+checksum = "e4655ae1a7b0cdf149156f780c5bf3f1352bc53cbd9e0a361a7ef7b22947e965"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -127,9 +128,9 @@ dependencies = [
 
 [[package]]
 name = "async-trait"
-version = "0.1.61"
+version = "0.1.64"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "705339e0e4a9690e2908d2b3d049d85682cf19fbd5782494498fbf7003a6a282"
+checksum = "1cd7fce9ba8c3c042128ce72d8b2ddbf3a05747efb67ea0313c635e10bda47a2"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -172,6 +173,52 @@ version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
 
+[[package]]
+name = "axum"
+version = "0.6.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2fb79c228270dcf2426e74864cabc94babb5dbab01a4314e702d2f16540e1591"
+dependencies = [
+ "async-trait",
+ "axum-core",
+ "bitflags",
+ "bytes",
+ "futures-util",
+ "http",
+ "http-body",
+ "hyper",
+ "itoa 1.0.5",
+ "matchit",
+ "memchr",
+ "mime",
+ "percent-encoding",
+ "pin-project-lite",
+ "rustversion",
+ "serde",
+ "sync_wrapper",
+ "tower",
+ "tower-http",
+ "tower-layer",
+ "tower-service",
+]
+
+[[package]]
+name = "axum-core"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1cae3e661676ffbacb30f1a824089a8c9150e71017f7e1e38f2aa32009188d34"
+dependencies = [
+ "async-trait",
+ "bytes",
+ "futures-util",
+ "http",
+ "http-body",
+ "mime",
+ "rustversion",
+ "tower-layer",
+ "tower-service",
+]
+
 [[package]]
 name = "backtrace"
 version = "0.3.67"
@@ -193,6 +240,12 @@ version = "0.13.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"
 
+[[package]]
+name = "base64"
+version = "0.21.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a4a4ddaa51a5bc52a6948f74c06d20aaaddb71924eab79b8c97a8c556e942d6a"
+
 [[package]]
 name = "bincode"
 version = "1.3.3"
@@ -249,19 +302,19 @@ dependencies = [
 
 [[package]]
 name = "borsh"
-version = "0.9.3"
+version = "0.10.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "15bf3650200d8bffa99015595e10f1fbd17de07abbc25bb067da79e769939bfa"
+checksum = "40f9ca3698b2e4cb7c15571db0abc5551dca417a21ae8140460b50309bb2cc62"
 dependencies = [
  "borsh-derive",
- "hashbrown 0.11.2",
+ "hashbrown",
 ]
 
 [[package]]
 name = "borsh-derive"
-version = "0.9.3"
+version = "0.10.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6441c552f230375d18e3cc377677914d2ca2b0d36e52129fe15450a2dce46775"
+checksum = "598b3eacc6db9c3ee57b22707ad8f6a8d2f6d442bfe24ffeb8cbb70ca59e6a35"
 dependencies = [
  "borsh-derive-internal",
  "borsh-schema-derive-internal",
@@ -272,9 +325,9 @@ dependencies = [
 
 [[package]]
 name = "borsh-derive-internal"
-version = "0.9.3"
+version = "0.10.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5449c28a7b352f2d1e592a8a28bf139bc71afb0764a14f3c02500935d8c44065"
+checksum = "186b734fa1c9f6743e90c95d7233c9faab6360d1a96d4ffa19d9cfd1e9350f8a"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -283,9 +336,9 @@ dependencies = [
 
 [[package]]
 name = "borsh-schema-derive-internal"
-version = "0.9.3"
+version = "0.10.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cdbd5696d8bfa21d53d9fe39a714a18538bad11492a42d066dbbc395fb1951c0"
+checksum = "99b7ff1008316626f485991b960ade129253d4034014616b94f309a15366cc49"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -364,9 +417,9 @@ checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
 
 [[package]]
 name = "bytes"
-version = "1.3.0"
+version = "1.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dfb24e866b15a1af2a1b663f10c6b6b8f397a84aadb828f12e5b289ec23a3a3c"
+checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be"
 dependencies = [
  "serde",
 ]
@@ -577,7 +630,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "19b076e143e1d9538dde65da30f8481c2a6c44040edb8e02b9bf1351edb92ce3"
 dependencies = [
  "lazy_static",
- "nom",
+ "nom 5.1.2",
  "serde",
  "yaml-rust",
 ]
@@ -597,6 +650,42 @@ dependencies = [
  "winapi",
 ]
 
+[[package]]
+name = "console-api"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e57ff02e8ad8e06ab9731d5dc72dc23bef9200778eae1a89d555d8c42e5d4a86"
+dependencies = [
+ "prost",
+ "prost-types",
+ "tonic",
+ "tracing-core",
+]
+
+[[package]]
+name = "console-subscriber"
+version = "0.1.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "22a3a81dfaf6b66bce5d159eddae701e3a002f194d378cbf7be5f053c281d9be"
+dependencies = [
+ "console-api",
+ "crossbeam-channel",
+ "crossbeam-utils",
+ "futures",
+ "hdrhistogram",
+ "humantime",
+ "prost-types",
+ "serde",
+ "serde_json",
+ "thread_local",
+ "tokio",
+ "tokio-stream",
+ "tonic",
+ "tracing",
+ "tracing-core",
+ "tracing-subscriber 0.3.16",
+]
+
 [[package]]
 name = "convert_case"
 version = "0.4.0"
@@ -698,9 +787,9 @@ dependencies = [
 
 [[package]]
 name = "crossbeam-utils"
-version = "0.8.14"
+version = "0.8.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4fb766fa798726286dbbb842f174001dab8abc7b627a1dd86e0b7222a95d929f"
+checksum = "3c063cd8cc95f5c377ed0d4b49a4b21f632396ff690e8470c29b3359b346984b"
 dependencies = [
  "cfg-if",
 ]
@@ -844,7 +933,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "907076dfda823b0b36d2a1bb5f90c96660a5bbcd7729e10727f07858f22c4edc"
 dependencies = [
  "cfg-if",
- "hashbrown 0.12.3",
+ "hashbrown",
  "lock_api",
  "once_cell",
  "parking_lot_core",
@@ -1107,7 +1196,7 @@ dependencies = [
  "cfg-if",
  "libc",
  "redox_syscall 0.2.16",
- "windows-sys",
+ "windows-sys 0.42.0",
 ]
 
 [[package]]
@@ -1208,6 +1297,7 @@ name = "flowy-core"
 version = "0.1.0"
 dependencies = [
  "bytes",
+ "console-subscriber",
  "database-model",
  "flowy-client-ws",
  "flowy-database",
@@ -1630,9 +1720,9 @@ dependencies = [
 
 [[package]]
 name = "futures"
-version = "0.3.25"
+version = "0.3.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "38390104763dc37a5145a53c29c63c1290b5d316d6086ec32c293f6736051bb0"
+checksum = "13e2792b0ff0340399d58445b88fd9770e3489eff258a4cbc1523418f12abf84"
 dependencies = [
  "futures-channel",
  "futures-core",
@@ -1645,9 +1735,9 @@ dependencies = [
 
 [[package]]
 name = "futures-channel"
-version = "0.3.25"
+version = "0.3.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "52ba265a92256105f45b719605a571ffe2d1f0fea3807304b522c1d778f79eed"
+checksum = "2e5317663a9089767a1ec00a487df42e0ca174b61b4483213ac24448e4664df5"
 dependencies = [
  "futures-core",
  "futures-sink",
@@ -1655,15 +1745,15 @@ dependencies = [
 
 [[package]]
 name = "futures-core"
-version = "0.3.25"
+version = "0.3.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "04909a7a7e4633ae6c4a9ab280aeb86da1236243a77b694a49eacd659a4bd3ac"
+checksum = "ec90ff4d0fe1f57d600049061dc6bb68ed03c7d2fbd697274c41805dcb3f8608"
 
 [[package]]
 name = "futures-executor"
-version = "0.3.25"
+version = "0.3.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7acc85df6714c176ab5edf386123fafe217be88c0840ec11f199441134a074e2"
+checksum = "e8de0a35a6ab97ec8869e32a2473f4b1324459e14c29275d14b10cb1fd19b50e"
 dependencies = [
  "futures-core",
  "futures-task",
@@ -1672,15 +1762,15 @@ dependencies = [
 
 [[package]]
 name = "futures-io"
-version = "0.3.25"
+version = "0.3.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "00f5fb52a06bdcadeb54e8d3671f8888a39697dcb0b81b23b55174030427f4eb"
+checksum = "bfb8371b6fb2aeb2d280374607aeabfc99d95c72edfe51692e42d3d7f0d08531"
 
 [[package]]
 name = "futures-macro"
-version = "0.3.25"
+version = "0.3.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bdfb8ce053d86b91919aad980c220b1fb8401a9394410e1c289ed7e66b61835d"
+checksum = "95a73af87da33b5acf53acfebdc339fe592ecf5357ac7c0a7734ab9d8c876a70"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -1689,21 +1779,21 @@ dependencies = [
 
 [[package]]
 name = "futures-sink"
-version = "0.3.25"
+version = "0.3.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "39c15cf1a4aa79df40f1bb462fb39676d0ad9e366c2a33b590d7c66f4f81fcf9"
+checksum = "f310820bb3e8cfd46c80db4d7fb8353e15dfff853a127158425f31e0be6c8364"
 
 [[package]]
 name = "futures-task"
-version = "0.3.25"
+version = "0.3.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2ffb393ac5d9a6eaa9d3fdf37ae2776656b706e200c8e16b1bdb227f5198e6ea"
+checksum = "dcf79a1bf610b10f42aea489289c5a2c478a786509693b80cd39c44ccd936366"
 
 [[package]]
 name = "futures-util"
-version = "0.3.25"
+version = "0.3.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "197676987abd2f9cadff84926f410af1c183608d36641465df73ae8211dc65d6"
+checksum = "9c1d6de3acfef38d2be4b1f543f553131788603495be83da675e180c8d6b7bd1"
 dependencies = [
  "futures-channel",
  "futures-core",
@@ -2051,20 +2141,24 @@ dependencies = [
 
 [[package]]
 name = "hashbrown"
-version = "0.11.2"
+version = "0.12.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e"
+checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
 dependencies = [
  "ahash",
 ]
 
 [[package]]
-name = "hashbrown"
-version = "0.12.3"
+name = "hdrhistogram"
+version = "7.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
+checksum = "7f19b9f54f7c7f55e31401bb647626ce0cf0f67b0004982ce815b3ee72a02aa8"
 dependencies = [
- "ahash",
+ "base64 0.13.1",
+ "byteorder",
+ "flate2",
+ "nom 7.1.3",
+ "num-traits",
 ]
 
 [[package]]
@@ -2143,6 +2237,12 @@ version = "0.1.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "21dec9db110f5f872ed9699c3ecf50cf16f423502706ba5c72462e28d3157573"
 
+[[package]]
+name = "http-range-header"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0bfe8eed0a9285ef776bb792479ea3834e8b94e13d615c2f66d03dd50a435a29"
+
 [[package]]
 name = "httparse"
 version = "1.8.0"
@@ -2161,6 +2261,12 @@ version = "1.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "02296996cb8796d7c6e3bc2d9211b7802812d36999a51bb754123ead7d37d026"
 
+[[package]]
+name = "humantime"
+version = "2.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4"
+
 [[package]]
 name = "hyper"
 version = "0.14.23"
@@ -2185,6 +2291,18 @@ dependencies = [
  "want",
 ]
 
+[[package]]
+name = "hyper-timeout"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bbb958482e8c7be4bc3cf272a766a2b0bf1a6755e7a6ae777f017a31d11b13b1"
+dependencies = [
+ "hyper",
+ "pin-project-lite",
+ "tokio",
+ "tokio-io-timeout",
+]
+
 [[package]]
 name = "hyper-tls"
 version = "0.5.0"
@@ -2296,7 +2414,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399"
 dependencies = [
  "autocfg",
- "hashbrown 0.12.3",
+ "hashbrown",
  "serde",
 ]
 
@@ -2670,6 +2788,12 @@ version = "0.1.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f"
 
+[[package]]
+name = "matchit"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b87248edafb776e59e6ee64a79086f65890d3510f2c656c000bf2a7e8a0aea40"
+
 [[package]]
 name = "md5"
 version = "0.7.0"
@@ -2727,6 +2851,12 @@ version = "0.3.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d"
 
+[[package]]
+name = "minimal-lexical"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
+
 [[package]]
 name = "miniz_oxide"
 version = "0.6.2"
@@ -2745,7 +2875,7 @@ dependencies = [
  "libc",
  "log",
  "wasi 0.11.0+wasi-snapshot-preview1",
- "windows-sys",
+ "windows-sys 0.42.0",
 ]
 
 [[package]]
@@ -2826,6 +2956,16 @@ dependencies = [
  "version_check",
 ]
 
+[[package]]
+name = "nom"
+version = "7.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a"
+dependencies = [
+ "memchr",
+ "minimal-lexical",
+]
+
 [[package]]
 name = "nu-ansi-term"
 version = "0.46.0"
@@ -2936,9 +3076,9 @@ dependencies = [
 
 [[package]]
 name = "once_cell"
-version = "1.17.0"
+version = "1.17.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6f61fba1741ea2b3d6a1e3178721804bb716a68a6aeba1149b5d52e3d464ea66"
+checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3"
 
 [[package]]
 name = "opaque-debug"
@@ -2953,7 +3093,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "2078c0039e6a54a0c42c28faa984e115fb4c2d5bf2208f77d1961002df8576f8"
 dependencies = [
  "pathdiff",
- "windows-sys",
+ "windows-sys 0.42.0",
 ]
 
 [[package]]
@@ -3062,7 +3202,7 @@ dependencies = [
  "libc",
  "redox_syscall 0.2.16",
  "smallvec",
- "windows-sys",
+ "windows-sys 0.42.0",
 ]
 
 [[package]]
@@ -3317,7 +3457,7 @@ version = "1.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "bd39bc6cdc9355ad1dc5eeedefee696bb35c34caf21768741e81826c0bbd7225"
 dependencies = [
- "base64",
+ "base64 0.13.1",
  "indexmap",
  "line-wrap",
  "serde",
@@ -3401,13 +3541,45 @@ checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068"
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.49"
+version = "1.0.51"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "57a8eca9f9c4ffde41714334dee777596264c7825420f521abc92b5b5deb63a5"
+checksum = "5d727cae5b39d21da60fa540906919ad737832fe0b1c165da3a34d6548c849d6"
 dependencies = [
  "unicode-ident",
 ]
 
+[[package]]
+name = "prost"
+version = "0.11.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e48e50df39172a3e7eb17e14642445da64996989bc212b583015435d39a58537"
+dependencies = [
+ "bytes",
+ "prost-derive",
+]
+
+[[package]]
+name = "prost-derive"
+version = "0.11.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4ea9b0f8cbe5e15a8a042d030bd96668db28ecb567ec37d691971ff5731d2b1b"
+dependencies = [
+ "anyhow",
+ "itertools",
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "prost-types"
+version = "0.11.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "379119666929a1afd7a043aa6cf96fa67a6dce9af60c88095a4686dbce4c9c88"
+dependencies = [
+ "prost",
+]
+
 [[package]]
 name = "protobuf"
 version = "2.28.0"
@@ -3719,11 +3891,11 @@ dependencies = [
 
 [[package]]
 name = "reqwest"
-version = "0.11.13"
+version = "0.11.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "68cc60575865c7831548863cc02356512e3f1dc2f3f82cb837d7fc4cc8f3c97c"
+checksum = "21eed90ec8570952d53b772ecf8f206aa1ec9a3d76b2521c56c42973f2d91ee9"
 dependencies = [
- "base64",
+ "base64 0.21.0",
  "bytes",
  "encoding_rs",
  "futures-core",
@@ -3771,7 +3943,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "cec2b3485b07d96ddfd3134767b8a447b45ea4eb91448d0a35180ec0ffd5ed15"
 dependencies = [
  "bytecheck",
- "hashbrown 0.12.3",
+ "hashbrown",
  "ptr_meta",
  "rend",
  "rkyv_derive",
@@ -3791,9 +3963,9 @@ dependencies = [
 
 [[package]]
 name = "rust_decimal"
-version = "1.27.0"
+version = "1.28.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "33c321ee4e17d2b7abe12b5d20c1231db708dd36185c8a21e9de5fed6da4dbe9"
+checksum = "e13cf35f7140155d02ba4ec3294373d513a3c7baa8364c162b030e33c61520a8"
 dependencies = [
  "arrayvec 0.7.2",
  "borsh",
@@ -3884,7 +4056,7 @@ version = "0.1.21"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "713cfb06c7059f3588fb8044c0fad1d09e3c01d225e25b9220dbfdcf16dbb1b3"
 dependencies = [
- "windows-sys",
+ "windows-sys 0.42.0",
 ]
 
 [[package]]
@@ -4298,15 +4470,21 @@ dependencies = [
 
 [[package]]
 name = "syn"
-version = "1.0.107"
+version = "1.0.109"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1f4064b5b16e03ae50984a5a8ed5d4f8803e6bc1fd170a3cda91a1be4b18e3f5"
+checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
 dependencies = [
  "proc-macro2",
  "quote",
  "unicode-ident",
 ]
 
+[[package]]
+name = "sync_wrapper"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160"
+
 [[package]]
 name = "system-deps"
 version = "5.0.0"
@@ -4459,7 +4637,7 @@ version = "1.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "14388d484b6b1b5dc0f6a7d6cc6433b3b230bec85eaa576adcdf3f9fafa49251"
 dependencies = [
- "base64",
+ "base64 0.13.1",
  "brotli",
  "ico",
  "json-patch",
@@ -4728,9 +4906,9 @@ checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c"
 
 [[package]]
 name = "tokio"
-version = "1.24.1"
+version = "1.26.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1d9f76183f91ecfb55e1d7d5602bd1d979e38a3a522fe900241cf195624d67ae"
+checksum = "03201d01c3c27a29c8a5cee5b55a93ddae1ccf6f08f65365c2c918f8c1b76f64"
 dependencies = [
  "autocfg",
  "bytes",
@@ -4743,7 +4921,18 @@ dependencies = [
  "signal-hook-registry",
  "socket2",
  "tokio-macros",
- "windows-sys",
+ "tracing",
+ "windows-sys 0.45.0",
+]
+
+[[package]]
+name = "tokio-io-timeout"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "30b74022ada614a1b4834de765f9bb43877f910cc8ce4be40e89042c9223a8bf"
+dependencies = [
+ "pin-project-lite",
+ "tokio",
 ]
 
 [[package]]
@@ -4767,6 +4956,17 @@ dependencies = [
  "tokio",
 ]
 
+[[package]]
+name = "tokio-stream"
+version = "0.1.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8fb52b74f05dbf495a8fba459fdc331812b96aa086d9eb78101fa0d4569c3313"
+dependencies = [
+ "futures-core",
+ "pin-project-lite",
+ "tokio",
+]
+
 [[package]]
 name = "tokio-tungstenite"
 version = "0.15.0"
@@ -4796,13 +4996,90 @@ dependencies = [
 
 [[package]]
 name = "toml"
-version = "0.5.10"
+version = "0.5.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1333c76748e868a4d9d1017b5ab53171dfd095f70c712fdb4653a406547f598f"
+checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234"
 dependencies = [
  "serde",
 ]
 
+[[package]]
+name = "tonic"
+version = "0.8.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f219fad3b929bef19b1f86fbc0358d35daed8f2cac972037ac0dc10bbb8d5fb"
+dependencies = [
+ "async-stream",
+ "async-trait",
+ "axum",
+ "base64 0.13.1",
+ "bytes",
+ "futures-core",
+ "futures-util",
+ "h2",
+ "http",
+ "http-body",
+ "hyper",
+ "hyper-timeout",
+ "percent-encoding",
+ "pin-project",
+ "prost",
+ "prost-derive",
+ "tokio",
+ "tokio-stream",
+ "tokio-util",
+ "tower",
+ "tower-layer",
+ "tower-service",
+ "tracing",
+ "tracing-futures",
+]
+
+[[package]]
+name = "tower"
+version = "0.4.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c"
+dependencies = [
+ "futures-core",
+ "futures-util",
+ "indexmap",
+ "pin-project",
+ "pin-project-lite",
+ "rand 0.8.5",
+ "slab",
+ "tokio",
+ "tokio-util",
+ "tower-layer",
+ "tower-service",
+ "tracing",
+]
+
+[[package]]
+name = "tower-http"
+version = "0.3.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f873044bf02dd1e8239e9c1293ea39dad76dc594ec16185d0a1bf31d8dc8d858"
+dependencies = [
+ "bitflags",
+ "bytes",
+ "futures-core",
+ "futures-util",
+ "http",
+ "http-body",
+ "http-range-header",
+ "pin-project-lite",
+ "tower",
+ "tower-layer",
+ "tower-service",
+]
+
+[[package]]
+name = "tower-layer"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0"
+
 [[package]]
 name = "tower-service"
 version = "0.3.2"
@@ -4871,6 +5148,16 @@ dependencies = [
  "valuable",
 ]
 
+[[package]]
+name = "tracing-futures"
+version = "0.2.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2"
+dependencies = [
+ "pin-project",
+ "tracing",
+]
+
 [[package]]
 name = "tracing-log"
 version = "0.1.3"
@@ -4953,7 +5240,7 @@ version = "0.14.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a0b2d8558abd2e276b0a8df5c05a2ec762609344191e5fd23e292c910e9165b5"
 dependencies = [
- "base64",
+ "base64 0.13.1",
  "byteorder",
  "bytes",
  "http",
@@ -5459,6 +5746,30 @@ dependencies = [
  "windows_x86_64_msvc 0.42.1",
 ]
 
+[[package]]
+name = "windows-sys"
+version = "0.45.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0"
+dependencies = [
+ "windows-targets",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.42.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8e2522491fbfcd58cc84d47aeb2958948c4b8982e9a2d8a2a35bbaed431390e7"
+dependencies = [
+ "windows_aarch64_gnullvm",
+ "windows_aarch64_msvc 0.42.1",
+ "windows_i686_gnu 0.42.1",
+ "windows_i686_msvc 0.42.1",
+ "windows_x86_64_gnu 0.42.1",
+ "windows_x86_64_gnullvm",
+ "windows_x86_64_msvc 0.42.1",
+]
+
 [[package]]
 name = "windows-tokens"
 version = "0.39.0"
@@ -5561,7 +5872,7 @@ version = "0.23.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "4c1ad8e2424f554cc5bdebe8aa374ef5b433feff817aebabca0389961fc7ef98"
 dependencies = [
- "base64",
+ "base64 0.13.1",
  "block",
  "cocoa",
  "core-graphics",

+ 1 - 1
frontend/appflowy_tauri/src-tauri/Cargo.toml

@@ -18,7 +18,7 @@ serde_json = "1.0"
 serde = { version = "1.0", features = ["derive"] }
 tauri = { version = "1.2", features = ["shell-open"] }
 tauri-utils = "1.2"
-bytes = { version = "1.0" }
+bytes = { version = "1.4" }
 tracing = { version = "0.1", features = ["log"] }
 lib-dispatch = { path = "../../rust-lib/lib-dispatch", features = ["use_serde"] }
 flowy-core = { path = "../../rust-lib/flowy-core", features = ["rev-sqlite","ts"] }

+ 2 - 2
frontend/rust-lib/.cargo/config.toml

@@ -1,5 +1,5 @@
-#[build]
-#target-dir = "./bin"
+[build]
+rustflags = ["--cfg", "tokio_unstable"]
 
 [target.x86_64-apple-darwin]
 rustflags=["-C", "link-arg=-mmacosx-version-min=10.11"]

+ 444 - 85
frontend/rust-lib/Cargo.lock

@@ -85,19 +85,20 @@ checksum = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6"
 
 [[package]]
 name = "async-stream"
-version = "0.3.3"
+version = "0.3.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dad5c83079eae9969be7fadefe640a1c566901f05ff91ab221de4b6f68d9507e"
+checksum = "ad445822218ce64be7a341abfb0b1ea43b5c23aa83902542a4542e78309d8e5e"
 dependencies = [
  "async-stream-impl",
  "futures-core",
+ "pin-project-lite",
 ]
 
 [[package]]
 name = "async-stream-impl"
-version = "0.3.3"
+version = "0.3.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "10f203db73a71dfa2fb6dd22763990fa26f3d2625a6da2da900d23b87d26be27"
+checksum = "e4655ae1a7b0cdf149156f780c5bf3f1352bc53cbd9e0a361a7ef7b22947e965"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -106,9 +107,9 @@ dependencies = [
 
 [[package]]
 name = "async-trait"
-version = "0.1.61"
+version = "0.1.64"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "705339e0e4a9690e2908d2b3d049d85682cf19fbd5782494498fbf7003a6a282"
+checksum = "1cd7fce9ba8c3c042128ce72d8b2ddbf3a05747efb67ea0313c635e10bda47a2"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -143,9 +144,55 @@ dependencies = [
 
 [[package]]
 name = "autocfg"
-version = "1.0.1"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
+
+[[package]]
+name = "axum"
+version = "0.6.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2fb79c228270dcf2426e74864cabc94babb5dbab01a4314e702d2f16540e1591"
+dependencies = [
+ "async-trait",
+ "axum-core",
+ "bitflags",
+ "bytes",
+ "futures-util",
+ "http",
+ "http-body",
+ "hyper",
+ "itoa 1.0.5",
+ "matchit",
+ "memchr",
+ "mime",
+ "percent-encoding",
+ "pin-project-lite",
+ "rustversion",
+ "serde",
+ "sync_wrapper",
+ "tower",
+ "tower-http",
+ "tower-layer",
+ "tower-service",
+]
+
+[[package]]
+name = "axum-core"
+version = "0.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a"
+checksum = "1cae3e661676ffbacb30f1a824089a8c9150e71017f7e1e38f2aa32009188d34"
+dependencies = [
+ "async-trait",
+ "bytes",
+ "futures-util",
+ "http",
+ "http-body",
+ "mime",
+ "rustversion",
+ "tower-layer",
+ "tower-service",
+]
 
 [[package]]
 name = "backtrace"
@@ -168,6 +215,21 @@ version = "0.13.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"
 
+[[package]]
+name = "base64"
+version = "0.21.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a4a4ddaa51a5bc52a6948f74c06d20aaaddb71924eab79b8c97a8c556e942d6a"
+
+[[package]]
+name = "basic-toml"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2e819b667739967cd44d308b8c7b71305d8bb0729ac44a248aa08f33d01950b4"
+dependencies = [
+ "serde",
+]
+
 [[package]]
 name = "bincode"
 version = "1.3.3"
@@ -218,19 +280,19 @@ dependencies = [
 
 [[package]]
 name = "borsh"
-version = "0.9.3"
+version = "0.10.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "15bf3650200d8bffa99015595e10f1fbd17de07abbc25bb067da79e769939bfa"
+checksum = "40f9ca3698b2e4cb7c15571db0abc5551dca417a21ae8140460b50309bb2cc62"
 dependencies = [
  "borsh-derive",
- "hashbrown 0.11.2",
+ "hashbrown",
 ]
 
 [[package]]
 name = "borsh-derive"
-version = "0.9.3"
+version = "0.10.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6441c552f230375d18e3cc377677914d2ca2b0d36e52129fe15450a2dce46775"
+checksum = "598b3eacc6db9c3ee57b22707ad8f6a8d2f6d442bfe24ffeb8cbb70ca59e6a35"
 dependencies = [
  "borsh-derive-internal",
  "borsh-schema-derive-internal",
@@ -241,9 +303,9 @@ dependencies = [
 
 [[package]]
 name = "borsh-derive-internal"
-version = "0.9.3"
+version = "0.10.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5449c28a7b352f2d1e592a8a28bf139bc71afb0764a14f3c02500935d8c44065"
+checksum = "186b734fa1c9f6743e90c95d7233c9faab6360d1a96d4ffa19d9cfd1e9350f8a"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -252,9 +314,9 @@ dependencies = [
 
 [[package]]
 name = "borsh-schema-derive-internal"
-version = "0.9.3"
+version = "0.10.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cdbd5696d8bfa21d53d9fe39a714a18538bad11492a42d066dbbc395fb1951c0"
+checksum = "99b7ff1008316626f485991b960ade129253d4034014616b94f309a15366cc49"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -318,9 +380,9 @@ checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
 
 [[package]]
 name = "bytes"
-version = "1.3.0"
+version = "1.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dfb24e866b15a1af2a1b663f10c6b6b8f397a84aadb828f12e5b289ec23a3a3c"
+checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be"
 dependencies = [
  "serde",
 ]
@@ -380,15 +442,6 @@ dependencies = [
  "phf_codegen",
 ]
 
-[[package]]
-name = "claim"
-version = "0.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f81099d6bb72e1df6d50bb2347224b666a670912bb7f06dbe867a4a070ab3ce8"
-dependencies = [
- "autocfg",
-]
-
 [[package]]
 name = "clap"
 version = "2.34.0"
@@ -455,7 +508,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "19b076e143e1d9538dde65da30f8481c2a6c44040edb8e02b9bf1351edb92ce3"
 dependencies = [
  "lazy_static",
- "nom",
+ "nom 5.1.2",
  "serde",
  "yaml-rust",
 ]
@@ -475,6 +528,42 @@ dependencies = [
  "winapi",
 ]
 
+[[package]]
+name = "console-api"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e57ff02e8ad8e06ab9731d5dc72dc23bef9200778eae1a89d555d8c42e5d4a86"
+dependencies = [
+ "prost",
+ "prost-types",
+ "tonic",
+ "tracing-core",
+]
+
+[[package]]
+name = "console-subscriber"
+version = "0.1.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "22a3a81dfaf6b66bce5d159eddae701e3a002f194d378cbf7be5f053c281d9be"
+dependencies = [
+ "console-api",
+ "crossbeam-channel",
+ "crossbeam-utils",
+ "futures",
+ "hdrhistogram",
+ "humantime",
+ "prost-types",
+ "serde",
+ "serde_json",
+ "thread_local",
+ "tokio",
+ "tokio-stream",
+ "tonic",
+ "tracing",
+ "tracing-core",
+ "tracing-subscriber 0.3.16",
+]
+
 [[package]]
 name = "convert_case"
 version = "0.4.0"
@@ -506,6 +595,15 @@ dependencies = [
  "libc",
 ]
 
+[[package]]
+name = "crc32fast"
+version = "1.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d"
+dependencies = [
+ "cfg-if",
+]
+
 [[package]]
 name = "criterion"
 version = "0.3.6"
@@ -578,9 +676,9 @@ dependencies = [
 
 [[package]]
 name = "crossbeam-utils"
-version = "0.8.14"
+version = "0.8.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4fb766fa798726286dbbb842f174001dab8abc7b627a1dd86e0b7222a95d929f"
+checksum = "3c063cd8cc95f5c377ed0d4b49a4b21f632396ff690e8470c29b3359b346984b"
 dependencies = [
  "cfg-if",
 ]
@@ -908,6 +1006,16 @@ dependencies = [
  "instant",
 ]
 
+[[package]]
+name = "flate2"
+version = "1.0.25"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a8a2db397cb1c8772f31494cb8917e48cd1e64f0fa7efac59fbd741a0a8ce841"
+dependencies = [
+ "crc32fast",
+ "miniz_oxide",
+]
+
 [[package]]
 name = "flowy-ast"
 version = "0.1.0"
@@ -996,6 +1104,7 @@ name = "flowy-core"
 version = "0.1.0"
 dependencies = [
  "bytes",
+ "console-subscriber",
  "database-model",
  "flowy-client-ws",
  "flowy-database",
@@ -1129,7 +1238,7 @@ dependencies = [
  "strum_macros",
  "tokio",
  "tracing",
- "tracing-subscriber",
+ "tracing-subscriber 0.2.25",
  "unicode-segmentation",
  "url",
  "ws-model",
@@ -1365,7 +1474,6 @@ name = "flowy-test"
 version = "0.1.0"
 dependencies = [
  "bytes",
- "claim",
  "fake",
  "flowy-client-sync",
  "flowy-core",
@@ -1462,9 +1570,9 @@ dependencies = [
 
 [[package]]
 name = "futures"
-version = "0.3.25"
+version = "0.3.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "38390104763dc37a5145a53c29c63c1290b5d316d6086ec32c293f6736051bb0"
+checksum = "13e2792b0ff0340399d58445b88fd9770e3489eff258a4cbc1523418f12abf84"
 dependencies = [
  "futures-channel",
  "futures-core",
@@ -1477,9 +1585,9 @@ dependencies = [
 
 [[package]]
 name = "futures-channel"
-version = "0.3.25"
+version = "0.3.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "52ba265a92256105f45b719605a571ffe2d1f0fea3807304b522c1d778f79eed"
+checksum = "2e5317663a9089767a1ec00a487df42e0ca174b61b4483213ac24448e4664df5"
 dependencies = [
  "futures-core",
  "futures-sink",
@@ -1487,15 +1595,15 @@ dependencies = [
 
 [[package]]
 name = "futures-core"
-version = "0.3.25"
+version = "0.3.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "04909a7a7e4633ae6c4a9ab280aeb86da1236243a77b694a49eacd659a4bd3ac"
+checksum = "ec90ff4d0fe1f57d600049061dc6bb68ed03c7d2fbd697274c41805dcb3f8608"
 
 [[package]]
 name = "futures-executor"
-version = "0.3.25"
+version = "0.3.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7acc85df6714c176ab5edf386123fafe217be88c0840ec11f199441134a074e2"
+checksum = "e8de0a35a6ab97ec8869e32a2473f4b1324459e14c29275d14b10cb1fd19b50e"
 dependencies = [
  "futures-core",
  "futures-task",
@@ -1504,15 +1612,15 @@ dependencies = [
 
 [[package]]
 name = "futures-io"
-version = "0.3.25"
+version = "0.3.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "00f5fb52a06bdcadeb54e8d3671f8888a39697dcb0b81b23b55174030427f4eb"
+checksum = "bfb8371b6fb2aeb2d280374607aeabfc99d95c72edfe51692e42d3d7f0d08531"
 
 [[package]]
 name = "futures-macro"
-version = "0.3.25"
+version = "0.3.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bdfb8ce053d86b91919aad980c220b1fb8401a9394410e1c289ed7e66b61835d"
+checksum = "95a73af87da33b5acf53acfebdc339fe592ecf5357ac7c0a7734ab9d8c876a70"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -1521,21 +1629,21 @@ dependencies = [
 
 [[package]]
 name = "futures-sink"
-version = "0.3.25"
+version = "0.3.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "39c15cf1a4aa79df40f1bb462fb39676d0ad9e366c2a33b590d7c66f4f81fcf9"
+checksum = "f310820bb3e8cfd46c80db4d7fb8353e15dfff853a127158425f31e0be6c8364"
 
 [[package]]
 name = "futures-task"
-version = "0.3.25"
+version = "0.3.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2ffb393ac5d9a6eaa9d3fdf37ae2776656b706e200c8e16b1bdb227f5198e6ea"
+checksum = "dcf79a1bf610b10f42aea489289c5a2c478a786509693b80cd39c44ccd936366"
 
 [[package]]
 name = "futures-util"
-version = "0.3.25"
+version = "0.3.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "197676987abd2f9cadff84926f410af1c183608d36641465df73ae8211dc65d6"
+checksum = "9c1d6de3acfef38d2be4b1f543f553131788603495be83da675e180c8d6b7bd1"
 dependencies = [
  "futures-channel",
  "futures-core",
@@ -1654,20 +1762,24 @@ checksum = "eabb4a44450da02c90444cf74558da904edde8fb4e9035a9a6a4e15445af0bd7"
 
 [[package]]
 name = "hashbrown"
-version = "0.11.2"
+version = "0.12.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e"
+checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
 dependencies = [
  "ahash",
 ]
 
 [[package]]
-name = "hashbrown"
-version = "0.12.3"
+name = "hdrhistogram"
+version = "7.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
+checksum = "7f19b9f54f7c7f55e31401bb647626ce0cf0f67b0004982ce815b3ee72a02aa8"
 dependencies = [
- "ahash",
+ "base64 0.13.1",
+ "byteorder",
+ "flate2",
+ "nom 7.1.3",
+ "num-traits",
 ]
 
 [[package]]
@@ -1729,6 +1841,12 @@ dependencies = [
  "thiserror",
 ]
 
+[[package]]
+name = "http-range-header"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0bfe8eed0a9285ef776bb792479ea3834e8b94e13d615c2f66d03dd50a435a29"
+
 [[package]]
 name = "httparse"
 version = "1.8.0"
@@ -1747,6 +1865,12 @@ version = "1.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "02296996cb8796d7c6e3bc2d9211b7802812d36999a51bb754123ead7d37d026"
 
+[[package]]
+name = "humantime"
+version = "2.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4"
+
 [[package]]
 name = "hyper"
 version = "0.14.23"
@@ -1771,6 +1895,18 @@ dependencies = [
  "want",
 ]
 
+[[package]]
+name = "hyper-timeout"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bbb958482e8c7be4bc3cf272a766a2b0bf1a6755e7a6ae777f017a31d11b13b1"
+dependencies = [
+ "hyper",
+ "pin-project-lite",
+ "tokio",
+ "tokio-io-timeout",
+]
+
 [[package]]
 name = "hyper-tls"
 version = "0.5.0"
@@ -1859,7 +1995,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399"
 dependencies = [
  "autocfg",
- "hashbrown 0.12.3",
+ "hashbrown",
  "serde",
 ]
 
@@ -1985,7 +2121,7 @@ dependencies = [
  "tracing-bunyan-formatter",
  "tracing-core",
  "tracing-log",
- "tracing-subscriber",
+ "tracing-subscriber 0.2.25",
 ]
 
 [[package]]
@@ -2089,12 +2225,27 @@ dependencies = [
  "regex-automata",
 ]
 
+[[package]]
+name = "matchers"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558"
+dependencies = [
+ "regex-automata",
+]
+
 [[package]]
 name = "matches"
 version = "0.1.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f"
 
+[[package]]
+name = "matchit"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b87248edafb776e59e6ee64a79086f65890d3510f2c656c000bf2a7e8a0aea40"
+
 [[package]]
 name = "md5"
 version = "0.7.0"
@@ -2143,6 +2294,12 @@ version = "0.3.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d"
 
+[[package]]
+name = "minimal-lexical"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
+
 [[package]]
 name = "miniz_oxide"
 version = "0.6.2"
@@ -2161,7 +2318,7 @@ dependencies = [
  "libc",
  "log",
  "wasi 0.11.0+wasi-snapshot-preview1",
- "windows-sys",
+ "windows-sys 0.42.0",
 ]
 
 [[package]]
@@ -2202,6 +2359,16 @@ dependencies = [
  "version_check",
 ]
 
+[[package]]
+name = "nom"
+version = "7.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a"
+dependencies = [
+ "memchr",
+ "minimal-lexical",
+]
+
 [[package]]
 name = "num-integer"
 version = "0.1.45"
@@ -2242,9 +2409,9 @@ dependencies = [
 
 [[package]]
 name = "once_cell"
-version = "1.17.0"
+version = "1.17.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6f61fba1741ea2b3d6a1e3178721804bb716a68a6aeba1149b5d52e3d464ea66"
+checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3"
 
 [[package]]
 name = "oorandom"
@@ -2374,7 +2541,7 @@ dependencies = [
  "libc",
  "redox_syscall 0.2.16",
  "smallvec",
- "windows-sys",
+ "windows-sys 0.42.0",
 ]
 
 [[package]]
@@ -2639,6 +2806,38 @@ dependencies = [
  "unicode-ident",
 ]
 
+[[package]]
+name = "prost"
+version = "0.11.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e48e50df39172a3e7eb17e14642445da64996989bc212b583015435d39a58537"
+dependencies = [
+ "bytes",
+ "prost-derive",
+]
+
+[[package]]
+name = "prost-derive"
+version = "0.11.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4ea9b0f8cbe5e15a8a042d030bd96668db28ecb567ec37d691971ff5731d2b1b"
+dependencies = [
+ "anyhow",
+ "itertools",
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "prost-types"
+version = "0.11.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "379119666929a1afd7a043aa6cf96fa67a6dce9af60c88095a4686dbce4c9c88"
+dependencies = [
+ "prost",
+]
+
 [[package]]
 name = "protobuf"
 version = "2.28.0"
@@ -2952,11 +3151,11 @@ dependencies = [
 
 [[package]]
 name = "reqwest"
-version = "0.11.13"
+version = "0.11.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "68cc60575865c7831548863cc02356512e3f1dc2f3f82cb837d7fc4cc8f3c97c"
+checksum = "21eed90ec8570952d53b772ecf8f206aa1ec9a3d76b2521c56c42973f2d91ee9"
 dependencies = [
- "base64",
+ "base64 0.21.0",
  "bytes",
  "encoding_rs",
  "futures-core",
@@ -3004,7 +3203,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "cec2b3485b07d96ddfd3134767b8a447b45ea4eb91448d0a35180ec0ffd5ed15"
 dependencies = [
  "bytecheck",
- "hashbrown 0.12.3",
+ "hashbrown",
  "ptr_meta",
  "rend",
  "rkyv_derive",
@@ -3024,9 +3223,9 @@ dependencies = [
 
 [[package]]
 name = "rust_decimal"
-version = "1.27.0"
+version = "1.28.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "33c321ee4e17d2b7abe12b5d20c1231db708dd36185c8a21e9de5fed6da4dbe9"
+checksum = "e13cf35f7140155d02ba4ec3294373d513a3c7baa8364c162b030e33c61520a8"
 dependencies = [
  "arrayvec 0.7.2",
  "borsh",
@@ -3065,6 +3264,12 @@ dependencies = [
  "semver",
 ]
 
+[[package]]
+name = "rustversion"
+version = "1.0.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5583e89e108996506031660fe09baa5011b9dd0341b89029313006d1fb508d70"
+
 [[package]]
 name = "rusty-money"
 version = "0.4.1"
@@ -3096,7 +3301,7 @@ version = "0.1.21"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "713cfb06c7059f3588fb8044c0fad1d09e3c01d225e25b9220dbfdcf16dbb1b3"
 dependencies = [
- "windows-sys",
+ "windows-sys 0.42.0",
 ]
 
 [[package]]
@@ -3366,15 +3571,21 @@ dependencies = [
 
 [[package]]
 name = "syn"
-version = "1.0.107"
+version = "1.0.109"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1f4064b5b16e03ae50984a5a8ed5d4f8803e6bc1fd170a3cda91a1be4b18e3f5"
+checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
 dependencies = [
  "proc-macro2",
  "quote",
  "unicode-ident",
 ]
 
+[[package]]
+name = "sync_wrapper"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160"
+
 [[package]]
 name = "tempfile"
 version = "3.3.0"
@@ -3517,22 +3728,33 @@ checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c"
 
 [[package]]
 name = "tokio"
-version = "1.19.2"
+version = "1.26.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c51a52ed6686dd62c320f9b89299e9dfb46f730c7a48e635c19f21d116cb1439"
+checksum = "03201d01c3c27a29c8a5cee5b55a93ddae1ccf6f08f65365c2c918f8c1b76f64"
 dependencies = [
+ "autocfg",
  "bytes",
  "libc",
  "memchr",
  "mio",
  "num_cpus",
- "once_cell",
  "parking_lot 0.12.1",
  "pin-project-lite",
  "signal-hook-registry",
  "socket2",
  "tokio-macros",
- "winapi",
+ "tracing",
+ "windows-sys 0.45.0",
+]
+
+[[package]]
+name = "tokio-io-timeout"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "30b74022ada614a1b4834de765f9bb43877f910cc8ce4be40e89042c9223a8bf"
+dependencies = [
+ "pin-project-lite",
+ "tokio",
 ]
 
 [[package]]
@@ -3556,6 +3778,17 @@ dependencies = [
  "tokio",
 ]
 
+[[package]]
+name = "tokio-stream"
+version = "0.1.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8fb52b74f05dbf495a8fba459fdc331812b96aa086d9eb78101fa0d4569c3313"
+dependencies = [
+ "futures-core",
+ "pin-project-lite",
+ "tokio",
+]
+
 [[package]]
 name = "tokio-tungstenite"
 version = "0.15.0"
@@ -3585,13 +3818,90 @@ dependencies = [
 
 [[package]]
 name = "toml"
-version = "0.5.10"
+version = "0.5.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1333c76748e868a4d9d1017b5ab53171dfd095f70c712fdb4653a406547f598f"
+checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234"
 dependencies = [
  "serde",
 ]
 
+[[package]]
+name = "tonic"
+version = "0.8.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f219fad3b929bef19b1f86fbc0358d35daed8f2cac972037ac0dc10bbb8d5fb"
+dependencies = [
+ "async-stream",
+ "async-trait",
+ "axum",
+ "base64 0.13.1",
+ "bytes",
+ "futures-core",
+ "futures-util",
+ "h2",
+ "http",
+ "http-body",
+ "hyper",
+ "hyper-timeout",
+ "percent-encoding",
+ "pin-project",
+ "prost",
+ "prost-derive",
+ "tokio",
+ "tokio-stream",
+ "tokio-util",
+ "tower",
+ "tower-layer",
+ "tower-service",
+ "tracing",
+ "tracing-futures",
+]
+
+[[package]]
+name = "tower"
+version = "0.4.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c"
+dependencies = [
+ "futures-core",
+ "futures-util",
+ "indexmap",
+ "pin-project",
+ "pin-project-lite",
+ "rand 0.8.5",
+ "slab",
+ "tokio",
+ "tokio-util",
+ "tower-layer",
+ "tower-service",
+ "tracing",
+]
+
+[[package]]
+name = "tower-http"
+version = "0.3.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f873044bf02dd1e8239e9c1293ea39dad76dc594ec16185d0a1bf31d8dc8d858"
+dependencies = [
+ "bitflags",
+ "bytes",
+ "futures-core",
+ "futures-util",
+ "http",
+ "http-body",
+ "http-range-header",
+ "pin-project-lite",
+ "tower",
+ "tower-layer",
+ "tower-service",
+]
+
+[[package]]
+name = "tower-layer"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0"
+
 [[package]]
 name = "tower-service"
 version = "0.3.2"
@@ -3619,7 +3929,7 @@ checksum = "9965507e507f12c8901432a33e31131222abac31edd90cabbcf85cf544b7127a"
 dependencies = [
  "chrono",
  "crossbeam-channel",
- "tracing-subscriber",
+ "tracing-subscriber 0.2.25",
 ]
 
 [[package]]
@@ -3647,7 +3957,7 @@ dependencies = [
  "tracing",
  "tracing-core",
  "tracing-log",
- "tracing-subscriber",
+ "tracing-subscriber 0.2.25",
 ]
 
 [[package]]
@@ -3660,6 +3970,16 @@ dependencies = [
  "valuable",
 ]
 
+[[package]]
+name = "tracing-futures"
+version = "0.2.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2"
+dependencies = [
+ "pin-project",
+ "tracing",
+]
+
 [[package]]
 name = "tracing-log"
 version = "0.1.3"
@@ -3690,7 +4010,7 @@ dependencies = [
  "ansi_term",
  "chrono",
  "lazy_static",
- "matchers",
+ "matchers 0.0.1",
  "regex",
  "serde",
  "serde_json",
@@ -3703,6 +4023,21 @@ dependencies = [
  "tracing-serde",
 ]
 
+[[package]]
+name = "tracing-subscriber"
+version = "0.3.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a6176eae26dd70d0c919749377897b54a9276bd7061339665dd68777926b5a70"
+dependencies = [
+ "matchers 0.1.0",
+ "once_cell",
+ "regex",
+ "sharded-slab",
+ "thread_local",
+ "tracing",
+ "tracing-core",
+]
+
 [[package]]
 name = "try-lock"
 version = "0.2.4"
@@ -3711,17 +4046,17 @@ checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed"
 
 [[package]]
 name = "trybuild"
-version = "1.0.75"
+version = "1.0.77"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f1212c215a87a183687a7cc7065901b1a98da6b37277d51a1b5faedbb4efd4f3"
+checksum = "a44da5a6f2164c8e14d3bbc0657d69c5966af9f5f6930d4f600b1f5c4a673413"
 dependencies = [
+ "basic-toml",
  "glob",
  "once_cell",
  "serde",
  "serde_derive",
  "serde_json",
  "termcolor",
- "toml",
 ]
 
 [[package]]
@@ -3730,7 +4065,7 @@ version = "0.14.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a0b2d8558abd2e276b0a8df5c05a2ec762609344191e5fd23e292c910e9165b5"
 dependencies = [
- "base64",
+ "base64 0.13.1",
  "byteorder",
  "bytes",
  "http",
@@ -4083,6 +4418,30 @@ dependencies = [
  "windows_x86_64_msvc",
 ]
 
+[[package]]
+name = "windows-sys"
+version = "0.45.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0"
+dependencies = [
+ "windows-targets",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.42.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8e2522491fbfcd58cc84d47aeb2958948c4b8982e9a2d8a2a35bbaed431390e7"
+dependencies = [
+ "windows_aarch64_gnullvm",
+ "windows_aarch64_msvc",
+ "windows_i686_gnu",
+ "windows_i686_msvc",
+ "windows_x86_64_gnu",
+ "windows_x86_64_gnullvm",
+ "windows_x86_64_msvc",
+]
+
 [[package]]
 name = "windows_aarch64_gnullvm"
 version = "0.42.1"

+ 6 - 6
frontend/rust-lib/dart-ffi/Cargo.toml

@@ -13,14 +13,14 @@ crate-type = ["staticlib"]
 
 [dependencies]
 allo-isolate = { version = "^0.1", features = ["catch-unwind"] }
-byteorder = { version = "1.3.4" }
-protobuf = { version = "2.20.0" }
-tokio = { version = "1", features = ["rt", "rt-multi-thread"] }
-log = "0.4.14"
+byteorder = { version = "1.4.3" }
+protobuf = { version = "2.28.0" }
+tokio = { version = "1.26", features = ["rt", "rt-multi-thread"] }
+log = "0.4.17"
 serde = { version = "1.0", features = ["derive"] }
 serde_json = { version = "1.0" }
-bytes = { version = "1.0" }
-crossbeam-utils = "0.8.7"
+bytes = { version = "1.4" }
+crossbeam-utils = "0.8.15"
 lazy_static = "1.4.0"
 parking_lot = "0.12.1"
 tracing = { version = "0.1", features = ["log"] }

+ 2 - 2
frontend/rust-lib/flowy-ast/Cargo.toml

@@ -6,6 +6,6 @@ edition = "2018"
 # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
 
 [dependencies]
-syn = { version = "1.0.60", features = ["extra-traits", "parsing", "derive", "full"]}
+syn = { version = "1.0.109", features = ["extra-traits", "parsing", "derive", "full"]}
 quote = "1.0"
-proc-macro2 = "1.0"
+proc-macro2 = "1.0"

+ 4 - 4
frontend/rust-lib/flowy-client-sync/Cargo.toml

@@ -14,14 +14,14 @@ database-model = { path = "../../../shared-lib/database-model" }
 revision-model = { path = "../../../shared-lib/revision-model" }
 document-model = { path = "../../../shared-lib/document-model" }
 flowy-sync = { path = "../../../shared-lib/flowy-sync" }
-bytes = "1.0"
-tokio = { version = "1", features = ["full"] }
+bytes = "1.4"
+tokio = { version = "1.26", features = ["full"] }
 serde = { version = "1.0", features = ["derive", "rc"] }
 serde_json = {version = "1.0"}
 dissimilar = "1.0"
 tracing = { version = "0.1", features = ["log"] }
-url = "2.2"
+url = "2.3"
 strum = "0.21"
 strum_macros = "0.21"
-chrono = "0.4.19"
+chrono = "0.4.23"
 parking_lot = "0.12.1"

+ 7 - 7
frontend/rust-lib/flowy-codegen/Cargo.toml

@@ -6,7 +6,7 @@ edition = "2021"
 # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
 
 [dependencies]
-log = "0.4.14"
+log = "0.4.17"
 serde = { version = "1.0", features = ["derive"]}
 serde_json = "1.0"
 flowy-ast = { path = "../flowy-ast"}
@@ -15,16 +15,16 @@ quote = "1.0"
 cmd_lib = { version = "1.3.0", optional = true }
 protoc-rust = { version = "2", optional = true }
 walkdir = { version = "2", optional = true }
-similar = { version = "1.2.2", optional = true }
-syn = { version = "1.0.60", features = ["extra-traits", "parsing", "derive", "full"] }
+similar = { version = "1.3.0", optional = true }
+syn = { version = "1.0.109", features = ["extra-traits", "parsing", "derive", "full"] }
 fancy-regex = { version = "0.10.0", optional = true }
 lazy_static = { version = "1.4.0", optional = true }
-tera = { version = "1.5.0", optional = true}
+tera = { version = "1.17.1", optional = true}
 itertools = { version = "0.10", optional = true }
 phf = { version = "0.8.0", features = ["macros"], optional = true }
-console = {version = "0.14.0", optional = true}
+console = {version = "0.14.1", optional = true}
 protoc-bin-vendored = { version = "3.0", optional = true }
-toml = {version = "0.5.8", optional = true}
+toml = {version = "0.5.11", optional = true}
 
 
 
@@ -47,4 +47,4 @@ proto_gen = [
 dart_event = ["walkdir", "tera", ]
 dart = ["proto_gen", "dart_event"]
 ts_event = ["walkdir", "tera", ]
-ts = ["proto_gen", "ts_event"]
+ts = ["proto_gen", "ts_event"]

+ 64 - 63
frontend/rust-lib/flowy-core/Cargo.toml

@@ -1,63 +1,64 @@
-[package]
-name = "flowy-core"
-version = "0.1.0"
-edition = "2018"
-
-# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
-
-[dependencies]
-lib-dispatch = { path = "../lib-dispatch" }
-lib-log = { path = "../lib-log" }
-flowy-user = { path = "../flowy-user" }
-flowy-net = { path = "../flowy-net" }
-flowy-folder = { path = "../flowy-folder" }
-flowy-database = { path = "../flowy-database" }
-database-model = { path = "../../../shared-lib/database-model" }
-user-model = { path = "../../../shared-lib/user-model" }
-flowy-client-ws = { path = "../../../shared-lib/flowy-client-ws" }
-flowy-sqlite = { path = "../flowy-sqlite", optional = true }
-flowy-document = { path = "../flowy-document" }
-flowy-revision = { path = "../flowy-revision" }
-flowy-error = { path = "../flowy-error", features = ["adaptor_ws"] }
-flowy-task = { path = "../flowy-task" }
-
-tracing = { version = "0.1", features = ["log"] }
-futures-core = { version = "0.3", default-features = false }
-bytes = "1.0"
-tokio = { version = "1", features = ["rt"] }
-parking_lot = "0.12.1"
-
-revision-model = { path = "../../../shared-lib/revision-model" }
-ws-model = { path = "../../../shared-lib/ws-model" }
-lib-ws = { path = "../../../shared-lib/lib-ws" }
-lib-infra = { path = "../../../shared-lib/lib-infra" }
-serde = "1.0"
-serde_json = "1.0"
-
-[features]
-default = ["rev-sqlite"]
-http_sync = ["flowy-folder/cloud_sync", "flowy-document/cloud_sync"]
-native_sync = ["flowy-folder/cloud_sync", "flowy-document/cloud_sync"]
-use_bunyan = ["lib-log/use_bunyan"]
-dart = [
-    "flowy-user/dart",
-    "flowy-net/dart",
-    "flowy-folder/dart",
-    "flowy-database/dart",
-    "flowy-document/dart",
-]
-ts = [
-    "flowy-user/ts",
-    "flowy-net/ts",
-    "flowy-folder/ts",
-    "flowy-database/ts",
-    "flowy-document/ts",
-]
-rev-sqlite = [
-    "flowy-sqlite",
-    "flowy-user/rev-sqlite",
-    "flowy-folder/rev-sqlite",
-    "flowy-database/rev-sqlite",
-    "flowy-document/rev-sqlite",
-]
-openssl_vendored = ["flowy-sqlite/openssl_vendored"]
+[package]
+name = "flowy-core"
+version = "0.1.0"
+edition = "2018"
+
+# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
+
+[dependencies]
+lib-dispatch = { path = "../lib-dispatch" }
+lib-log = { path = "../lib-log" }
+flowy-user = { path = "../flowy-user" }
+flowy-net = { path = "../flowy-net" }
+flowy-folder = { path = "../flowy-folder" }
+flowy-database = { path = "../flowy-database" }
+database-model = { path = "../../../shared-lib/database-model" }
+user-model = { path = "../../../shared-lib/user-model" }
+flowy-client-ws = { path = "../../../shared-lib/flowy-client-ws" }
+flowy-sqlite = { path = "../flowy-sqlite", optional = true }
+flowy-document = { path = "../flowy-document" }
+flowy-revision = { path = "../flowy-revision" }
+flowy-error = { path = "../flowy-error", features = ["adaptor_ws"] }
+flowy-task = { path = "../flowy-task" }
+
+tracing = { version = "0.1", features = ["log"] }
+futures-core = { version = "0.3", default-features = false }
+bytes = "1.4"
+tokio = { version = "1.26", features = ["full", "tracing"] }
+console-subscriber = "0.1.8"
+parking_lot = "0.12.1"
+
+revision-model = { path = "../../../shared-lib/revision-model" }
+ws-model = { path = "../../../shared-lib/ws-model" }
+lib-ws = { path = "../../../shared-lib/lib-ws" }
+lib-infra = { path = "../../../shared-lib/lib-infra" }
+serde = "1.0"
+serde_json = "1.0"
+
+[features]
+default = ["rev-sqlite"]
+http_sync = ["flowy-folder/cloud_sync", "flowy-document/cloud_sync"]
+native_sync = ["flowy-folder/cloud_sync", "flowy-document/cloud_sync"]
+use_bunyan = ["lib-log/use_bunyan"]
+dart = [
+    "flowy-user/dart",
+    "flowy-net/dart",
+    "flowy-folder/dart",
+    "flowy-database/dart",
+    "flowy-document/dart",
+]
+ts = [
+    "flowy-user/ts",
+    "flowy-net/ts",
+    "flowy-folder/ts",
+    "flowy-database/ts",
+    "flowy-document/ts",
+]
+rev-sqlite = [
+    "flowy-sqlite",
+    "flowy-user/rev-sqlite",
+    "flowy-folder/rev-sqlite",
+    "flowy-database/rev-sqlite",
+    "flowy-document/rev-sqlite",
+]
+openssl_vendored = ["flowy-sqlite/openssl_vendored"]

+ 3 - 0
frontend/rust-lib/flowy-core/src/lib.rs

@@ -102,6 +102,7 @@ fn create_log_filter(level: String, with_crates: Vec<String>) -> String {
   filters.push(format!("dart_ffi={}", "info"));
   filters.push(format!("flowy_sqlite={}", "info"));
   filters.push(format!("flowy_net={}", "info"));
+  filters.push(format!("tokio=trace,runtime=trace"));
   filters.join(",")
 }
 
@@ -121,6 +122,8 @@ pub struct AppFlowyCore {
 
 impl AppFlowyCore {
   pub fn new(config: AppFlowyCoreConfig) -> Self {
+    // console_subscriber::init();
+
     init_log(&config);
     init_kv(&config.storage_path);
     tracing::debug!("🔥 {:?}", config);

+ 14 - 14
frontend/rust-lib/flowy-database/Cargo.toml

@@ -24,28 +24,28 @@ anyhow = "1.0"
 strum = "0.21"
 strum_macros = "0.21"
 tracing = { version = "0.1", features = ["log"] }
-protobuf = {version = "2.18.0"}
-rust_decimal = "1.8.1"
-rusty-money = {version = "0.4.0", features = ["iso"]}
+protobuf = {version = "2.28.0"}
+rust_decimal = "1.28.1"
+rusty-money = {version = "0.4.1", features = ["iso"]}
 lazy_static = "1.4.0"
-chrono = "0.4.19"
+chrono = "0.4.23"
 nanoid = "0.4.0"
-bytes = { version = "1.0" }
+bytes = { version = "1.4" }
 diesel = {version = "1.4.8", features = ["sqlite"]}
 dashmap = "5"
-tokio = {version = "1", features = ["sync"]}
-rayon = "1.5.2"
+tokio = { version = "1.26", features = ["sync"]}
+rayon = "1.6.1"
 serde = { version = "1.0", features = ["derive"] }
 serde_json = {version = "1.0"}
 serde_repr = "0.1"
-indexmap = {version = "1.9.1", features = ["serde"]}
+indexmap = {version = "1.9.2", features = ["serde"]}
 fancy-regex = "0.10.0"
-regex = "1.5.6"
+regex = "1.7.1"
 url = { version = "2"}
-futures = "0.3.15"
-atomic_refcell = "0.1.8"
-crossbeam-utils = "0.8.7"
-async-stream = "0.3.2"
+futures = "0.3.26"
+atomic_refcell = "0.1.9"
+crossbeam-utils = "0.8.15"
+async-stream = "0.3.4"
 parking_lot = "0.12.1"
 
 [dev-dependencies]
@@ -60,4 +60,4 @@ default = ["rev-sqlite"]
 rev-sqlite = ["flowy-sqlite"]
 dart = ["flowy-codegen/dart", "flowy-notification/dart"]
 ts = ["flowy-codegen/ts", "flowy-notification/ts"]
-flowy_unit_test = ["flowy-revision/flowy_unit_test"]
+flowy_unit_test = ["flowy-revision/flowy_unit_test"]

+ 7 - 1
frontend/rust-lib/flowy-database/src/services/database_view/editor.rs

@@ -83,6 +83,12 @@ pub struct DatabaseViewEditor {
   pub notifier: DatabaseViewChangedNotifier,
 }
 
+impl Drop for DatabaseViewEditor {
+  fn drop(&mut self) {
+    tracing::trace!("Drop {}", std::any::type_name::<Self>());
+  }
+}
+
 impl DatabaseViewEditor {
   pub async fn from_pad(
     user_id: &str,
@@ -181,7 +187,7 @@ impl DatabaseViewEditor {
     self.rev_manager.generate_snapshot().await;
     self.rev_manager.close().await;
     self.sort_controller.write().await.close().await;
-    // self.filter_controller.close().await;
+    self.filter_controller.close().await;
   }
 
   pub async fn handle_block_event(&self, event: Cow<'_, DatabaseBlockEvent>) {

+ 6 - 0
frontend/rust-lib/flowy-database/src/services/filter/controller.rs

@@ -46,6 +46,12 @@ pub struct FilterController {
   notifier: DatabaseViewChangedNotifier,
 }
 
+impl Drop for FilterController {
+  fn drop(&mut self) {
+    tracing::trace!("Drop {}", std::any::type_name::<Self>());
+  }
+}
+
 impl FilterController {
   pub async fn new<T>(
     view_id: &str,

+ 6 - 0
frontend/rust-lib/flowy-database/src/services/sort/controller.rs

@@ -37,6 +37,12 @@ pub struct SortController {
   notifier: DatabaseViewChangedNotifier,
 }
 
+impl Drop for SortController {
+  fn drop(&mut self) {
+    tracing::trace!("Drop {}", std::any::type_name::<Self>());
+  }
+}
+
 impl SortController {
   pub fn new<T>(
     view_id: &str,

+ 5 - 5
frontend/rust-lib/flowy-derive/Cargo.toml

@@ -14,7 +14,7 @@ name = "tests"
 path = "tests/progress.rs"
 
 [dependencies]
-syn = { version = "1.0.60", features = ["extra-traits", "visit"] }
+syn = { version = "1.0.109", features = ["extra-traits", "visit"] }
 quote = "1.0"
 proc-macro2 = "1.0"
 flowy-ast = { path = "../flowy-ast" }
@@ -22,9 +22,9 @@ lazy_static = {version = "1.4.0"}
 dashmap = "5"
 flowy-codegen = { path = "../flowy-codegen"}
 serde_json = "1.0"
-walkdir = "2.3.1"
+walkdir = "2.3.2"
 
 [dev-dependencies]
-tokio = { version = "1", features = ["full"] }
-trybuild = "1.0.40"
-log = "0.4.11"
+tokio = { version = "1.26", features = ["full"] }
+trybuild = "1.0.77"
+log = "0.4.17"

+ 10 - 10
frontend/rust-lib/flowy-document/Cargo.toml

@@ -25,29 +25,29 @@ flowy-notification = { path = "../flowy-notification" }
 
 diesel = {version = "1.4.8", features = ["sqlite"]}
 diesel_derives = {version = "1.4.1", features = ["sqlite"]}
-protobuf = {version = "2.18.0"}
-tokio = {version = "1", features = ["sync"]}
+protobuf = {version = "2.28.0"}
+tokio = { version = "1.26", features = ["sync"]}
 tracing = { version = "0.1", features = ["log"] }
 
-bytes = { version = "1.1" }
+bytes = { version = "1.4" }
 md5 = "0.7.0"
 strum = "0.21"
 strum_macros = "0.21"
 dashmap = "5"
-url = "2.2"
+url = "2.3"
 serde = { version = "1.0", features = ["derive"] }
 serde_json = {version = "1.0"}
-chrono = "0.4.19"
-futures-util = "0.3.15"
-async-stream = "0.3.2"
-futures = "0.3.15"
+chrono = "0.4.23"
+futures-util = "0.3.26"
+async-stream = "0.3.4"
+futures = "0.3.26"
 
 [dev-dependencies]
 flowy-test = { path = "../flowy-test" }
 flowy-document = { path = "../flowy-document", features = ["flowy_unit_test"]}
 derive_more = {version = "0.99", features = ["display"]}
-tracing-subscriber = "0.2.0"
-unicode-segmentation = "1.8"
+tracing-subscriber = "0.2.25"
+unicode-segmentation = "1.10"
 
 color-eyre = { version = "0.5", default-features = false }
 criterion = "0.3"

+ 3 - 3
frontend/rust-lib/flowy-error/Cargo.toml

@@ -7,8 +7,8 @@ edition = "2018"
 
 [dependencies]
 flowy-derive = { path = "../flowy-derive" }
-protobuf = {version = "2.20.0"}
-bytes = "1.0"
+protobuf = {version = "2.28.0"}
+bytes = "1.4"
 anyhow = "1.0"
 thiserror = "1.0"
 
@@ -20,7 +20,7 @@ flowy-client-ws = { path = "../../../shared-lib/flowy-client-ws", optional = tru
 serde_json = {version = "1.0", optional = true}
 serde_repr = { version = "0.1" }
 serde = "1.0"
-reqwest = { version = "0.11", optional = true }
+reqwest = { version = "0.11.14", optional = true }
 http-error-code = { git = "https://github.com/AppFlowy-IO/AppFlowy-Server", branch = "refactor/appflowy_server", optional = true }
 flowy-sqlite = { path = "../flowy-sqlite", optional = true}
 r2d2 = { version = "0.8", optional = true}

+ 6 - 6
frontend/rust-lib/flowy-folder/Cargo.toml

@@ -23,20 +23,20 @@ flowy-revision = { path = "../flowy-revision" }
 flowy-revision-persistence = { path = "../flowy-revision-persistence" }
 
 parking_lot = "0.12.1"
-protobuf = {version = "2.18.0"}
-log = "0.4.14"
+protobuf = {version = "2.28.0"}
+log = "0.4.17"
 diesel = {version = "1.4.8", features = ["sqlite"]}
 diesel_derives = {version = "1.4.1", features = ["sqlite"]}
-futures = "0.3.15"
+futures = "0.3.26"
 pin-project = "1.0"
 strum = "0.21"
 strum_macros = "0.21"
-tokio = { version = "1", features = ["rt"] }
+tokio = { version = "1.26", features = ["rt"] }
 lazy_static = "1.4.0"
 serde = { version = "1.0", features = ["derive"] }
 tracing = { version = "0.1", features = ["log"] }
-bytes = { version = "1.0" }
-unicode-segmentation = "1.8"
+bytes = { version = "1.4" }
+unicode-segmentation = "1.10"
 serde_json = "1.0"
 
 [dev-dependencies]

+ 7 - 7
frontend/rust-lib/flowy-net/Cargo.toml

@@ -24,24 +24,24 @@ flowy-user = { path = "../flowy-user" }
 flowy-document = { path = "../flowy-document" }
 lazy_static = "1.4.0"
 lib-infra = { path = "../../../shared-lib/lib-infra" }
-protobuf = {version = "2.18.0"}
+protobuf = {version = "2.28.0"}
 lib-ws = { path = "../../../shared-lib/lib-ws" }
-bytes = { version = "1.0" }
+bytes = { version = "1.4" }
 anyhow = "1.0"
-tokio = {version = "1", features = ["sync"]}
+tokio = { version = "1.26", features = ["sync"]}
 parking_lot = "0.12.1"
 strum = "0.21"
 strum_macros = "0.21"
 tracing = { version = "0.1", features = ["log"] }
 dashmap = "5"
-async-stream = "0.3.2"
-futures-util = "0.3.15"
-reqwest = "0.11"
+async-stream = "0.3.4"
+futures-util = "0.3.26"
+reqwest = "0.11.14"
 hyper = "0.14"
 config = { version = "0.10.1", default-features = false, features = ["yaml"] }
 serde = { version = "1.0", features = ["derive"] }
 serde_json = "1.0"
-serde-aux = "1.0.1"
+serde-aux = "1.1.0"
 nanoid = "0.4.0"
 thiserror = "1.0"
 

+ 2 - 2
frontend/rust-lib/flowy-notification/Cargo.toml

@@ -7,9 +7,9 @@ edition = "2018"
 
 [dependencies]
 lazy_static = { version = "1.4.0" }
-protobuf = { version = "2.20.0" }
+protobuf = { version = "2.28.0" }
 tracing = { version = "0.1", features = ["log"] }
-bytes = { version = "1.0" }
+bytes = { version = "1.4" }
 serde = "1.0"
 
 flowy-derive = { path = "../flowy-derive" }

+ 6 - 6
frontend/rust-lib/flowy-revision/Cargo.toml

@@ -13,15 +13,15 @@ lib-infra = { path = "../../../shared-lib/lib-infra" }
 flowy-error = { path = "../flowy-error" }
 flowy-revision-persistence= { path = "../flowy-revision-persistence" }
 tracing = { version = "0.1", features = ["log"] }
-tokio = {version = "1", features = ["sync"]}
-bytes = { version = "1.1" }
+tokio = { version = "1.26", features = ["sync"]}
+bytes = { version = "1.4" }
 strum = "0.21"
 strum_macros = "0.21"
 dashmap = "5"
 serde = { version = "1.0", features = ["derive"] }
-futures-util = "0.3.15"
-futures = "0.3.15"
-async-stream = "0.3.2"
+futures-util = "0.3.26"
+futures = "0.3.26"
+async-stream = "0.3.4"
 serde_json = {version = "1.0"}
 
 [dev-dependencies]
@@ -32,4 +32,4 @@ serde_json = { version = "1.0" }
 parking_lot = "0.12.1"
 
 [features]
-flowy_unit_test = []
+flowy_unit_test = []

+ 23 - 23
frontend/rust-lib/flowy-sqlite/Cargo.toml

@@ -1,23 +1,23 @@
-[package]
-name = "flowy-sqlite"
-version = "0.1.0"
-edition = "2018"
-
-# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
-
-[dependencies]
-diesel = { version = "1.4.8", features = ["sqlite"] }
-diesel_derives = { version = "1.4.1", features = ["sqlite"] }
-diesel_migrations = { version = "1.4.0", features = ["sqlite"] }
-tracing = { version = "0.1", features = ["log"] }
-lazy_static = "1.4.0"
-
-r2d2 = "0.8.9"
-libsqlite3-sys = { version = ">=0.8.0, <0.24.0", features = ["bundled"] }
-scheduled-thread-pool = "0.2.5"
-error-chain = "=0.12.0"
-openssl = { version = "0.10.38", optional = true, features = ["vendored"] }
-openssl-sys = { version = "0.9.69", optional = true, features = ["vendored"] }
-
-[features]
-openssl_vendored = ["openssl", "openssl-sys"]
+[package]
+name = "flowy-sqlite"
+version = "0.1.0"
+edition = "2018"
+
+# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
+
+[dependencies]
+diesel = { version = "1.4.8", features = ["sqlite"] }
+diesel_derives = { version = "1.4.1", features = ["sqlite"] }
+diesel_migrations = { version = "1.4.0", features = ["sqlite"] }
+tracing = { version = "0.1", features = ["log"] }
+lazy_static = "1.4.0"
+
+r2d2 = "0.8.10"
+libsqlite3-sys = { version = ">=0.8.0, <0.24.0", features = ["bundled"] }
+scheduled-thread-pool = "0.2.6"
+error-chain = "=0.12.0"
+openssl = { version = "0.10.45", optional = true, features = ["vendored"] }
+openssl-sys = { version = "0.9.80", optional = true, features = ["vendored"] }
+
+[features]
+openssl_vendored = ["openssl", "openssl-sys"]

+ 3 - 3
frontend/rust-lib/flowy-task/Cargo.toml

@@ -7,11 +7,11 @@ edition = "2021"
 
 [dependencies]
 lib-infra = { path = "../../../shared-lib/lib-infra" }
-tokio = {version = "1", features = ["sync", "macros", ]}
-atomic_refcell = "0.1.8"
+tokio = { version = "1.26", features = ["sync", "macros", ]}
+atomic_refcell = "0.1.9"
 anyhow = "1.0"
 tracing = { version = "0.1", features = ["log"] }
 
 [dev-dependencies]
 rand = "0.8.5"
-futures = "0.3.15"
+futures = "0.3.26"

+ 8 - 8
frontend/rust-lib/flowy-test/Cargo.toml

@@ -19,21 +19,21 @@ lib-infra = { path = "../../../shared-lib/lib-infra" }
 
 serde = { version = "1.0", features = ["derive"] }
 serde_json = {version = "1.0"}
-protobuf = {version = "2.24.1"}
-claim = "0.5.0"
-tokio = { version = "1", features = ["full"]}
-futures-util = "0.3.15"
+protobuf = {version = "2.28.0"}
+#claim = "0.5.0"
+tokio = { version = "1.26", features = ["full"]}
+futures-util = "0.3.26"
 thread-id = "3.3.0"
 log = "0.4"
-bytes = "1.0"
+bytes = "1.4"
 nanoid = "0.4.0"
 
 [dev-dependencies]
 quickcheck = "1.0.3"
 quickcheck_macros = "0.9.1"
-fake = "2.4.3"
-futures = "0.3.15"
+fake = "2.5.0"
+futures = "0.3.26"
 serial_test = "0.5.1"
 
 [features]
-dart = ["flowy-core/dart"]
+dart = ["flowy-core/dart"]

+ 5 - 5
frontend/rust-lib/flowy-user/Cargo.toml

@@ -15,19 +15,19 @@ flowy-notification = { path = "../flowy-notification" }
 lib-dispatch = { path = "../lib-dispatch" }
 
 tracing = { version = "0.1", features = ["log"] }
-bytes = "1.0"
+bytes = "1.4"
 serde = { version = "1.0", features = ["derive"] }
 serde_json = {version = "1.0"}
-log = "0.4.14"
-protobuf = {version = "2.18.0"}
+log = "0.4.17"
+protobuf = {version = "2.28.0"}
 lazy_static = "1.4.0"
 diesel = {version = "1.4.8", features = ["sqlite"]}
 diesel_derives = {version = "1.4.1", features = ["sqlite"]}
-once_cell = "1.7.2"
+once_cell = "1.17.1"
 parking_lot = "0.12.1"
 strum = "0.21"
 strum_macros = "0.21"
-tokio = { version = "1", features = ["rt"] }
+tokio = { version = "1.26", features = ["rt"] }
 
 [dev-dependencies]
 flowy-test = { path = "../flowy-test" }

+ 9 - 9
frontend/rust-lib/lib-dispatch/Cargo.toml

@@ -8,13 +8,13 @@ edition = "2018"
 [dependencies]
 pin-project = "1.0"
 futures-core = { version = "0.3", default-features = false }
-futures-channel = "0.3.15"
-futures = "0.3.15"
-futures-util = "0.3.15"
-bytes = {version = "1.0", features = ["serde"]}
-tokio = { version = "1", features = ["full"] }
+futures-channel = "0.3.26"
+futures = "0.3.26"
+futures-util = "0.3.26"
+bytes = {version = "1.4", features = ["serde"]}
+tokio = { version = "1.26", features = ["full"] }
 nanoid = "0.4.0"
-log = "0.4.14"
+log = "0.4.17"
 thread-id = "3.3.0"
 dyn-clone = "1.0"
 derivative = "2.2.0"
@@ -24,12 +24,12 @@ serde_repr = { version = "0.1", optional = true }
 
 #optional crate
 bincode = { version = "1.3", optional = true}
-protobuf = {version = "2.24.1", optional = true}
+protobuf = {version = "2.28.0", optional = true}
 tracing = { version = "0.1"}
 
 [dev-dependencies]
-tokio = { version = "1", features = ["full"] }
-futures-util = "0.3.15"
+tokio = { version = "1.26", features = ["full"] }
+futures-util = "0.3.26"
 
 [features]
 default = ["use_protobuf"]

+ 5 - 5
frontend/rust-lib/lib-log/Cargo.toml

@@ -7,17 +7,17 @@ edition = "2018"
 
 [dependencies]
 
-tracing-log = { version = "0.1.1"}
-tracing-subscriber = { version = "0.2.12", features = ["registry", "env-filter", "ansi", "json"] }
-tracing-bunyan-formatter = "0.2.2"
+tracing-log = { version = "0.1.3"}
+tracing-subscriber = { version = "0.2.25", features = ["registry", "env-filter", "ansi", "json"] }
+tracing-bunyan-formatter = "0.2.6"
 tracing-appender = "0.1"
 tracing-core = "0.1"
 tracing = { version = "0.1", features = ["log"] }
-log = "0.4.14"
+log = "0.4.17"
 serde_json = "1.0"
 serde = "1.0"
 chrono = "0.4"
 lazy_static = "1.4.0"
 
 [features]
-use_bunyan = []
+use_bunyan = []

+ 2 - 2
shared-lib/database-model/Cargo.toml

@@ -6,9 +6,9 @@ edition = "2021"
 # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
 
 [dependencies]
-bytes = "1.0"
+bytes = "1.4"
 serde = { version = "1.0", features = ["derive", "rc"] }
 serde_json = {version = "1.0"}
 serde_repr = "0.1"
 nanoid = "0.4.0"
-indexmap = {version = "1.9.1", features = ["serde"]}
+indexmap = {version = "1.9.2", features = ["serde"]}

+ 1 - 1
shared-lib/flowy-client-network-config/Cargo.toml

@@ -9,4 +9,4 @@ edition = "2021"
 config = { version = "0.10.1", default-features = false, features = ["yaml"] }
 serde = { version = "1.0", features = ["derive"] }
 serde_json = "1.0"
-serde-aux = "1.0.1"
+serde-aux = "1.1.0"

+ 2 - 2
shared-lib/flowy-client-ws/Cargo.toml

@@ -8,8 +8,8 @@ edition = "2021"
 [dependencies]
 lib-ws = { path = "../lib-ws" }
 lib-infra = { path = "../lib-infra" }
-futures-util = "0.3.15"
-tokio = {version = "1", features = ["sync"]}
+futures-util = "0.3.26"
+tokio = { version = "1.26", features = ["sync"]}
 parking_lot = "0.12.1"
 tracing = { version = "0.1", features = ["log"] }
 thiserror = "1.0"

+ 5 - 5
shared-lib/flowy-server-sync/Cargo.toml

@@ -11,13 +11,13 @@ ws-model = { path = "../ws-model" }
 document-model = { path = "../document-model" }
 folder-model = { path = "../folder-model" }
 flowy-sync = { path = "../flowy-sync" }
-bytes = "1.0"
-log = "0.4.14"
-tokio = { version = "1", features = ["full"] }
+bytes = "1.4"
+log = "0.4.17"
+tokio = { version = "1.26", features = ["full"] }
 serde = { version = "1.0", features = ["derive", "rc"] }
 lib-ot = { path = "../lib-ot" }
 lib-infra = { path = "../lib-infra" }
 dashmap = "5"
-futures = "0.3.15"
-async-stream = "0.3.2"
+futures = "0.3.26"
+async-stream = "0.3.4"
 tracing = { version = "0.1", features = ["log"] }

+ 1 - 1
shared-lib/flowy-sync/Cargo.toml

@@ -15,6 +15,6 @@ document-model = { path = "../document-model" }
 strum = "0.21"
 strum_macros = "0.21"
 parking_lot = "0.12.1"
-tokio = { version = "1", features = ["full"] }
+tokio = { version = "1.26", features = ["full"] }
 serde = { version = "1.0", features = ["derive", "rc"] }
 tracing = { version = "0.1", features = ["log"] }

+ 4 - 4
shared-lib/lib-infra/Cargo.toml

@@ -6,11 +6,11 @@ edition = "2018"
 # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
 
 [dependencies]
-chrono = "0.4.19"
-bytes = { version = "1.0" }
+chrono = "0.4.23"
+bytes = { version = "1.4" }
 pin-project = "1.0.12"
 futures-core = { version = "0.3" }
-tokio = { version = "1", features = ["time", "rt"] }
+tokio = { version = "1.26", features = ["time", "rt"] }
 rand = "0.8.5"
-async-trait = "0.1.59"
+async-trait = "0.1.64"
 md5 = "0.7.0"

+ 3 - 3
shared-lib/lib-ot/Cargo.toml

@@ -9,14 +9,14 @@ edition = "2018"
 serde = { version = "1.0", features = ["derive", "rc"] }
 thiserror = "1.0"
 serde_json = { version = "1.0" }
-indexmap = {version = "1.9.1", features = ["serde"]}
+indexmap = {version = "1.9.2", features = ["serde"]}
 log = "0.4"
 tracing = { version = "0.1", features = ["log"] }
 lazy_static = "1.4.0"
 strum = "0.21"
 strum_macros = "0.21"
-bytes = "1.0"
-indextree = "4.4.0"
+bytes = "1.4"
+indextree = "4.5.0"
 
 
 [features]

+ 9 - 9
shared-lib/lib-ws/Cargo.toml

@@ -12,21 +12,21 @@ serde_json = {version = "1.0"}
 lib-infra = { path = "../lib-infra" }
 
 tokio-tungstenite = "0.15"
-futures-util = "0.3.17"
-futures-channel = "0.3.17"
-tokio = {version = "1", features = ["full"]}
-futures = "0.3.17"
-bytes = "1.0"
+futures-util = "0.3.26"
+futures-channel = "0.3.26"
+tokio = { version = "1.26", features = ["full"]}
+futures = "0.3.26"
+bytes = "1.4"
 pin-project = "1.0"
 futures-core = { version = "0.3", default-features = false }
-url = "2.2.2"
+url = "2.3.1"
 log = "0.4"
 tracing = { version = "0.1", features = ["log"] }
-protobuf = {version = "2.18.0"}
+protobuf = {version = "2.28.0"}
 strum_macros = "0.21"
 parking_lot = "0.12.1"
 dashmap = "5"
 
 [dev-dependencies]
-tokio = {version = "1", features = ["full"]}
-env_logger = "0.8.2"
+tokio = { version = "1.26", features = ["full"]}
+env_logger = "0.8.4"

+ 1 - 1
shared-lib/revision-model/Cargo.toml

@@ -9,4 +9,4 @@ edition = "2021"
 serde = { version = "1.0" }
 serde_json = { version = "1.0" }
 md5 = "0.7.0"
-bytes = "1.0"
+bytes = "1.4"

+ 6 - 6
shared-lib/user-model/Cargo.toml

@@ -8,7 +8,7 @@ edition = "2021"
 [dependencies]
 serde = { version = "1.0" }
 validator = "0.16.0"
-unicode-segmentation = "1.8"
+unicode-segmentation = "1.10"
 fancy-regex = "0.11.0"
 lazy_static = "1.4.0"
 tracing = { version = "0.1", features = ["log"] }
@@ -19,9 +19,9 @@ serde_repr = "0.1"
 nanoid = "0.4.0"
 quickcheck = "1.0.3"
 quickcheck_macros = "0.9.1"
-fake = "2.4.3"
-claim = "0.4.0"
-futures = "0.3.15"
+fake = "2.5.0"
+#claim = "0.5.0"
+futures = "0.3.26"
 serial_test = "0.5.1"
-rand_core = "0.6.3"
-rand = "0.8.5"
+rand_core = "0.6.4"
+rand = "0.8.5"

+ 1 - 1
shared-lib/ws-model/Cargo.toml

@@ -10,4 +10,4 @@ serde = { version = "1.0" }
 serde_json = { version = "1.0" }
 serde_repr = "0.1"
 revision-model = { path = "../revision-model"}
-bytes = "1.0"
+bytes = "1.4"