Commit graph

324 commits

Author SHA1 Message Date
Zack
826546c5cb
feat: duplicate published doc (#700)
* chore: test collab sync

* feat: folder view for user workspace

* feat: add private indicator

* chore: use collab cache instead

* chore: initial impl

* chore: cargo sqlx

* fix: write back to collab cache

* fix: assign page id

* fix: text map

* chore: connect api and refactor

* chore: switch to using mem storage

* fix: collab type

* feat: use group manager to manage sync

* feat: try add send command instead

* chore: add client api code

* feat: try use sink and stream from group collab

* chore: disable sync first

* fix: insert page before stopping group

* feat: add extra for view

* feat: add metadata to doc

* fix: icon

* fix: page circular dep

* fix: page circular dep

* fix: live update

* feat: database initial impl

* feat: workspace database

* chore: link database

* fix: database validation

* fix: workspace database oid

* fix: workspace database oid

* fix: specify view layout

* feat: add txn when inserting collab and rework database views

* fix: parent view id for new database

* fix: database view for folder

* fix: database ids

* fix: database row id

* fix: main database layout and write database before folder

* fix: metadata for non database main view

* chore: database in doc wip

* chore: filter visible views

* chore: use structure value instead of json

* chore: database in doc wip

* fix: remove child item push

* fix: main database view meta

* chore: rework inline database in doc

* fix: make duplicate more error forgiving

* chore: use get instead of get key value

* chore: merge with main

* feat: set max depth for folder view

* chore: update dependency counter

* chore: remove unneeded arg

* chore: simplify collab new from source

* chore: remove unneeded param

* chore: rename and doc

* feat: rework inline database and use duplicated ref

* chore: simplify params

* chore: fmt

* feat: deduplicate database wip

* fix: compatible with newer appflowy version

* fix: database views

* feat: database in doc

* chore: cargo clippy

* chore: update dockerfile rust toolchain

* fix: doc inline db parent id

* fix: database id

* fix: document data modification

* chore: minor refactor and todo

* chore: remove unneeded nesting

* fix: enforce ordering for views to add

* chore: add doc and test case for folder view

* fix: remove the need for cloning published collab

* fix: some review

* chore: move folder conversion logic

* fix: remove collab folder deps on shared entity

* chore: cargo fmt

* fix: compile

* chore: remove group manager dependency

* fix: dep count

* fix: add messages sent by server

* fix: dep count

* chore: add test for doc ref and inline doc database

* chore: cargo clippy

* chore: add more test scenarios

* chore: fix tests

* chore: get database id

* chore: update collab

* chore: add more assert and database row id checks

* fix: suggestions from review

* chore: sqlx

* fix: accumulate collab before insert

* chore: add tokio spawn blocking for encoding

* fix: reduce limit for publish collabs

---------

Co-authored-by: Bartosz Sypytkowski <b.sypytkowski@gmail.com>
Co-authored-by: nathan <nathan@appflowy.io>
2024-09-03 09:12:29 +08:00
Nathan.fooo
365c64c5c2
chore: use colla storage instead of select from db directly (#782) 2024-09-02 21:25:21 +08:00
Nathan.fooo
299680c14a
chore: decode encode collab using spawn blocking (#781) 2024-09-02 20:27:40 +08:00
Nathan.fooo
abd96d8b56
chore: add APPFLOWY_COLLAB_REMOVE_BATCH_SIZE env to control num of co… (#779)
* chore: add APPFLOWY_COLLAB_REMOVE_BATCH_SIZE env to control num of collabs to be removed in one tick

* chore: clippy
2024-09-02 11:24:40 +08:00
Nathan.fooo
c2a5369313
chore: set chat request timeout (#777)
* chore: set chat request timeout

* chore: clippy
2024-09-01 15:16:11 +08:00
Bartosz Sypytkowski
6972f9c4ab
feat: Measure sync (#772)
* chore: redesign collab sync protocol to enable injection of metric tracking

* chore: track metrics for apply update on the server side

* chore: close locks

* chore: post rebase fixes
2024-08-30 21:48:19 +08:00
Bartosz Sypytkowski
f75413566e chore: reconnect realtime metrics 2024-08-30 09:56:51 +02:00
Nathan.fooo
1f9a03a83d
chore: enable lock timeout feature (#771) 2024-08-30 14:24:34 +08:00
Nathan.fooo
3e701a1f8b
chore: remove no require data error log (#766)
* chore: remove no require data error log

* chore: clippy
2024-08-30 13:55:53 +08:00
Bartosz Sypytkowski
5b2b717fe7 chore: remove redundant metrics collector 2024-08-30 05:14:44 +02:00
Nathan.fooo
54b811125e
chore: wrap spawn blocking when decoding collab (#767) 2024-08-29 22:53:33 +08:00
Bartosz Sypytkowski
2af1999375
chore: added locks with timeouts (#765)
* chore: added locks with timeouts

* chore: roll back collab locks in client api
2024-08-29 16:13:27 +08:00
Lucas.Xu
e7bf221ff0
feat: update built-in README for new users (#757)
* feat: add getting_started, desktop_guide and mobile_guide json

* feat: update built-in readme data

* feat: support adding database as template

* feat: support creating nested documents

* chore: refactor code

* chore: refactor code

* chore: remove println

* chore: update collab version

* feat: update built-in readme and image ref

* chore: remove template icon

* feat: use database::create_with_view to create collab

* chore: add template tests

* chore: update collab version

* chore: remove debug code

* chore: add comment

* chore: fix lint & test

* fix: code review

* fix: rust lint

* chore: update comment

* test: add default workspace test

* test: add default user workspace test

* chore: use workspace database body

* chore: fix typo and clippy

* fix: insert_folder_data_success test

* fix: insert_folder_data_success test

* feat: update content in gettting_started

* chore: update to-dos json

---------

Co-authored-by: nathan <nathan@appflowy.io>
2024-08-28 19:40:23 +08:00
Bartosz Sypytkowski
8beac5c85f
chore: reuse group collab for indexing (#737)
* chore: reuse group collab for indexing

* chore: fix linting errors

* chore: post rebase fixes
2024-08-28 00:13:41 +08:00
Nathan.fooo
ab14568bbf
chore: use env to use control multiple thread runtime or not (#760) 2024-08-28 00:13:24 +08:00
nathan
fee2c37aa4 chore: disable multiple thread in group 2024-08-27 18:12:11 +08:00
Nathan.fooo
c8ee6b43ee
chore: try to fix inifinite sync (#756) 2024-08-27 16:41:19 +08:00
Nathan.fooo
a21c55cbcc
chore: modify log level for some cases (#754)
* chore: modify log level for some cases

* chore: update logs
2024-08-27 14:57:00 +08:00
Khor Shu Heng
045b6f09cb
feat: add metrics for number of editing users (#730) 2024-08-27 11:56:07 +08:00
Bartosz Sypytkowski
15b2e81579
chore: enable setting up periodic sync step 1 sends from sync plugin (#738)
* chore: enable setting up periodic sync step 1 sends from sync plugin

* chore: rollback to server sending sync step 1 to response to the client

* chore: increase sync step 1 interval in tests
2024-08-27 11:55:27 +08:00
Nathan.fooo
cbb9adc29d
chore: enable multiple threads (#753) 2024-08-27 11:15:54 +08:00
Khor Shu Heng
c182ad7099
Merge pull request #750 from AppFlowy-IO/ws-client-min-version
add minimum client version validation in websocket connection establishment
2024-08-27 01:35:20 +08:00
Nathan.fooo
8cc410ce65
chore: revamp get collab api request (#752)
* chore: stop retry if record is not found
2024-08-26 23:41:06 +08:00
Bartosz Sypytkowski
8d1d563076 chore: fix formatting 2024-08-26 14:20:39 +02:00
Bartosz Sypytkowski
11bbb70d54 chore: add minimum client version validation in websocket connection establishment 2024-08-26 14:14:04 +02:00
Nathan.fooo
364d31f825
chore: drop group with maximum timeout (#747) 2024-08-26 17:01:42 +08:00
nathan
c77d0f9c2c chore: spawn indexer 2024-08-26 09:47:46 +08:00
Nathan.fooo
d111282f7e
fix: panic when apply invalid update (#745) 2024-08-24 14:55:49 +08:00
Nathan.fooo
1122031735
chore: update group active (#743)
* chore: opti logs

* chore: update group active logic

* chore: fmt
2024-08-24 09:43:12 +08:00
nathan
b4d79b954b chore: update logs 2024-08-23 10:30:52 +08:00
nathan
12a1539f32 chore: initialize before lock collab 2024-08-22 23:26:20 +08:00
Nathan.fooo
1a053172c2
chore: write collab to disk after first sync step2 (#739)
* chore: write collab to disk after first sync step2

* chore: clippy

* chore: fix test & disable history plugin

* chore: upgrade appflowy collab that disbale document undo redo
2024-08-22 23:11:20 +08:00
Bartosz Sypytkowski
ae3833ea91
chore: Remove last sync at (#735)
* chore: remove last sync at field

* chore: post rebase fixes

* chore: update test for missing update detection
2024-08-22 07:47:01 +08:00
nathan
2d7a4bde92 Merge branch 'main' into no-lock-collab 2024-08-19 10:38:07 +08:00
nathan
809d0df607 chore: only log on debug 2024-08-16 20:48:43 +08:00
Bartosz Sypytkowski
d503905931 chore: make sync plugin work over any collab type without generics 2024-08-14 14:42:12 +02:00
Bartosz Sypytkowski
f2fa4d7c22 chore: post rebase fixes 2024-08-14 05:26:38 +02:00
Bartosz Sypytkowski
320d62f46c chore: change awareness emit to trigger on update instead of on change 2024-08-13 19:59:48 +02:00
Bartosz Sypytkowski
ef860c2d5a chore: fix cargo fmt and clippy errors 2024-08-13 19:59:48 +02:00
Bartosz Sypytkowski
8b2f698068 chore: fixed api changes in appflowy history service 2024-08-13 19:59:48 +02:00
Bartosz Sypytkowski
c27866fb25 chore: upgrade code to use asynchronous locks 2024-08-13 19:59:46 +02:00
Nathan.fooo
73127fb886
chore: shorten group lifetime (#726) 2024-08-13 16:20:06 +08:00
Bartosz Sypytkowski
44406ccdae
chore: update yrs and appflowy-collab (#677)
* chore: update yrs and appflowy-collab

* chore: remove wasm compilation target

* chore: fixed number conversion in tests

* chore: remove wasm integration tests

---------

Co-authored-by: nathan <nathan@appflowy.io>
2024-07-10 10:10:07 +08:00
Bartosz Sypytkowski
6c0f4985c3
Merge pull request #645 from AppFlowy-IO/merge-indexer-collaborate
Merge indexer collaborate
2024-06-28 07:48:32 +02:00
Khor Shu Heng
7dfb52f80b
feat: add telemetry to appflowy collaborate service (#662) 2024-06-28 13:44:59 +08:00
Bartosz Sypytkowski
b6f301b3ad chore: sqlx prepare workspace json 2024-06-28 05:40:44 +02:00
Bartosz Sypytkowski
cce52a5185 chore: do not throw errors on invalid document schema during indexing 2024-06-28 05:40:44 +02:00
Bartosz Sypytkowski
5d3574d643 chore: save collab embeddings on collab create 2024-06-28 05:40:44 +02:00
Bartosz Sypytkowski
8bf6aff923 chore: post rebase fixes 2024-06-28 05:40:44 +02:00
Bartosz Sypytkowski
42b3cca886 chore: remove appflowy indexer service 2024-06-28 05:40:44 +02:00