Skip to content

Commit ff7aab7

Browse files
committed
chore: merge with config setting
1 parent 2c71e4f commit ff7aab7

File tree

29 files changed

+322
-181
lines changed

29 files changed

+322
-181
lines changed

frontend/rust-lib/flowy-document/src/editor/document.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
use bytes::Bytes;
22
use flowy_error::{FlowyError, FlowyResult};
3-
use flowy_revision::{RevisionCompress, RevisionObjectDeserializer, RevisionObjectSerializer};
3+
use flowy_revision::{RevisionMergeable, RevisionObjectDeserializer, RevisionObjectSerializer};
44
use flowy_sync::entities::revision::Revision;
55
use lib_ot::core::{Extension, NodeDataBuilder, NodeOperation, NodeTree, NodeTreeContext, Selection, Transaction};
66
use lib_ot::text_delta::DeltaTextOperationBuilder;
@@ -96,7 +96,7 @@ impl RevisionObjectSerializer for DocumentRevisionSerde {
9696
}
9797

9898
pub(crate) struct DocumentRevisionCompress();
99-
impl RevisionCompress for DocumentRevisionCompress {
99+
impl RevisionMergeable for DocumentRevisionCompress {
100100
fn combine_revisions(&self, revisions: Vec<Revision>) -> FlowyResult<Bytes> {
101101
DocumentRevisionSerde::combine_revisions(revisions)
102102
}

frontend/rust-lib/flowy-document/src/manager.rs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@ use dashmap::DashMap;
99
use flowy_database::ConnectionPool;
1010
use flowy_error::FlowyResult;
1111
use flowy_revision::{
12-
RevisionCloudService, RevisionManager, RevisionPersistence, RevisionWebSocket, SQLiteRevisionSnapshotPersistence,
12+
RevisionCloudService, RevisionManager, RevisionPersistence, RevisionPersistenceConfiguration, RevisionWebSocket,
13+
SQLiteRevisionSnapshotPersistence,
1314
};
1415
use flowy_sync::client_document::initial_delta_document_content;
1516
use flowy_sync::entities::{document::DocumentIdPB, revision::Revision, ws_data::ServerRevisionWSData};
@@ -246,7 +247,8 @@ impl DocumentManager {
246247
) -> Result<RevisionManager<Arc<ConnectionPool>>, FlowyError> {
247248
let user_id = self.user.user_id()?;
248249
let disk_cache = SQLiteDocumentRevisionPersistence::new(&user_id, pool.clone());
249-
let rev_persistence = RevisionPersistence::new(&user_id, doc_id, disk_cache);
250+
let configuration = RevisionPersistenceConfiguration::default();
251+
let rev_persistence = RevisionPersistence::new(&user_id, doc_id, disk_cache, configuration);
250252
// let history_persistence = SQLiteRevisionHistoryPersistence::new(doc_id, pool.clone());
251253
let snapshot_persistence = SQLiteRevisionSnapshotPersistence::new(doc_id, pool);
252254
Ok(RevisionManager::new(
@@ -266,7 +268,8 @@ impl DocumentManager {
266268
) -> Result<RevisionManager<Arc<ConnectionPool>>, FlowyError> {
267269
let user_id = self.user.user_id()?;
268270
let disk_cache = SQLiteDeltaDocumentRevisionPersistence::new(&user_id, pool.clone());
269-
let rev_persistence = RevisionPersistence::new(&user_id, doc_id, disk_cache);
271+
let configuration = RevisionPersistenceConfiguration::default();
272+
let rev_persistence = RevisionPersistence::new(&user_id, doc_id, disk_cache, configuration);
270273
// let history_persistence = SQLiteRevisionHistoryPersistence::new(doc_id, pool.clone());
271274
let snapshot_persistence = SQLiteRevisionSnapshotPersistence::new(doc_id, pool);
272275
Ok(RevisionManager::new(

frontend/rust-lib/flowy-document/src/old_editor/editor.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ use bytes::Bytes;
66
use flowy_database::ConnectionPool;
77
use flowy_error::{internal_error, FlowyResult};
88
use flowy_revision::{
9-
RevisionCloudService, RevisionCompress, RevisionManager, RevisionObjectDeserializer, RevisionObjectSerializer,
9+
RevisionCloudService, RevisionManager, RevisionMergeable, RevisionObjectDeserializer, RevisionObjectSerializer,
1010
RevisionWebSocket,
1111
};
1212
use flowy_sync::entities::ws_data::ServerRevisionWSData;
@@ -270,7 +270,7 @@ impl RevisionObjectSerializer for DeltaDocumentRevisionSerde {
270270
}
271271

272272
pub(crate) struct DeltaDocumentRevisionCompress();
273-
impl RevisionCompress for DeltaDocumentRevisionCompress {
273+
impl RevisionMergeable for DeltaDocumentRevisionCompress {
274274
fn combine_revisions(&self, revisions: Vec<Revision>) -> FlowyResult<Bytes> {
275275
DeltaDocumentRevisionSerde::combine_revisions(revisions)
276276
}

frontend/rust-lib/flowy-document/src/old_editor/queue.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ use tokio::sync::{oneshot, RwLock};
2323
// serial.
2424
pub(crate) struct EditDocumentQueue {
2525
document: Arc<RwLock<ClientDocument>>,
26+
#[allow(dead_code)]
2627
user: Arc<dyn DocumentUser>,
2728
rev_manager: Arc<RevisionManager<Arc<ConnectionPool>>>,
2829
receiver: Option<EditorCommandReceiver>,

frontend/rust-lib/flowy-document/src/services/persistence/rev_sqlite/document_rev_sqlite_v0.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -244,7 +244,7 @@ impl std::default::Default for TextRevisionState {
244244
}
245245
}
246246

247-
fn mk_revision_record_from_table(user_id: &str, table: RevisionTable) -> SyncRecord {
247+
fn mk_revision_record_from_table(_user_id: &str, table: RevisionTable) -> SyncRecord {
248248
let md5 = md5(&table.data);
249249
let revision = Revision::new(
250250
&table.doc_id,

frontend/rust-lib/flowy-document/src/services/persistence/rev_sqlite/document_rev_sqlite_v1.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -220,7 +220,7 @@ impl std::default::Default for DocumentRevisionState {
220220
}
221221
}
222222

223-
fn mk_revision_record_from_table(user_id: &str, table: DocumentRevisionTable) -> SyncRecord {
223+
fn mk_revision_record_from_table(_user_id: &str, table: DocumentRevisionTable) -> SyncRecord {
224224
let md5 = md5(&table.data);
225225
let revision = Revision::new(
226226
&table.document_id,

frontend/rust-lib/flowy-folder/src/manager.rs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,10 @@ use bytes::Bytes;
1515
use flowy_document::editor::initial_read_me;
1616
use flowy_error::FlowyError;
1717
use flowy_folder_data_model::user_default;
18-
use flowy_revision::{RevisionManager, RevisionPersistence, RevisionWebSocket, SQLiteRevisionSnapshotPersistence};
18+
use flowy_revision::{
19+
RevisionManager, RevisionPersistence, RevisionPersistenceConfiguration, RevisionWebSocket,
20+
SQLiteRevisionSnapshotPersistence,
21+
};
1922
use flowy_sync::{client_folder::FolderPad, entities::ws_data::ServerRevisionWSData};
2023
use lazy_static::lazy_static;
2124
use lib_infra::future::FutureResult;
@@ -165,7 +168,8 @@ impl FolderManager {
165168
let pool = self.persistence.db_pool()?;
166169
let object_id = folder_id.as_ref();
167170
let disk_cache = SQLiteFolderRevisionPersistence::new(user_id, pool.clone());
168-
let rev_persistence = RevisionPersistence::new(user_id, object_id, disk_cache);
171+
let configuration = RevisionPersistenceConfiguration::new(50);
172+
let rev_persistence = RevisionPersistence::new(user_id, object_id, disk_cache, configuration);
169173
let rev_compactor = FolderRevisionCompress();
170174
// let history_persistence = SQLiteRevisionHistoryPersistence::new(object_id, pool.clone());
171175
let snapshot_persistence = SQLiteRevisionSnapshotPersistence::new(object_id, pool);

frontend/rust-lib/flowy-folder/src/services/folder_editor.rs

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ use crate::manager::FolderId;
22
use bytes::Bytes;
33
use flowy_error::{FlowyError, FlowyResult};
44
use flowy_revision::{
5-
RevisionCloudService, RevisionCompress, RevisionManager, RevisionObjectDeserializer, RevisionObjectSerializer,
5+
RevisionCloudService, RevisionManager, RevisionMergeable, RevisionObjectDeserializer, RevisionObjectSerializer,
66
RevisionWebSocket,
77
};
88
use flowy_sync::util::make_operations_from_revisions;
@@ -18,9 +18,8 @@ use parking_lot::RwLock;
1818
use std::sync::Arc;
1919

2020
pub struct FolderEditor {
21-
user_id: String,
2221
#[allow(dead_code)]
23-
pub(crate) folder_id: FolderId,
22+
user_id: String,
2423
pub(crate) folder: Arc<RwLock<FolderPad>>,
2524
rev_manager: Arc<RevisionManager<Arc<ConnectionPool>>>,
2625
#[cfg(feature = "sync")]
@@ -56,7 +55,6 @@ impl FolderEditor {
5655
let folder_id = folder_id.to_owned();
5756
Ok(Self {
5857
user_id,
59-
folder_id,
6058
folder,
6159
rev_manager,
6260
#[cfg(feature = "sync")]
@@ -113,7 +111,7 @@ impl RevisionObjectSerializer for FolderRevisionSerde {
113111
}
114112

115113
pub struct FolderRevisionCompress();
116-
impl RevisionCompress for FolderRevisionCompress {
114+
impl RevisionMergeable for FolderRevisionCompress {
117115
fn combine_revisions(&self, revisions: Vec<Revision>) -> FlowyResult<Bytes> {
118116
FolderRevisionSerde::combine_revisions(revisions)
119117
}

frontend/rust-lib/flowy-folder/src/services/persistence/rev_sqlite/folder_rev_sqlite.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -220,7 +220,7 @@ impl std::default::Default for TextRevisionState {
220220
}
221221
}
222222

223-
fn mk_revision_record_from_table(user_id: &str, table: RevisionTable) -> SyncRecord {
223+
fn mk_revision_record_from_table(_user_id: &str, table: RevisionTable) -> SyncRecord {
224224
let md5 = md5(&table.data);
225225
let revision = Revision::new(
226226
&table.doc_id,

frontend/rust-lib/flowy-grid/src/manager.rs

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,10 @@ use dashmap::DashMap;
1313
use flowy_database::ConnectionPool;
1414
use flowy_error::{FlowyError, FlowyResult};
1515
use flowy_grid_data_model::revision::{BuildGridContext, GridRevision, GridViewRevision};
16-
use flowy_revision::{RevisionManager, RevisionPersistence, RevisionWebSocket, SQLiteRevisionSnapshotPersistence};
16+
use flowy_revision::{
17+
RevisionManager, RevisionPersistence, RevisionPersistenceConfiguration, RevisionWebSocket,
18+
SQLiteRevisionSnapshotPersistence,
19+
};
1720
use flowy_sync::client_grid::{make_grid_block_operations, make_grid_operations, make_grid_view_operations};
1821
use flowy_sync::entities::revision::Revision;
1922
use std::sync::Arc;
@@ -161,7 +164,8 @@ impl GridManager {
161164
) -> FlowyResult<RevisionManager<Arc<ConnectionPool>>> {
162165
let user_id = self.grid_user.user_id()?;
163166
let disk_cache = SQLiteGridRevisionPersistence::new(&user_id, pool.clone());
164-
let rev_persistence = RevisionPersistence::new(&user_id, grid_id, disk_cache);
167+
let configuration = RevisionPersistenceConfiguration::default();
168+
let rev_persistence = RevisionPersistence::new(&user_id, grid_id, disk_cache, configuration);
165169
let snapshot_persistence = SQLiteRevisionSnapshotPersistence::new(grid_id, pool);
166170
let rev_compactor = GridRevisionCompress();
167171
let rev_manager = RevisionManager::new(&user_id, grid_id, rev_persistence, rev_compactor, snapshot_persistence);
@@ -175,7 +179,8 @@ impl GridManager {
175179
) -> FlowyResult<RevisionManager<Arc<ConnectionPool>>> {
176180
let user_id = self.grid_user.user_id()?;
177181
let disk_cache = SQLiteGridBlockRevisionPersistence::new(&user_id, pool.clone());
178-
let rev_persistence = RevisionPersistence::new(&user_id, block_id, disk_cache);
182+
let configuration = RevisionPersistenceConfiguration::default();
183+
let rev_persistence = RevisionPersistence::new(&user_id, block_id, disk_cache, configuration);
179184
let rev_compactor = GridBlockRevisionCompress();
180185
let snapshot_persistence = SQLiteRevisionSnapshotPersistence::new(block_id, pool);
181186
let rev_manager =
@@ -185,7 +190,7 @@ impl GridManager {
185190
}
186191

187192
pub async fn make_grid_view_data(
188-
user_id: &str,
193+
_user_id: &str,
189194
view_id: &str,
190195
layout: GridLayout,
191196
grid_manager: Arc<GridManager>,

0 commit comments

Comments
 (0)