Nathan.fooo
a0593b5502
chore: refactor return response with object id ( #494 )
...
* chore: refactor return response with object id
* chore: fix ci
* chore: fix ci
2024-04-24 12:07:54 +08:00
Nathan.fooo
842e3d14e5
chore: remove collab state check ( #487 )
...
* chore: remove collab ping
* chore: fix tst
* chore: cacel previous actiont
2024-04-22 11:56:22 +08:00
Nathan.fooo
970fbaed57
feat: using transaction to write multiple records ( #477 )
...
* chore: impl batch write
* chore: update test
* chore: using save point to optimize write
* chore: update docs
* chore: fix test
* chore: increase write speed
* chore: use redis sorted set
* chore: fallback to write to disk directly when fail to queue
* chore: fix test
* chore: fix test
* chore: update log
* chore: add metrics
2024-04-19 15:22:57 +08:00
Nathan.fooo
4168d72390
chore: using redis conn for each action ( #476 )
...
* chore: batch insert
* chore: opti redis conn
* chore: fix test
2024-04-17 11:41:50 +08:00
Nathan.fooo
f3279e9b4e
feat: implement grpc for history server ( #470 )
...
* ci: docker compose for ci
* chore: add test
* chore: imple grpc
* chore: fix test
* chore: fix ci
2024-04-16 14:10:56 +08:00
Nathan.fooo
3901356e8a
chore: bump collab version ( #471 )
2024-04-15 12:35:14 +08:00
Nathan.fooo
28e0e74fd1
feat: Implement history(1) ( #466 )
...
* chore: update collab commit
* chore: collab history test
* chore: collab history test
* chore: impl redis stream
* chore: impl redis stream test
* chore: impl migration
* chore: implement history sql
* chore: add test
* chore: add test
* chore: fix test
* chore: update log and test
* chore: add xtask
* chore: clippy
* chore: impl api
* chore: add missing sqlx files
* chore: fix test
* chore: fix test
2024-04-15 09:18:19 +08:00
Nathan.fooo
4d019728ba
refactor: insert encode collab object in redis ( #469 )
...
* chore: insert collab redis cache with timestamp
* chore: add test
* chore: update expire time
* chore: update
* chore: fix test
2024-04-13 22:31:36 +08:00
Nathan.fooo
e9097107e5
chore: Disable multi thread ( #458 )
...
* chore: disable multiple thread
* chore: clippy
2024-04-09 10:07:40 +08:00
nathan
4789591eb3
chore: remove unused test
2024-04-05 14:04:26 +08:00
Nathan.fooo
01f1af98f5
chore: wrapper for collab ( #448 )
...
* chore: wrapper for collab
* chore: add tests
* chore: fix audit
* chore: init sync
* chore: disable wasm user test
* chore: disable encode state when start
* chore: fix test
2024-04-05 11:30:00 +08:00
Zack Fu Zi Xiang
8e27e94804
chore: replace test using invite and accept workspace
2024-04-04 00:03:36 +08:00
Nathan.fooo
feb993e5b9
chore: add tests ( #442 )
2024-04-03 22:16:03 +08:00
Nathan.fooo
c77329ea11
chore: encode collab with validate check ( #439 )
...
* chore: bump collab
* chore: fix test
* chore: fix test
2024-04-03 09:07:35 +08:00
Nathan.fooo
12d72fa233
chore: client api init sync ( #438 )
...
* chore: implement init sync for sync plugin
* chore: bump collab
* chore: bump collab
* chore: fix test
2024-04-02 23:08:15 +08:00
Nathan.fooo
fbadca759a
chore: retry with exponentail back off ( #437 )
2024-04-02 09:24:23 +08:00
Nathan.fooo
a18b3d7886
feat: using pending to determine init sync or not ( #435 )
...
* chore: optimize sync
* chore: optimize sync
* chore: add test
* chore: update collab commit id
* chore: update
* chore: fix ci
2024-04-01 21:59:41 +08:00
Nathan.fooo
6c96d05e2f
feat: introduce custom function in casbin model that supports compari… ( #433 )
...
* feat: introduce custom function in casbin model that supports comparing role or level
* chore: update
* chore: log
* chore: log
* chore: remove cache
2024-03-31 19:54:41 +08:00
Nathan.fooo
d77fb77a3a
feat: validate collab data before writing to disk ( #425 )
...
* chore: validate collab
* chore: update test
* chore: partition key
* chore: save collab
* chore: save collab
2024-03-29 14:55:51 +08:00
Nathan.fooo
4fc18d8615
feat: ping collab ( #424 )
...
* chore: ping
* chore: update test
* chore: fix test
* chore: ping
* ci: build cache
* chore: sync state
* chore: sync state
* tests: disable read only test
2024-03-28 21:15:14 +08:00
Nathan.fooo
cd9fc34465
refactor: crate folder ( #423 )
...
* refactor: crate folder
* chore: update docs
* chore: clippy
2024-03-28 11:06:14 +08:00
Nathan.fooo
d30cf93a1f
feat: sync protocol ( #421 )
...
* chore: send full update when it's first time to sync
* chore: update last sync at
2024-03-27 21:39:47 +08:00
Nathan.fooo
6aa05b97d3
chore: metrics for realtime edit ( #415 )
...
* refactor: separate group code from rt server
* chore: separate group state
* chore: fix test
* chore: drop group
* chore: update metrics
* chore: metrics for realtime edit
* chore: update project config
* ci: fix test
2024-03-26 13:35:13 +08:00
Nathan.fooo
d0c0d7832c
chore: add test for connect state ( #414 )
...
* chore: add test
* chore: add test
* chore: disable redis test
2024-03-24 10:35:26 +08:00
Nathan.fooo
acc13414cf
feat: sync deduplicate ( #412 )
...
* chore: update logs
* chore: update logs
* chore: deduplicate messages
* chore: optimize sync interval
* chore: fmt
* ci: test
* chore: clippy
* chore: clippy
2024-03-24 07:30:05 +08:00
Nathan.fooo
c015ee7c7e
fix: peer sync ( #408 )
2024-03-22 21:32:41 +08:00
Nathan.fooo
c85383b21d
chore: project folder structture ( #392 )
...
* chore: docker build
* chore: update
* chore: update
* chore: test stream pubsub
* chore: fix wanrings
* chore: realtime crate
* chore: realtime crate
* chore: realtime crate
* chore: realtime crate
* chore: reanme crates
* chore: reanme crates
* chore: project structure
* chore: disable docker for collab hisotry
2024-03-22 11:24:28 +08:00
Nathan.fooo
a31c246b67
feat: Access control group ( #395 )
...
* chore: access control for group
* chore: access control for workspace
* chore: add test
* chore: enforce group
* chore: update docs
2024-03-19 12:57:08 +08:00
Nathan.fooo
c5112cc761
chore: use collab without gc ( #391 )
2024-03-17 17:03:05 +08:00
Nathan.fooo
40fc18a499
feat: only enforce when permission change ( #382 )
...
* feat: only enforce when permission change
* chore: fix client api ci
* chore: fix test
* chore: fix test
2024-03-13 17:14:43 +08:00
Nathan.fooo
0bee7cd0df
chore: fast sync ( #377 )
...
* chore: fast sync
* chore: remove sync state
* chore: update logs
* refactor: small funcs
* chore: update logs
* chore: update logs
* chore: merge message
* chore: merge message
2024-03-10 08:11:17 +08:00
Nathan.fooo
3b0d7567da
feat: viewing collab users ( #375 )
...
* feat: return collab viewing users
* chore: fmt
* chore: add test
* chore: update logs
* chore: fix test
2024-03-09 12:15:17 +08:00
Nathan.fooo
ff80014c2f
feat: Multi connect test ( #372 )
...
* chore: test multiple connect attempt
* chore: eable hash
* chore: pair message
* chore: fmt
2024-03-07 09:21:08 +08:00
Nathan.fooo
15c03e4f85
refactor: realtime dir ( #363 )
...
* refactor: realtime dir
* chore: fmt
* chore: fix test
* chore: fix test
* chore: fix test
2024-03-04 12:53:44 +08:00
Nathan.fooo
2cf857bd00
feat: optimize websocket message ( #351 )
...
* chore: send multiple message
* refactor: message
* refactor: message
* fix: test
* fix: test
* fix: test
* chore: docs
* fix: test
* chore: support compress
* chore: interval retry
* chore: fix test
* chore: merge main
* chore: clippy
* chore: clippy
* ci: fix test
* chore: clippy
* chore: clippy
2024-03-02 02:53:14 +08:00
Nathan.fooo
375318774a
chore: optimize websocket connect ( #352 )
...
* chore: optimize websocket connect
* chore: fix clippy
* chore: fix clippy
* chore: fix test
* chore: fix test
2024-02-26 15:24:54 +08:00
Nathan.fooo
deffd074b9
chore: check collab before insert ( #349 )
...
* chore: check collab before insert
* chore: fix audit
* chore: speed test
* chore: add expirate duration for cache encode collab
* chore: fix test
2024-02-25 12:38:07 +08:00
Nathan.fooo
10fc8dd2fe
chore: use Redis cache for enforcer ( #348 )
...
* chore: use redis cache
* chore: use redis to cache enforce result
* fix: test
* fix: test
* fix: test
* fix: test
2024-02-24 15:45:53 +08:00
Nathan.fooo
b71e443d3f
refactor: write snapshot ( #345 )
...
* chore: increase max connection size of pg (#344 )
* chore: refactor snapshot
* chore: fix test
* chore: fix test
* chore: fix test
* chore: metric
* chore: clippy
* chore: fix test
* chore: fix test
2024-02-23 14:36:06 +08:00
Nathan.fooo
1590e948c6
feat: Optimize sync ( #341 )
...
* chore: optimize sync
* chore: optimize sync
* chore: optimize sync
* chore: update collab rev
2024-02-22 14:18:41 +08:00
Nathan.fooo
119d6abe53
chore: enable collab ac ( #333 )
2024-02-20 11:59:44 +08:00
Nathan.fooo
8e36792dd9
fix: metrics ( #331 )
2024-02-20 08:34:57 +08:00
Nathan.fooo
1841dc21e2
chore: flush collab base on edit count ( #330 )
2024-02-20 06:32:19 +08:00
Nathan.fooo
5cd16d7544
chore: load user id and uuid when start ( #329 )
...
* chore: load user id and uuid when start
* chore: fix test
* chore: fix test
2024-02-20 05:43:33 +08:00
Nathan.fooo
d4f7aac93a
test: add test ( #327 )
...
* test: add test
* test: add test
* test: add test
* test: add test
* test: add test
2024-02-19 17:12:07 +08:00
Nathan.fooo
2f0f093331
refactor: access control ( #318 )
...
* refactor: dir
* chore: update
* fix: test
* chore: fix test
* chore: clippy
* chore: update config
* chore: update
2024-02-17 01:15:06 +08:00
Nathan.fooo
a1494f0d09
feat: Realtime metrics ( #309 )
...
* chore: add metric
* chore: add metric
* chore: clippy
* chore: clippy
* ci: set rust version
* ci: set rust version
* ci: set rust version
2024-02-09 12:02:54 +08:00
Nathan.fooo
b1c14c8ffb
test: add ( #300 )
...
* test: add
* test: add
* chore: clippy
* chore: clippy
2024-02-09 07:10:26 +08:00
Nathan.fooo
d851b303bf
refactor: async send ws message in http request ( #296 )
...
* refactor: async send ws message in http request
* chore: update
* chore: update logs
* chore: update logs
* chore: clippy
* chore: add device id in header
* chore: fix test
* chore: fix device_id
* chore: fix client id
* chore: ratelimt for client
* chore: bump collab
2024-02-06 15:21:48 +08:00
Nathan.fooo
1a7866e651
chore: use redis to cache collab data ( #294 )
...
* chore: use redis to cache collab data
* chore: create table
* chore: use cache
* chore: period check group status
* chore: remove trait
* chore: update logs
* chore: update logs
* chore: update logs
* chore: update logs
2024-02-05 09:54:16 +08:00