feat: appflowy_web build (#4302)

* chore: create web folder

* fix: support lib-dispatch and notification compiling to wasm

* refactor: wasm

* refactor: call async evnet

* chore: add web ci

* ci: fix

* ci: fix

* ci: fix

---------

Co-authored-by: nathan <nathan@appflowy.io>
This commit is contained in:
Kilu.He
2024-01-06 11:50:05 +08:00
committed by GitHub
parent 89370b4a55
commit 79c912219d
49 changed files with 4801 additions and 123 deletions

View File

@ -19,8 +19,5 @@ tokio = { workspace = true, features = ["sync"]}
lib-infra = { workspace = true }
[features]
default = ["rocksdb_plugin"]
supabase_integrate = ["rocksdb_plugin"]
appflowy_cloud_integrate = ["rocksdb_plugin"]
snapshot_plugin = ["rocksdb_plugin"]
rocksdb_plugin = []
default = []
wasm_build = []

View File

@ -245,47 +245,41 @@ impl AppFlowyCollabBuilder {
let _enter = span.enter();
match provider_type {
CollabPluginProviderType::AppFlowyCloud => {
#[cfg(feature = "appflowy_cloud_integrate")]
{
trace!("init appflowy cloud collab plugins");
let local_collab = Arc::downgrade(&collab);
let plugins = self
.plugin_provider
.read()
.await
.get_plugins(CollabPluginProviderContext::AppFlowyCloud {
uid,
collab_object: collab_object.clone(),
local_collab,
})
.await;
trace!("init appflowy cloud collab plugins");
let local_collab = Arc::downgrade(&collab);
let plugins = self
.plugin_provider
.read()
.await
.get_plugins(CollabPluginProviderContext::AppFlowyCloud {
uid,
collab_object: collab_object.clone(),
local_collab,
})
.await;
trace!("add appflowy cloud collab plugins: {}", plugins.len());
for plugin in plugins {
collab.lock().add_plugin(plugin);
}
trace!("add appflowy cloud collab plugins: {}", plugins.len());
for plugin in plugins {
collab.lock().add_plugin(plugin);
}
},
CollabPluginProviderType::Supabase => {
#[cfg(feature = "supabase_integrate")]
{
trace!("init supabase collab plugins");
let local_collab = Arc::downgrade(&collab);
let local_collab_db = collab_db.clone();
let plugins = self
.plugin_provider
.read()
.await
.get_plugins(CollabPluginProviderContext::Supabase {
uid,
collab_object: collab_object.clone(),
local_collab,
local_collab_db,
})
.await;
for plugin in plugins {
collab.lock().add_plugin(plugin);
}
trace!("init supabase collab plugins");
let local_collab = Arc::downgrade(&collab);
let local_collab_db = collab_db.clone();
let plugins = self
.plugin_provider
.read()
.await
.get_plugins(CollabPluginProviderContext::Supabase {
uid,
collab_object: collab_object.clone(),
local_collab,
local_collab_db,
})
.await;
for plugin in plugins {
collab.lock().add_plugin(plugin);
}
},
CollabPluginProviderType::Local => {},

View File

@ -1,17 +1,6 @@
pub use collab::core::collab::MutexCollab;
pub use collab::preclude::Snapshot;
#[cfg(feature = "supabase_integrate")]
#[cfg(any(
feature = "appflowy_cloud_integrate",
feature = "supabase_integrate",
feature = "rocksdb_plugin"
))]
pub use collab_plugins::local_storage::CollabPersistenceConfig;
#[cfg(any(
feature = "appflowy_cloud_integrate",
feature = "supabase_integrate",
feature = "rocksdb_plugin"
))]
pub use collab_plugins::CollabKVDB;
pub mod collab_builder;
pub mod config;