chore: merge with config setting

This commit is contained in:
nathan
2022-11-06 09:59:53 +08:00
parent 2c71e4f885
commit ff7aab73cc
29 changed files with 317 additions and 176 deletions

View File

@ -15,7 +15,10 @@ use bytes::Bytes;
use flowy_document::editor::initial_read_me;
use flowy_error::FlowyError;
use flowy_folder_data_model::user_default;
use flowy_revision::{RevisionManager, RevisionPersistence, RevisionWebSocket, SQLiteRevisionSnapshotPersistence};
use flowy_revision::{
RevisionManager, RevisionPersistence, RevisionPersistenceConfiguration, RevisionWebSocket,
SQLiteRevisionSnapshotPersistence,
};
use flowy_sync::{client_folder::FolderPad, entities::ws_data::ServerRevisionWSData};
use lazy_static::lazy_static;
use lib_infra::future::FutureResult;
@ -165,7 +168,8 @@ impl FolderManager {
let pool = self.persistence.db_pool()?;
let object_id = folder_id.as_ref();
let disk_cache = SQLiteFolderRevisionPersistence::new(user_id, pool.clone());
let rev_persistence = RevisionPersistence::new(user_id, object_id, disk_cache);
let configuration = RevisionPersistenceConfiguration::new(50);
let rev_persistence = RevisionPersistence::new(user_id, object_id, disk_cache, configuration);
let rev_compactor = FolderRevisionCompress();
// let history_persistence = SQLiteRevisionHistoryPersistence::new(object_id, pool.clone());
let snapshot_persistence = SQLiteRevisionSnapshotPersistence::new(object_id, pool);

View File

@ -2,7 +2,7 @@ use crate::manager::FolderId;
use bytes::Bytes;
use flowy_error::{FlowyError, FlowyResult};
use flowy_revision::{
RevisionCloudService, RevisionCompress, RevisionManager, RevisionObjectDeserializer, RevisionObjectSerializer,
RevisionCloudService, RevisionManager, RevisionMergeable, RevisionObjectDeserializer, RevisionObjectSerializer,
RevisionWebSocket,
};
use flowy_sync::util::make_operations_from_revisions;
@ -18,9 +18,8 @@ use parking_lot::RwLock;
use std::sync::Arc;
pub struct FolderEditor {
user_id: String,
#[allow(dead_code)]
pub(crate) folder_id: FolderId,
user_id: String,
pub(crate) folder: Arc<RwLock<FolderPad>>,
rev_manager: Arc<RevisionManager<Arc<ConnectionPool>>>,
#[cfg(feature = "sync")]
@ -56,7 +55,6 @@ impl FolderEditor {
let folder_id = folder_id.to_owned();
Ok(Self {
user_id,
folder_id,
folder,
rev_manager,
#[cfg(feature = "sync")]
@ -113,7 +111,7 @@ impl RevisionObjectSerializer for FolderRevisionSerde {
}
pub struct FolderRevisionCompress();
impl RevisionCompress for FolderRevisionCompress {
impl RevisionMergeable for FolderRevisionCompress {
fn combine_revisions(&self, revisions: Vec<Revision>) -> FlowyResult<Bytes> {
FolderRevisionSerde::combine_revisions(revisions)
}

View File

@ -220,7 +220,7 @@ impl std::default::Default for TextRevisionState {
}
}
fn mk_revision_record_from_table(user_id: &str, table: RevisionTable) -> SyncRecord {
fn mk_revision_record_from_table(_user_id: &str, table: RevisionTable) -> SyncRecord {
let md5 = md5(&table.data);
let revision = Revision::new(
&table.doc_id,