From 9a8109f5f85b4dea4511d05679c66fc97203871a Mon Sep 17 00:00:00 2001 From: "Nathan.fooo" <86001920+appflowy@users.noreply.github.com> Date: Tue, 30 Apr 2024 20:40:03 +0800 Subject: [PATCH] chore: update client api and collab (#5231) --- frontend/appflowy_tauri/src-tauri/Cargo.lock | 40 ++--- frontend/appflowy_tauri/src-tauri/Cargo.toml | 16 +- frontend/appflowy_web/wasm-libs/Cargo.lock | 52 +++--- frontend/appflowy_web/wasm-libs/Cargo.toml | 16 +- .../appflowy_web_app/src-tauri/Cargo.lock | 40 ++--- .../appflowy_web_app/src-tauri/Cargo.toml | 16 +- frontend/rust-lib/Cargo.lock | 56 ++++--- frontend/rust-lib/Cargo.toml | 16 +- .../rust-lib/flowy-database2/src/manager.rs | 31 +--- .../src/services/database/database_editor.rs | 40 +---- .../src/services/database/database_observe.rs | 150 ++++++++++++++++++ .../src/services/database/mod.rs | 1 + 12 files changed, 285 insertions(+), 189 deletions(-) create mode 100644 frontend/rust-lib/flowy-database2/src/services/database/database_observe.rs diff --git a/frontend/appflowy_tauri/src-tauri/Cargo.lock b/frontend/appflowy_tauri/src-tauri/Cargo.lock index 16ca5be3f9..2309399cde 100644 --- a/frontend/appflowy_tauri/src-tauri/Cargo.lock +++ b/frontend/appflowy_tauri/src-tauri/Cargo.lock @@ -162,7 +162,7 @@ checksum = "080e9890a082662b09c1ad45f567faeeb47f22b5fb23895fbe1e651e718e25ca" [[package]] name = "app-error" version = "0.1.0" -source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=e2fd0493339b3d769e3f827b3351f16dd0ad457f#e2fd0493339b3d769e3f827b3351f16dd0ad457f" +source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=af75e8a2c00d9f8f2dd444bb50c30dd5ba490e3d#af75e8a2c00d9f8f2dd444bb50c30dd5ba490e3d" dependencies = [ "anyhow", "bincode", @@ -740,7 +740,7 @@ dependencies = [ [[package]] name = "client-api" version = "0.1.0" -source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=e2fd0493339b3d769e3f827b3351f16dd0ad457f#e2fd0493339b3d769e3f827b3351f16dd0ad457f" +source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=af75e8a2c00d9f8f2dd444bb50c30dd5ba490e3d#af75e8a2c00d9f8f2dd444bb50c30dd5ba490e3d" dependencies = [ "again", "anyhow", @@ -786,7 +786,7 @@ dependencies = [ [[package]] name = "client-websocket" version = "0.1.0" -source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=e2fd0493339b3d769e3f827b3351f16dd0ad457f#e2fd0493339b3d769e3f827b3351f16dd0ad457f" +source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=af75e8a2c00d9f8f2dd444bb50c30dd5ba490e3d#af75e8a2c00d9f8f2dd444bb50c30dd5ba490e3d" dependencies = [ "futures-channel", "futures-util", @@ -860,7 +860,7 @@ dependencies = [ [[package]] name = "collab" version = "0.1.0" -source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=dda9ad4#dda9ad49b78ef4e2cae7b5cbe41806b982ca6a44" +source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=542ab275eae087f7be7207ada311c769ed1808b4#542ab275eae087f7be7207ada311c769ed1808b4" dependencies = [ "anyhow", "async-trait", @@ -884,7 +884,7 @@ dependencies = [ [[package]] name = "collab-database" version = "0.1.0" -source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=dda9ad4#dda9ad49b78ef4e2cae7b5cbe41806b982ca6a44" +source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=542ab275eae087f7be7207ada311c769ed1808b4#542ab275eae087f7be7207ada311c769ed1808b4" dependencies = [ "anyhow", "async-trait", @@ -914,7 +914,7 @@ dependencies = [ [[package]] name = "collab-document" version = "0.1.0" -source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=dda9ad4#dda9ad49b78ef4e2cae7b5cbe41806b982ca6a44" +source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=542ab275eae087f7be7207ada311c769ed1808b4#542ab275eae087f7be7207ada311c769ed1808b4" dependencies = [ "anyhow", "collab", @@ -933,7 +933,7 @@ dependencies = [ [[package]] name = "collab-entity" version = "0.1.0" -source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=dda9ad4#dda9ad49b78ef4e2cae7b5cbe41806b982ca6a44" +source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=542ab275eae087f7be7207ada311c769ed1808b4#542ab275eae087f7be7207ada311c769ed1808b4" dependencies = [ "anyhow", "bytes", @@ -948,7 +948,7 @@ dependencies = [ [[package]] name = "collab-folder" version = "0.1.0" -source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=dda9ad4#dda9ad49b78ef4e2cae7b5cbe41806b982ca6a44" +source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=542ab275eae087f7be7207ada311c769ed1808b4#542ab275eae087f7be7207ada311c769ed1808b4" dependencies = [ "anyhow", "chrono", @@ -986,7 +986,7 @@ dependencies = [ [[package]] name = "collab-plugins" version = "0.1.0" -source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=dda9ad4#dda9ad49b78ef4e2cae7b5cbe41806b982ca6a44" +source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=542ab275eae087f7be7207ada311c769ed1808b4#542ab275eae087f7be7207ada311c769ed1808b4" dependencies = [ "anyhow", "async-stream", @@ -1025,7 +1025,7 @@ dependencies = [ [[package]] name = "collab-rt-entity" version = "0.1.0" -source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=e2fd0493339b3d769e3f827b3351f16dd0ad457f#e2fd0493339b3d769e3f827b3351f16dd0ad457f" +source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=af75e8a2c00d9f8f2dd444bb50c30dd5ba490e3d#af75e8a2c00d9f8f2dd444bb50c30dd5ba490e3d" dependencies = [ "anyhow", "bincode", @@ -1050,7 +1050,7 @@ dependencies = [ [[package]] name = "collab-rt-protocol" version = "0.1.0" -source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=e2fd0493339b3d769e3f827b3351f16dd0ad457f#e2fd0493339b3d769e3f827b3351f16dd0ad457f" +source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=af75e8a2c00d9f8f2dd444bb50c30dd5ba490e3d#af75e8a2c00d9f8f2dd444bb50c30dd5ba490e3d" dependencies = [ "anyhow", "bincode", @@ -1064,7 +1064,7 @@ dependencies = [ [[package]] name = "collab-user" version = "0.1.0" -source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=dda9ad4#dda9ad49b78ef4e2cae7b5cbe41806b982ca6a44" +source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=542ab275eae087f7be7207ada311c769ed1808b4#542ab275eae087f7be7207ada311c769ed1808b4" dependencies = [ "anyhow", "collab", @@ -1293,7 +1293,7 @@ dependencies = [ "cssparser-macros", "dtoa-short", "itoa 1.0.6", - "phf 0.11.2", + "phf 0.8.0", "smallvec", ] @@ -1404,7 +1404,7 @@ checksum = "c2e66c9d817f1720209181c316d28635c050fa304f9c79e47a520882661b7308" [[package]] name = "database-entity" version = "0.1.0" -source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=e2fd0493339b3d769e3f827b3351f16dd0ad457f#e2fd0493339b3d769e3f827b3351f16dd0ad457f" +source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=af75e8a2c00d9f8f2dd444bb50c30dd5ba490e3d#af75e8a2c00d9f8f2dd444bb50c30dd5ba490e3d" dependencies = [ "anyhow", "app-error", @@ -2770,7 +2770,7 @@ dependencies = [ [[package]] name = "gotrue" version = "0.1.0" -source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=e2fd0493339b3d769e3f827b3351f16dd0ad457f#e2fd0493339b3d769e3f827b3351f16dd0ad457f" +source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=af75e8a2c00d9f8f2dd444bb50c30dd5ba490e3d#af75e8a2c00d9f8f2dd444bb50c30dd5ba490e3d" dependencies = [ "anyhow", "futures-util", @@ -2787,7 +2787,7 @@ dependencies = [ [[package]] name = "gotrue-entity" version = "0.1.0" -source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=e2fd0493339b3d769e3f827b3351f16dd0ad457f#e2fd0493339b3d769e3f827b3351f16dd0ad457f" +source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=af75e8a2c00d9f8f2dd444bb50c30dd5ba490e3d#af75e8a2c00d9f8f2dd444bb50c30dd5ba490e3d" dependencies = [ "anyhow", "app-error", @@ -3219,7 +3219,7 @@ dependencies = [ [[package]] name = "infra" version = "0.1.0" -source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=e2fd0493339b3d769e3f827b3351f16dd0ad457f#e2fd0493339b3d769e3f827b3351f16dd0ad457f" +source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=af75e8a2c00d9f8f2dd444bb50c30dd5ba490e3d#af75e8a2c00d9f8f2dd444bb50c30dd5ba490e3d" dependencies = [ "anyhow", "reqwest", @@ -4722,7 +4722,7 @@ checksum = "c55e02e35260070b6f716a2423c2ff1c3bb1642ddca6f99e1f26d06268a0e2d2" dependencies = [ "bytes", "heck 0.4.1", - "itertools 0.11.0", + "itertools 0.10.5", "log", "multimap", "once_cell", @@ -4743,7 +4743,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "efb6c9a1dd1def8e2124d17e83a20af56f1570d6c2d2bd9e266ccb768df3840e" dependencies = [ "anyhow", - "itertools 0.11.0", + "itertools 0.10.5", "proc-macro2", "quote", "syn 2.0.47", @@ -5707,7 +5707,7 @@ dependencies = [ [[package]] name = "shared-entity" version = "0.1.0" -source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=e2fd0493339b3d769e3f827b3351f16dd0ad457f#e2fd0493339b3d769e3f827b3351f16dd0ad457f" +source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=af75e8a2c00d9f8f2dd444bb50c30dd5ba490e3d#af75e8a2c00d9f8f2dd444bb50c30dd5ba490e3d" dependencies = [ "anyhow", "app-error", diff --git a/frontend/appflowy_tauri/src-tauri/Cargo.toml b/frontend/appflowy_tauri/src-tauri/Cargo.toml index 69aec2e226..192ac22184 100644 --- a/frontend/appflowy_tauri/src-tauri/Cargo.toml +++ b/frontend/appflowy_tauri/src-tauri/Cargo.toml @@ -87,7 +87,7 @@ yrs = { git = "https://github.com/appflowy/y-crdt", rev = "3f25bb510ca5274e7657d # Run the script: # scripts/tool/update_client_api_rev.sh new_rev_id # ⚠️⚠️⚠️️ -client-api = { git = "https://github.com/AppFlowy-IO/AppFlowy-Cloud", rev = "e2fd0493339b3d769e3f827b3351f16dd0ad457f" } +client-api = { git = "https://github.com/AppFlowy-IO/AppFlowy-Cloud", rev = "af75e8a2c00d9f8f2dd444bb50c30dd5ba490e3d" } # Please use the following script to update collab. # Working directory: frontend # @@ -97,10 +97,10 @@ client-api = { git = "https://github.com/AppFlowy-IO/AppFlowy-Cloud", rev = "e2f # To switch to the local path, run: # scripts/tool/update_collab_source.sh # ⚠️⚠️⚠️️ -collab = { git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "dda9ad4" } -collab-folder = { git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "dda9ad4" } -collab-document = { git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "dda9ad4" } -collab-database = { git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "dda9ad4" } -collab-plugins = { git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "dda9ad4" } -collab-user = { git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "dda9ad4" } -collab-entity = { git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "dda9ad4" } +collab = { git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "542ab275eae087f7be7207ada311c769ed1808b4" } +collab-folder = { git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "542ab275eae087f7be7207ada311c769ed1808b4" } +collab-document = { git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "542ab275eae087f7be7207ada311c769ed1808b4" } +collab-database = { git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "542ab275eae087f7be7207ada311c769ed1808b4" } +collab-plugins = { git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "542ab275eae087f7be7207ada311c769ed1808b4" } +collab-user = { git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "542ab275eae087f7be7207ada311c769ed1808b4" } +collab-entity = { git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "542ab275eae087f7be7207ada311c769ed1808b4" } diff --git a/frontend/appflowy_web/wasm-libs/Cargo.lock b/frontend/appflowy_web/wasm-libs/Cargo.lock index 53ffffedfe..16b2deebcf 100644 --- a/frontend/appflowy_web/wasm-libs/Cargo.lock +++ b/frontend/appflowy_web/wasm-libs/Cargo.lock @@ -216,7 +216,7 @@ checksum = "080e9890a082662b09c1ad45f567faeeb47f22b5fb23895fbe1e651e718e25ca" [[package]] name = "app-error" version = "0.1.0" -source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=e2fd0493339b3d769e3f827b3351f16dd0ad457f#e2fd0493339b3d769e3f827b3351f16dd0ad457f" +source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=af75e8a2c00d9f8f2dd444bb50c30dd5ba490e3d#af75e8a2c00d9f8f2dd444bb50c30dd5ba490e3d" dependencies = [ "anyhow", "bincode", @@ -542,7 +542,7 @@ dependencies = [ [[package]] name = "client-api" version = "0.1.0" -source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=e2fd0493339b3d769e3f827b3351f16dd0ad457f#e2fd0493339b3d769e3f827b3351f16dd0ad457f" +source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=af75e8a2c00d9f8f2dd444bb50c30dd5ba490e3d#af75e8a2c00d9f8f2dd444bb50c30dd5ba490e3d" dependencies = [ "again", "anyhow", @@ -588,7 +588,7 @@ dependencies = [ [[package]] name = "client-websocket" version = "0.1.0" -source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=e2fd0493339b3d769e3f827b3351f16dd0ad457f#e2fd0493339b3d769e3f827b3351f16dd0ad457f" +source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=af75e8a2c00d9f8f2dd444bb50c30dd5ba490e3d#af75e8a2c00d9f8f2dd444bb50c30dd5ba490e3d" dependencies = [ "futures-channel", "futures-util", @@ -632,7 +632,7 @@ dependencies = [ [[package]] name = "collab" version = "0.1.0" -source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=85580a5c0e95b5dae4787336faa751da44365760#85580a5c0e95b5dae4787336faa751da44365760" +source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=542ab275eae087f7be7207ada311c769ed1808b4#542ab275eae087f7be7207ada311c769ed1808b4" dependencies = [ "anyhow", "async-trait", @@ -656,7 +656,7 @@ dependencies = [ [[package]] name = "collab-document" version = "0.1.0" -source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=85580a5c0e95b5dae4787336faa751da44365760#85580a5c0e95b5dae4787336faa751da44365760" +source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=542ab275eae087f7be7207ada311c769ed1808b4#542ab275eae087f7be7207ada311c769ed1808b4" dependencies = [ "anyhow", "collab", @@ -675,7 +675,7 @@ dependencies = [ [[package]] name = "collab-entity" version = "0.1.0" -source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=85580a5c0e95b5dae4787336faa751da44365760#85580a5c0e95b5dae4787336faa751da44365760" +source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=542ab275eae087f7be7207ada311c769ed1808b4#542ab275eae087f7be7207ada311c769ed1808b4" dependencies = [ "anyhow", "bytes", @@ -690,7 +690,7 @@ dependencies = [ [[package]] name = "collab-folder" version = "0.1.0" -source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=85580a5c0e95b5dae4787336faa751da44365760#85580a5c0e95b5dae4787336faa751da44365760" +source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=542ab275eae087f7be7207ada311c769ed1808b4#542ab275eae087f7be7207ada311c769ed1808b4" dependencies = [ "anyhow", "chrono", @@ -728,7 +728,7 @@ dependencies = [ [[package]] name = "collab-plugins" version = "0.1.0" -source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=85580a5c0e95b5dae4787336faa751da44365760#85580a5c0e95b5dae4787336faa751da44365760" +source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=542ab275eae087f7be7207ada311c769ed1808b4#542ab275eae087f7be7207ada311c769ed1808b4" dependencies = [ "anyhow", "async-stream", @@ -766,7 +766,7 @@ dependencies = [ [[package]] name = "collab-rt-entity" version = "0.1.0" -source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=e2fd0493339b3d769e3f827b3351f16dd0ad457f#e2fd0493339b3d769e3f827b3351f16dd0ad457f" +source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=af75e8a2c00d9f8f2dd444bb50c30dd5ba490e3d#af75e8a2c00d9f8f2dd444bb50c30dd5ba490e3d" dependencies = [ "anyhow", "bincode", @@ -791,7 +791,7 @@ dependencies = [ [[package]] name = "collab-rt-protocol" version = "0.1.0" -source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=e2fd0493339b3d769e3f827b3351f16dd0ad457f#e2fd0493339b3d769e3f827b3351f16dd0ad457f" +source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=af75e8a2c00d9f8f2dd444bb50c30dd5ba490e3d#af75e8a2c00d9f8f2dd444bb50c30dd5ba490e3d" dependencies = [ "anyhow", "bincode", @@ -805,7 +805,7 @@ dependencies = [ [[package]] name = "collab-user" version = "0.1.0" -source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=85580a5c0e95b5dae4787336faa751da44365760#85580a5c0e95b5dae4787336faa751da44365760" +source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=542ab275eae087f7be7207ada311c769ed1808b4#542ab275eae087f7be7207ada311c769ed1808b4" dependencies = [ "anyhow", "collab", @@ -957,7 +957,7 @@ dependencies = [ "cssparser-macros", "dtoa-short", "itoa", - "phf 0.11.2", + "phf 0.8.0", "smallvec", ] @@ -1002,7 +1002,7 @@ checksum = "7e962a19be5cfc3f3bf6dd8f61eb50107f356ad6270fbb3ed41476571db78be5" [[package]] name = "database-entity" version = "0.1.0" -source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=e2fd0493339b3d769e3f827b3351f16dd0ad457f#e2fd0493339b3d769e3f827b3351f16dd0ad457f" +source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=af75e8a2c00d9f8f2dd444bb50c30dd5ba490e3d#af75e8a2c00d9f8f2dd444bb50c30dd5ba490e3d" dependencies = [ "anyhow", "app-error", @@ -1775,7 +1775,7 @@ dependencies = [ [[package]] name = "gotrue" version = "0.1.0" -source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=e2fd0493339b3d769e3f827b3351f16dd0ad457f#e2fd0493339b3d769e3f827b3351f16dd0ad457f" +source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=af75e8a2c00d9f8f2dd444bb50c30dd5ba490e3d#af75e8a2c00d9f8f2dd444bb50c30dd5ba490e3d" dependencies = [ "anyhow", "futures-util", @@ -1792,7 +1792,7 @@ dependencies = [ [[package]] name = "gotrue-entity" version = "0.1.0" -source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=e2fd0493339b3d769e3f827b3351f16dd0ad457f#e2fd0493339b3d769e3f827b3351f16dd0ad457f" +source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=af75e8a2c00d9f8f2dd444bb50c30dd5ba490e3d#af75e8a2c00d9f8f2dd444bb50c30dd5ba490e3d" dependencies = [ "anyhow", "app-error", @@ -2093,7 +2093,7 @@ dependencies = [ [[package]] name = "infra" version = "0.1.0" -source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=e2fd0493339b3d769e3f827b3351f16dd0ad457f#e2fd0493339b3d769e3f827b3351f16dd0ad457f" +source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=af75e8a2c00d9f8f2dd444bb50c30dd5ba490e3d#af75e8a2c00d9f8f2dd444bb50c30dd5ba490e3d" dependencies = [ "anyhow", "reqwest", @@ -2777,7 +2777,7 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3dfb61232e34fcb633f43d12c58f83c1df82962dcdfa565a4e866ffc17dafe12" dependencies = [ - "phf_macros 0.8.0", + "phf_macros", "phf_shared 0.8.0", "proc-macro-hack", ] @@ -2797,7 +2797,6 @@ version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc" dependencies = [ - "phf_macros 0.11.2", "phf_shared 0.11.2", ] @@ -2865,19 +2864,6 @@ dependencies = [ "syn 1.0.109", ] -[[package]] -name = "phf_macros" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3444646e286606587e49f3bcf1679b8cef1dc2c5ecc29ddacaffc305180d464b" -dependencies = [ - "phf_generator 0.11.2", - "phf_shared 0.11.2", - "proc-macro2", - "quote", - "syn 2.0.48", -] - [[package]] name = "phf_shared" version = "0.8.0" @@ -3733,7 +3719,7 @@ dependencies = [ [[package]] name = "shared-entity" version = "0.1.0" -source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=e2fd0493339b3d769e3f827b3351f16dd0ad457f#e2fd0493339b3d769e3f827b3351f16dd0ad457f" +source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=af75e8a2c00d9f8f2dd444bb50c30dd5ba490e3d#af75e8a2c00d9f8f2dd444bb50c30dd5ba490e3d" dependencies = [ "anyhow", "app-error", @@ -4995,4 +4981,4 @@ dependencies = [ [[patch.unused]] name = "collab-database" version = "0.1.0" -source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=85580a5c0e95b5dae4787336faa751da44365760#85580a5c0e95b5dae4787336faa751da44365760" +source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=542ab275eae087f7be7207ada311c769ed1808b4#542ab275eae087f7be7207ada311c769ed1808b4" diff --git a/frontend/appflowy_web/wasm-libs/Cargo.toml b/frontend/appflowy_web/wasm-libs/Cargo.toml index 36ae635072..1b49c32a80 100644 --- a/frontend/appflowy_web/wasm-libs/Cargo.toml +++ b/frontend/appflowy_web/wasm-libs/Cargo.toml @@ -55,7 +55,7 @@ codegen-units = 1 # Run the script: # scripts/tool/update_client_api_rev.sh new_rev_id # ⚠️⚠️⚠️️ -client-api = { git = "https://github.com/AppFlowy-IO/AppFlowy-Cloud", rev = "e2fd0493339b3d769e3f827b3351f16dd0ad457f" } +client-api = { git = "https://github.com/AppFlowy-IO/AppFlowy-Cloud", rev = "af75e8a2c00d9f8f2dd444bb50c30dd5ba490e3d" } # Please use the following script to update collab. # Working directory: frontend # @@ -65,10 +65,10 @@ client-api = { git = "https://github.com/AppFlowy-IO/AppFlowy-Cloud", rev = "e2f # To switch to the local path, run: # scripts/tool/update_collab_source.sh # ⚠️⚠️⚠️️ -collab = { git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "dda9ad4" } -collab-folder = { git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "dda9ad4" } -collab-document = { git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "dda9ad4" } -collab-database = { git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "dda9ad4" } -collab-plugins = { git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "dda9ad4" } -collab-user = { git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "dda9ad4" } -collab-entity = { git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "dda9ad4" } +collab = { git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "542ab275eae087f7be7207ada311c769ed1808b4" } +collab-folder = { git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "542ab275eae087f7be7207ada311c769ed1808b4" } +collab-document = { git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "542ab275eae087f7be7207ada311c769ed1808b4" } +collab-database = { git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "542ab275eae087f7be7207ada311c769ed1808b4" } +collab-plugins = { git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "542ab275eae087f7be7207ada311c769ed1808b4" } +collab-user = { git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "542ab275eae087f7be7207ada311c769ed1808b4" } +collab-entity = { git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "542ab275eae087f7be7207ada311c769ed1808b4" } diff --git a/frontend/appflowy_web_app/src-tauri/Cargo.lock b/frontend/appflowy_web_app/src-tauri/Cargo.lock index 0177b5fba3..8c376dd5c3 100644 --- a/frontend/appflowy_web_app/src-tauri/Cargo.lock +++ b/frontend/appflowy_web_app/src-tauri/Cargo.lock @@ -153,7 +153,7 @@ checksum = "0952808a6c2afd1aa8947271f3a60f1a6763c7b912d210184c5149b5cf147247" [[package]] name = "app-error" version = "0.1.0" -source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=e2fd0493339b3d769e3f827b3351f16dd0ad457f#e2fd0493339b3d769e3f827b3351f16dd0ad457f" +source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=af75e8a2c00d9f8f2dd444bb50c30dd5ba490e3d#af75e8a2c00d9f8f2dd444bb50c30dd5ba490e3d" dependencies = [ "anyhow", "bincode", @@ -714,7 +714,7 @@ dependencies = [ [[package]] name = "client-api" version = "0.1.0" -source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=e2fd0493339b3d769e3f827b3351f16dd0ad457f#e2fd0493339b3d769e3f827b3351f16dd0ad457f" +source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=af75e8a2c00d9f8f2dd444bb50c30dd5ba490e3d#af75e8a2c00d9f8f2dd444bb50c30dd5ba490e3d" dependencies = [ "again", "anyhow", @@ -760,7 +760,7 @@ dependencies = [ [[package]] name = "client-websocket" version = "0.1.0" -source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=e2fd0493339b3d769e3f827b3351f16dd0ad457f#e2fd0493339b3d769e3f827b3351f16dd0ad457f" +source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=af75e8a2c00d9f8f2dd444bb50c30dd5ba490e3d#af75e8a2c00d9f8f2dd444bb50c30dd5ba490e3d" dependencies = [ "futures-channel", "futures-util", @@ -843,7 +843,7 @@ dependencies = [ [[package]] name = "collab" version = "0.1.0" -source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=dda9ad4#dda9ad49b78ef4e2cae7b5cbe41806b982ca6a44" +source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=542ab275eae087f7be7207ada311c769ed1808b4#542ab275eae087f7be7207ada311c769ed1808b4" dependencies = [ "anyhow", "async-trait", @@ -867,7 +867,7 @@ dependencies = [ [[package]] name = "collab-database" version = "0.1.0" -source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=dda9ad4#dda9ad49b78ef4e2cae7b5cbe41806b982ca6a44" +source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=542ab275eae087f7be7207ada311c769ed1808b4#542ab275eae087f7be7207ada311c769ed1808b4" dependencies = [ "anyhow", "async-trait", @@ -897,7 +897,7 @@ dependencies = [ [[package]] name = "collab-document" version = "0.1.0" -source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=dda9ad4#dda9ad49b78ef4e2cae7b5cbe41806b982ca6a44" +source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=542ab275eae087f7be7207ada311c769ed1808b4#542ab275eae087f7be7207ada311c769ed1808b4" dependencies = [ "anyhow", "collab", @@ -916,7 +916,7 @@ dependencies = [ [[package]] name = "collab-entity" version = "0.1.0" -source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=dda9ad4#dda9ad49b78ef4e2cae7b5cbe41806b982ca6a44" +source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=542ab275eae087f7be7207ada311c769ed1808b4#542ab275eae087f7be7207ada311c769ed1808b4" dependencies = [ "anyhow", "bytes", @@ -931,7 +931,7 @@ dependencies = [ [[package]] name = "collab-folder" version = "0.1.0" -source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=dda9ad4#dda9ad49b78ef4e2cae7b5cbe41806b982ca6a44" +source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=542ab275eae087f7be7207ada311c769ed1808b4#542ab275eae087f7be7207ada311c769ed1808b4" dependencies = [ "anyhow", "chrono", @@ -969,7 +969,7 @@ dependencies = [ [[package]] name = "collab-plugins" version = "0.1.0" -source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=dda9ad4#dda9ad49b78ef4e2cae7b5cbe41806b982ca6a44" +source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=542ab275eae087f7be7207ada311c769ed1808b4#542ab275eae087f7be7207ada311c769ed1808b4" dependencies = [ "anyhow", "async-stream", @@ -1008,7 +1008,7 @@ dependencies = [ [[package]] name = "collab-rt-entity" version = "0.1.0" -source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=e2fd0493339b3d769e3f827b3351f16dd0ad457f#e2fd0493339b3d769e3f827b3351f16dd0ad457f" +source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=af75e8a2c00d9f8f2dd444bb50c30dd5ba490e3d#af75e8a2c00d9f8f2dd444bb50c30dd5ba490e3d" dependencies = [ "anyhow", "bincode", @@ -1033,7 +1033,7 @@ dependencies = [ [[package]] name = "collab-rt-protocol" version = "0.1.0" -source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=e2fd0493339b3d769e3f827b3351f16dd0ad457f#e2fd0493339b3d769e3f827b3351f16dd0ad457f" +source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=af75e8a2c00d9f8f2dd444bb50c30dd5ba490e3d#af75e8a2c00d9f8f2dd444bb50c30dd5ba490e3d" dependencies = [ "anyhow", "bincode", @@ -1047,7 +1047,7 @@ dependencies = [ [[package]] name = "collab-user" version = "0.1.0" -source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=dda9ad4#dda9ad49b78ef4e2cae7b5cbe41806b982ca6a44" +source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=542ab275eae087f7be7207ada311c769ed1808b4#542ab275eae087f7be7207ada311c769ed1808b4" dependencies = [ "anyhow", "collab", @@ -1280,7 +1280,7 @@ dependencies = [ "cssparser-macros", "dtoa-short", "itoa 1.0.10", - "phf 0.11.2", + "phf 0.8.0", "smallvec", ] @@ -1391,7 +1391,7 @@ checksum = "7e962a19be5cfc3f3bf6dd8f61eb50107f356ad6270fbb3ed41476571db78be5" [[package]] name = "database-entity" version = "0.1.0" -source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=e2fd0493339b3d769e3f827b3351f16dd0ad457f#e2fd0493339b3d769e3f827b3351f16dd0ad457f" +source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=af75e8a2c00d9f8f2dd444bb50c30dd5ba490e3d#af75e8a2c00d9f8f2dd444bb50c30dd5ba490e3d" dependencies = [ "anyhow", "app-error", @@ -2844,7 +2844,7 @@ dependencies = [ [[package]] name = "gotrue" version = "0.1.0" -source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=e2fd0493339b3d769e3f827b3351f16dd0ad457f#e2fd0493339b3d769e3f827b3351f16dd0ad457f" +source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=af75e8a2c00d9f8f2dd444bb50c30dd5ba490e3d#af75e8a2c00d9f8f2dd444bb50c30dd5ba490e3d" dependencies = [ "anyhow", "futures-util", @@ -2861,7 +2861,7 @@ dependencies = [ [[package]] name = "gotrue-entity" version = "0.1.0" -source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=e2fd0493339b3d769e3f827b3351f16dd0ad457f#e2fd0493339b3d769e3f827b3351f16dd0ad457f" +source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=af75e8a2c00d9f8f2dd444bb50c30dd5ba490e3d#af75e8a2c00d9f8f2dd444bb50c30dd5ba490e3d" dependencies = [ "anyhow", "app-error", @@ -3298,7 +3298,7 @@ dependencies = [ [[package]] name = "infra" version = "0.1.0" -source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=e2fd0493339b3d769e3f827b3351f16dd0ad457f#e2fd0493339b3d769e3f827b3351f16dd0ad457f" +source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=af75e8a2c00d9f8f2dd444bb50c30dd5ba490e3d#af75e8a2c00d9f8f2dd444bb50c30dd5ba490e3d" dependencies = [ "anyhow", "reqwest", @@ -4803,7 +4803,7 @@ checksum = "c55e02e35260070b6f716a2423c2ff1c3bb1642ddca6f99e1f26d06268a0e2d2" dependencies = [ "bytes", "heck 0.4.1", - "itertools 0.10.5", + "itertools 0.11.0", "log", "multimap", "once_cell", @@ -4824,7 +4824,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "efb6c9a1dd1def8e2124d17e83a20af56f1570d6c2d2bd9e266ccb768df3840e" dependencies = [ "anyhow", - "itertools 0.10.5", + "itertools 0.11.0", "proc-macro2", "quote", "syn 2.0.55", @@ -5802,7 +5802,7 @@ dependencies = [ [[package]] name = "shared-entity" version = "0.1.0" -source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=e2fd0493339b3d769e3f827b3351f16dd0ad457f#e2fd0493339b3d769e3f827b3351f16dd0ad457f" +source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=af75e8a2c00d9f8f2dd444bb50c30dd5ba490e3d#af75e8a2c00d9f8f2dd444bb50c30dd5ba490e3d" dependencies = [ "anyhow", "app-error", diff --git a/frontend/appflowy_web_app/src-tauri/Cargo.toml b/frontend/appflowy_web_app/src-tauri/Cargo.toml index 2c353ce1c5..93d02a1f6c 100644 --- a/frontend/appflowy_web_app/src-tauri/Cargo.toml +++ b/frontend/appflowy_web_app/src-tauri/Cargo.toml @@ -86,7 +86,7 @@ yrs = { git = "https://github.com/appflowy/y-crdt", rev = "3f25bb510ca5274e7657d # Run the script: # scripts/tool/update_client_api_rev.sh new_rev_id # ⚠️⚠️⚠️️ -client-api = { git = "https://github.com/AppFlowy-IO/AppFlowy-Cloud", rev = "e2fd0493339b3d769e3f827b3351f16dd0ad457f" } +client-api = { git = "https://github.com/AppFlowy-IO/AppFlowy-Cloud", rev = "af75e8a2c00d9f8f2dd444bb50c30dd5ba490e3d" } # Please use the following script to update collab. # Working directory: frontend # @@ -96,10 +96,10 @@ client-api = { git = "https://github.com/AppFlowy-IO/AppFlowy-Cloud", rev = "e2f # To switch to the local path, run: # scripts/tool/update_collab_source.sh # ⚠️⚠️⚠️️ -collab = { git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "dda9ad4" } -collab-folder = { git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "dda9ad4" } -collab-document = { git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "dda9ad4" } -collab-database = { git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "dda9ad4" } -collab-plugins = { git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "dda9ad4" } -collab-user = { git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "dda9ad4" } -collab-entity = { git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "dda9ad4" } +collab = { git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "542ab275eae087f7be7207ada311c769ed1808b4" } +collab-folder = { git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "542ab275eae087f7be7207ada311c769ed1808b4" } +collab-document = { git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "542ab275eae087f7be7207ada311c769ed1808b4" } +collab-database = { git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "542ab275eae087f7be7207ada311c769ed1808b4" } +collab-plugins = { git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "542ab275eae087f7be7207ada311c769ed1808b4" } +collab-user = { git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "542ab275eae087f7be7207ada311c769ed1808b4" } +collab-entity = { git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "542ab275eae087f7be7207ada311c769ed1808b4" } diff --git a/frontend/rust-lib/Cargo.lock b/frontend/rust-lib/Cargo.lock index cc1d91b2b8..e80237c6f7 100644 --- a/frontend/rust-lib/Cargo.lock +++ b/frontend/rust-lib/Cargo.lock @@ -163,7 +163,7 @@ checksum = "080e9890a082662b09c1ad45f567faeeb47f22b5fb23895fbe1e651e718e25ca" [[package]] name = "app-error" version = "0.1.0" -source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=e2fd0493339b3d769e3f827b3351f16dd0ad457f#e2fd0493339b3d769e3f827b3351f16dd0ad457f" +source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=af75e8a2c00d9f8f2dd444bb50c30dd5ba490e3d#af75e8a2c00d9f8f2dd444bb50c30dd5ba490e3d" dependencies = [ "anyhow", "bincode", @@ -696,7 +696,7 @@ dependencies = [ [[package]] name = "client-api" version = "0.1.0" -source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=e2fd0493339b3d769e3f827b3351f16dd0ad457f#e2fd0493339b3d769e3f827b3351f16dd0ad457f" +source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=af75e8a2c00d9f8f2dd444bb50c30dd5ba490e3d#af75e8a2c00d9f8f2dd444bb50c30dd5ba490e3d" dependencies = [ "again", "anyhow", @@ -742,7 +742,7 @@ dependencies = [ [[package]] name = "client-websocket" version = "0.1.0" -source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=e2fd0493339b3d769e3f827b3351f16dd0ad457f#e2fd0493339b3d769e3f827b3351f16dd0ad457f" +source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=af75e8a2c00d9f8f2dd444bb50c30dd5ba490e3d#af75e8a2c00d9f8f2dd444bb50c30dd5ba490e3d" dependencies = [ "futures-channel", "futures-util", @@ -785,7 +785,7 @@ dependencies = [ [[package]] name = "collab" version = "0.1.0" -source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=dda9ad4#dda9ad49b78ef4e2cae7b5cbe41806b982ca6a44" +source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=542ab275eae087f7be7207ada311c769ed1808b4#542ab275eae087f7be7207ada311c769ed1808b4" dependencies = [ "anyhow", "async-trait", @@ -809,7 +809,7 @@ dependencies = [ [[package]] name = "collab-database" version = "0.1.0" -source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=dda9ad4#dda9ad49b78ef4e2cae7b5cbe41806b982ca6a44" +source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=542ab275eae087f7be7207ada311c769ed1808b4#542ab275eae087f7be7207ada311c769ed1808b4" dependencies = [ "anyhow", "async-trait", @@ -839,7 +839,7 @@ dependencies = [ [[package]] name = "collab-document" version = "0.1.0" -source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=dda9ad4#dda9ad49b78ef4e2cae7b5cbe41806b982ca6a44" +source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=542ab275eae087f7be7207ada311c769ed1808b4#542ab275eae087f7be7207ada311c769ed1808b4" dependencies = [ "anyhow", "collab", @@ -858,7 +858,7 @@ dependencies = [ [[package]] name = "collab-entity" version = "0.1.0" -source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=dda9ad4#dda9ad49b78ef4e2cae7b5cbe41806b982ca6a44" +source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=542ab275eae087f7be7207ada311c769ed1808b4#542ab275eae087f7be7207ada311c769ed1808b4" dependencies = [ "anyhow", "bytes", @@ -873,7 +873,7 @@ dependencies = [ [[package]] name = "collab-folder" version = "0.1.0" -source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=dda9ad4#dda9ad49b78ef4e2cae7b5cbe41806b982ca6a44" +source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=542ab275eae087f7be7207ada311c769ed1808b4#542ab275eae087f7be7207ada311c769ed1808b4" dependencies = [ "anyhow", "chrono", @@ -911,7 +911,7 @@ dependencies = [ [[package]] name = "collab-plugins" version = "0.1.0" -source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=dda9ad4#dda9ad49b78ef4e2cae7b5cbe41806b982ca6a44" +source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=542ab275eae087f7be7207ada311c769ed1808b4#542ab275eae087f7be7207ada311c769ed1808b4" dependencies = [ "anyhow", "async-stream", @@ -950,7 +950,7 @@ dependencies = [ [[package]] name = "collab-rt-entity" version = "0.1.0" -source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=e2fd0493339b3d769e3f827b3351f16dd0ad457f#e2fd0493339b3d769e3f827b3351f16dd0ad457f" +source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=af75e8a2c00d9f8f2dd444bb50c30dd5ba490e3d#af75e8a2c00d9f8f2dd444bb50c30dd5ba490e3d" dependencies = [ "anyhow", "bincode", @@ -975,7 +975,7 @@ dependencies = [ [[package]] name = "collab-rt-protocol" version = "0.1.0" -source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=e2fd0493339b3d769e3f827b3351f16dd0ad457f#e2fd0493339b3d769e3f827b3351f16dd0ad457f" +source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=af75e8a2c00d9f8f2dd444bb50c30dd5ba490e3d#af75e8a2c00d9f8f2dd444bb50c30dd5ba490e3d" dependencies = [ "anyhow", "bincode", @@ -989,7 +989,7 @@ dependencies = [ [[package]] name = "collab-user" version = "0.1.0" -source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=dda9ad4#dda9ad49b78ef4e2cae7b5cbe41806b982ca6a44" +source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=542ab275eae087f7be7207ada311c769ed1808b4#542ab275eae087f7be7207ada311c769ed1808b4" dependencies = [ "anyhow", "collab", @@ -1192,7 +1192,7 @@ dependencies = [ "cssparser-macros", "dtoa-short", "itoa", - "phf 0.8.0", + "phf 0.11.2", "smallvec", ] @@ -1326,7 +1326,7 @@ checksum = "c2e66c9d817f1720209181c316d28635c050fa304f9c79e47a520882661b7308" [[package]] name = "database-entity" version = "0.1.0" -source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=e2fd0493339b3d769e3f827b3351f16dd0ad457f#e2fd0493339b3d769e3f827b3351f16dd0ad457f" +source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=af75e8a2c00d9f8f2dd444bb50c30dd5ba490e3d#af75e8a2c00d9f8f2dd444bb50c30dd5ba490e3d" dependencies = [ "anyhow", "app-error", @@ -2596,7 +2596,7 @@ dependencies = [ [[package]] name = "gotrue" version = "0.1.0" -source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=e2fd0493339b3d769e3f827b3351f16dd0ad457f#e2fd0493339b3d769e3f827b3351f16dd0ad457f" +source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=af75e8a2c00d9f8f2dd444bb50c30dd5ba490e3d#af75e8a2c00d9f8f2dd444bb50c30dd5ba490e3d" dependencies = [ "anyhow", "futures-util", @@ -2613,7 +2613,7 @@ dependencies = [ [[package]] name = "gotrue-entity" version = "0.1.0" -source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=e2fd0493339b3d769e3f827b3351f16dd0ad457f#e2fd0493339b3d769e3f827b3351f16dd0ad457f" +source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=af75e8a2c00d9f8f2dd444bb50c30dd5ba490e3d#af75e8a2c00d9f8f2dd444bb50c30dd5ba490e3d" dependencies = [ "anyhow", "app-error", @@ -2984,7 +2984,7 @@ dependencies = [ [[package]] name = "infra" version = "0.1.0" -source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=e2fd0493339b3d769e3f827b3351f16dd0ad457f#e2fd0493339b3d769e3f827b3351f16dd0ad457f" +source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=af75e8a2c00d9f8f2dd444bb50c30dd5ba490e3d#af75e8a2c00d9f8f2dd444bb50c30dd5ba490e3d" dependencies = [ "anyhow", "reqwest", @@ -3859,7 +3859,7 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3dfb61232e34fcb633f43d12c58f83c1df82962dcdfa565a4e866ffc17dafe12" dependencies = [ - "phf_macros", + "phf_macros 0.8.0", "phf_shared 0.8.0", "proc-macro-hack", ] @@ -3879,6 +3879,7 @@ version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc" dependencies = [ + "phf_macros 0.11.2", "phf_shared 0.11.2", ] @@ -3946,6 +3947,19 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "phf_macros" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3444646e286606587e49f3bcf1679b8cef1dc2c5ecc29ddacaffc305180d464b" +dependencies = [ + "phf_generator 0.11.2", + "phf_shared 0.11.2", + "proc-macro2", + "quote", + "syn 2.0.47", +] + [[package]] name = "phf_shared" version = "0.8.0" @@ -4149,7 +4163,7 @@ checksum = "c55e02e35260070b6f716a2423c2ff1c3bb1642ddca6f99e1f26d06268a0e2d2" dependencies = [ "bytes", "heck 0.4.1", - "itertools 0.11.0", + "itertools 0.10.5", "log", "multimap", "once_cell", @@ -4170,7 +4184,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "efb6c9a1dd1def8e2124d17e83a20af56f1570d6c2d2bd9e266ccb768df3840e" dependencies = [ "anyhow", - "itertools 0.11.0", + "itertools 0.10.5", "proc-macro2", "quote", "syn 2.0.47", @@ -5096,7 +5110,7 @@ dependencies = [ [[package]] name = "shared-entity" version = "0.1.0" -source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=e2fd0493339b3d769e3f827b3351f16dd0ad457f#e2fd0493339b3d769e3f827b3351f16dd0ad457f" +source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=af75e8a2c00d9f8f2dd444bb50c30dd5ba490e3d#af75e8a2c00d9f8f2dd444bb50c30dd5ba490e3d" dependencies = [ "anyhow", "app-error", diff --git a/frontend/rust-lib/Cargo.toml b/frontend/rust-lib/Cargo.toml index c9a7b6377e..d88b3cef19 100644 --- a/frontend/rust-lib/Cargo.toml +++ b/frontend/rust-lib/Cargo.toml @@ -115,7 +115,7 @@ rocksdb = { git = "https://github.com/LucasXu0/rust-rocksdb", rev = "21cf4a23ec1 # Run the script.add_workspace_members: # scripts/tool/update_client_api_rev.sh new_rev_id # ⚠️⚠️⚠️️ -client-api = { git = " https://github.com/AppFlowy-IO/AppFlowy-Cloud", rev = "e2fd0493339b3d769e3f827b3351f16dd0ad457f" } +client-api = { git = " https://github.com/AppFlowy-IO/AppFlowy-Cloud", rev = "af75e8a2c00d9f8f2dd444bb50c30dd5ba490e3d" } # Please use the following script to update collab. # Working directory: frontend # @@ -125,10 +125,10 @@ client-api = { git = " https://github.com/AppFlowy-IO/AppFlowy-Cloud", rev = "e2 # To switch to the local path, run: # scripts/tool/update_collab_source.sh # ⚠️⚠️⚠️️ -collab = { git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "dda9ad4" } -collab-folder = { git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "dda9ad4" } -collab-document = { git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "dda9ad4" } -collab-database = { git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "dda9ad4" } -collab-plugins = { git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "dda9ad4" } -collab-user = { git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "dda9ad4" } -collab-entity = { git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "dda9ad4" } +collab = { git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "542ab275eae087f7be7207ada311c769ed1808b4" } +collab-folder = { git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "542ab275eae087f7be7207ada311c769ed1808b4" } +collab-document = { git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "542ab275eae087f7be7207ada311c769ed1808b4" } +collab-database = { git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "542ab275eae087f7be7207ada311c769ed1808b4" } +collab-plugins = { git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "542ab275eae087f7be7207ada311c769ed1808b4" } +collab-user = { git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "542ab275eae087f7be7207ada311c769ed1808b4" } +collab-entity = { git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "542ab275eae087f7be7207ada311c769ed1808b4" } diff --git a/frontend/rust-lib/flowy-database2/src/manager.rs b/frontend/rust-lib/flowy-database2/src/manager.rs index dbe86525f9..f5ac2a7821 100644 --- a/frontend/rust-lib/flowy-database2/src/manager.rs +++ b/frontend/rust-lib/flowy-database2/src/manager.rs @@ -3,8 +3,7 @@ use std::collections::HashMap; use std::sync::{Arc, Weak}; use collab::core::collab::{DataSource, MutexCollab}; -use collab_database::blocks::BlockEvent; -use collab_database::database::{DatabaseData, MutexDatabase}; +use collab_database::database::DatabaseData; use collab_database::error::DatabaseError; use collab_database::views::{CreateDatabaseParams, CreateViewParams, DatabaseLayout}; use collab_database::workspace_database::{ @@ -19,11 +18,9 @@ use collab_integrate::collab_builder::{AppFlowyCollabBuilder, CollabBuilderConfi use collab_integrate::{CollabKVAction, CollabKVDB, CollabPersistenceConfig}; use flowy_database_pub::cloud::DatabaseCloudService; use flowy_error::{internal_error, FlowyError, FlowyResult}; -use lib_dispatch::prelude::af_spawn; use lib_infra::priority_task::TaskDispatcher; -use crate::entities::{DatabaseLayoutPB, DatabaseSnapshotPB, DidFetchRowPB}; -use crate::notification::{send_notification, DatabaseNotification}; +use crate::entities::{DatabaseLayoutPB, DatabaseSnapshotPB}; use crate::services::database::DatabaseEditor; use crate::services::database_view::DatabaseLayoutDepsResolver; use crate::services::field_settings::default_field_settings_by_layout_map; @@ -219,9 +216,6 @@ impl DatabaseManager { .await .ok_or_else(|| FlowyError::collab_not_sync().with_context("open database error"))?; - // Subscribe the [BlockEvent] - subscribe_block_event(&database); - let editor = Arc::new(DatabaseEditor::new(database, self.task_scheduler.clone()).await?); self .editors @@ -418,27 +412,6 @@ impl DatabaseManager { } } -/// Send notification to all clients that are listening to the given object. -fn subscribe_block_event(database: &Arc) { - let mut block_event_rx = database.lock().subscribe_block_event(); - af_spawn(async move { - while let Ok(event) = block_event_rx.recv().await { - match event { - BlockEvent::DidFetchRow(row_details) => { - for row_detail in row_details { - trace!("Did fetch row: {:?}", row_detail.row.id); - let row_id = row_detail.row.id.clone(); - let pb = DidFetchRowPB::from(row_detail); - send_notification(&row_id, DatabaseNotification::DidFetchRow) - .payload(pb) - .send(); - } - }, - } - } - }); -} - struct UserDatabaseCollabServiceImpl { user: Arc, collab_builder: Arc, diff --git a/frontend/rust-lib/flowy-database2/src/services/database/database_editor.rs b/frontend/rust-lib/flowy-database2/src/services/database/database_editor.rs index ba0266dc6e..c770c2b5fc 100644 --- a/frontend/rust-lib/flowy-database2/src/services/database/database_editor.rs +++ b/frontend/rust-lib/flowy-database2/src/services/database/database_editor.rs @@ -2,6 +2,7 @@ use crate::entities::*; use crate::notification::{send_notification, DatabaseNotification}; use crate::services::calculations::Calculation; use crate::services::cell::{apply_cell_changeset, get_cell_protobuf, CellCache}; +use crate::services::database::database_observe::*; use crate::services::database::util::database_view_setting_pb_from_view; use crate::services::database::UpdatedRow; use crate::services::database_view::{ @@ -26,8 +27,6 @@ use collab_database::views::{ DatabaseLayout, DatabaseView, FilterMap, LayoutSetting, OrderObjectPosition, }; use flowy_error::{internal_error, ErrorCode, FlowyError, FlowyResult}; -use futures::StreamExt; -use lib_dispatch::prelude::af_spawn; use lib_infra::box_any::BoxAny; use lib_infra::future::{to_fut, Fut, FutureResult}; use lib_infra::priority_task::TaskDispatcher; @@ -53,38 +52,11 @@ impl DatabaseEditor { let database_id = database.lock().get_database_id(); // Receive database sync state and send to frontend via the notification - let mut sync_state = database.lock().subscribe_sync_state(); - let cloned_database_id = database_id.clone(); - af_spawn(async move { - while let Some(sync_state) = sync_state.next().await { - send_notification( - &cloned_database_id, - DatabaseNotification::DidUpdateDatabaseSyncUpdate, - ) - .payload(DatabaseSyncStatePB::from(sync_state)) - .send(); - } - }); - - // Receive database snapshot state and send to frontend via the notification - let mut snapshot_state = database.lock().subscribe_snapshot_state(); - af_spawn(async move { - while let Some(snapshot_state) = snapshot_state.next().await { - if let Some(new_snapshot_id) = snapshot_state.snapshot_id() { - tracing::debug!( - "Did create {} database remote snapshot: {}", - database_id, - new_snapshot_id - ); - send_notification( - &database_id, - DatabaseNotification::DidUpdateDatabaseSnapshotState, - ) - .payload(DatabaseSnapshotStatePB { new_snapshot_id }) - .send(); - } - } - }); + observe_sync_state(&database_id, &database).await; + // observe_view_change(&database_id, &database).await; + // observe_field_change(&database_id, &database).await; + // observe_rows_change(&database_id, &database).await; + // observe_block_event(&database_id, &database).await; // Used to cache the view of the database for fast access. let editor_by_view_id = Arc::new(RwLock::new(EditorByViewId::default())); diff --git a/frontend/rust-lib/flowy-database2/src/services/database/database_observe.rs b/frontend/rust-lib/flowy-database2/src/services/database/database_observe.rs new file mode 100644 index 0000000000..45194d8f4e --- /dev/null +++ b/frontend/rust-lib/flowy-database2/src/services/database/database_observe.rs @@ -0,0 +1,150 @@ +use crate::entities::{DatabaseSyncStatePB, DidFetchRowPB}; +use crate::notification::{send_notification, DatabaseNotification}; +use collab_database::blocks::BlockEvent; +use collab_database::database::MutexDatabase; +use collab_database::fields::FieldChange; +use collab_database::rows::RowChange; +use collab_database::views::DatabaseViewChange; +use futures::StreamExt; +use lib_dispatch::prelude::af_spawn; +use std::sync::Arc; +use tracing::trace; + +pub(crate) async fn observe_sync_state(database_id: &str, database: &Arc) { + let weak_database = Arc::downgrade(database); + let mut sync_state = database.lock().subscribe_sync_state(); + let database_id = database_id.to_string(); + af_spawn(async move { + while let Some(sync_state) = sync_state.next().await { + if weak_database.upgrade().is_none() { + break; + } + + send_notification( + &database_id, + DatabaseNotification::DidUpdateDatabaseSyncUpdate, + ) + .payload(DatabaseSyncStatePB::from(sync_state)) + .send(); + } + }); +} + +#[allow(dead_code)] +pub(crate) async fn observe_rows_change(database_id: &str, database: &Arc) { + let database_id = database_id.to_string(); + let weak_database = Arc::downgrade(database); + let mut row_change = database.lock().subscribe_row_change(); + af_spawn(async move { + while let Ok(row_change) = row_change.recv().await { + if weak_database.upgrade().is_none() { + break; + } + + trace!( + "[Database Observe]: {} row change:{:?}", + database_id, + row_change + ); + match row_change { + RowChange::DidUpdateVisibility { .. } => {}, + RowChange::DidUpdateHeight { .. } => {}, + RowChange::DidUpdateCell { .. } => {}, + RowChange::DidUpdateRowComment { .. } => {}, + } + } + }); +} + +#[allow(dead_code)] +pub(crate) async fn observe_field_change(database_id: &str, database: &Arc) { + let database_id = database_id.to_string(); + let weak_database = Arc::downgrade(database); + let mut field_change = database.lock().subscribe_field_change(); + af_spawn(async move { + while let Ok(field_change) = field_change.recv().await { + if weak_database.upgrade().is_none() { + break; + } + + trace!( + "[Database Observe]: {} field change:{:?}", + database_id, + field_change + ); + match field_change { + FieldChange::DidUpdateField { .. } => {}, + FieldChange::DidCreateField { .. } => {}, + FieldChange::DidDeleteField { .. } => {}, + } + } + }); +} + +#[allow(dead_code)] +pub(crate) async fn observe_view_change(database_id: &str, database: &Arc) { + let database_id = database_id.to_string(); + let weak_database = Arc::downgrade(database); + let mut view_change = database.lock().subscribe_view_change(); + af_spawn(async move { + while let Ok(view_change) = view_change.recv().await { + if weak_database.upgrade().is_none() { + break; + } + + trace!( + "[Database Observe]: {} view change:{:?}", + database_id, + view_change + ); + match view_change { + DatabaseViewChange::DidCreateView { .. } => {}, + DatabaseViewChange::DidUpdateView { .. } => {}, + DatabaseViewChange::DidDeleteView { .. } => {}, + DatabaseViewChange::LayoutSettingChanged { .. } => {}, + DatabaseViewChange::DidInsertRowOrders { .. } => {}, + DatabaseViewChange::DidDeleteRowAtIndex { .. } => {}, + DatabaseViewChange::DidCreateFilters { .. } => {}, + DatabaseViewChange::DidUpdateFilter { .. } => {}, + DatabaseViewChange::DidCreateGroupSettings { .. } => {}, + DatabaseViewChange::DidUpdateGroupSetting { .. } => {}, + DatabaseViewChange::DidCreateSorts { .. } => {}, + DatabaseViewChange::DidUpdateSort { .. } => {}, + DatabaseViewChange::DidCreateFieldOrder { .. } => {}, + DatabaseViewChange::DidDeleteFieldOrder { .. } => {}, + } + } + }); +} + +#[allow(dead_code)] +pub(crate) async fn observe_block_event(database_id: &str, database: &Arc) { + let database_id = database_id.to_string(); + let weak_database = Arc::downgrade(database); + let mut block_event_rx = database.lock().subscribe_block_event(); + af_spawn(async move { + while let Ok(event) = block_event_rx.recv().await { + if weak_database.upgrade().is_none() { + break; + } + + trace!( + "[Database Observe]: {} block event: {:?}", + database_id, + event + ); + match event { + BlockEvent::DidFetchRow(row_details) => { + for row_detail in row_details { + trace!("Did fetch row: {:?}", row_detail.row.id); + let row_id = row_detail.row.id.clone(); + let pb = DidFetchRowPB::from(row_detail); + send_notification(&row_id, DatabaseNotification::DidFetchRow) + .payload(pb) + .send(); + } + }, + } + } + }); +} diff --git a/frontend/rust-lib/flowy-database2/src/services/database/mod.rs b/frontend/rust-lib/flowy-database2/src/services/database/mod.rs index 37cb768ddb..d11791561b 100644 --- a/frontend/rust-lib/flowy-database2/src/services/database/mod.rs +++ b/frontend/rust-lib/flowy-database2/src/services/database/mod.rs @@ -1,4 +1,5 @@ mod database_editor; +mod database_observe; mod entities; mod util;