Commit graph

172 commits

Author SHA1 Message Date
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
Nathan.fooo
3377e664d5
feat: create websocket crate for wasm and native (#269)
* feat: create websocket crate for wasm and native

* chore: update

* chore: replace with websocket::message

* chore: fix client api build

* chore: fix compile

* fix: ci

* refactor: add client api test crate
2024-01-23 14:25:01 +08:00
Nathan.fooo
79702b1ced
feat: stream create list of collab (#253) 2024-01-11 09:28:28 +08:00
Nathan.fooo
284e2bf638
chore: compress collab data (#249)
* chore: compress collab data

* chore: custom buffer size

* chore: compression ws message

* chore: update log

* chore: update log

* chore: update client max body size

* chore: update client api

* docs: update docs

* chore: retry transaction

* chore: update timeout

* chore: stop previous loop

* chore: log ping error

* chore: log send error

* chore: log error

* chore: update log

* chore: async compress

* feat: stream payload

* chore: update load

* chore: update

* chore: update log

* chore: fix cmt

* fix: client message from http

* chore: bump collab
2024-01-10 08:05:57 +08:00
Nathan.fooo
c5fe447250
feat: bump collab (#243)
* chore: bump collab

* chore: bump collab

* chore: bump collab
2024-01-03 08:40:26 +08:00
Nathan.fooo
6d0612ffaf
feat: encode batch create collab data as binary (#242) 2024-01-03 06:07:21 +08:00
Nathan.fooo
4d113425fe
feat: override collab when create (#234)
* feat: override collab when create

* chore: clippy

* chore: fmt
2023-12-25 09:40:32 +08:00
Nathan.fooo
a07cc0b903
feat: Insert multiple collab (#233)
* chore: remove panic hook

* chore: support insert multiple collabs
2023-12-25 02:03:41 +08:00
Nathan.fooo
5c1a16cec5
chore: Add sync test (#225)
* chore: resume old tests

* chore: bump collab commit id

* chore: clippy

* chore: fix audit
2023-12-19 02:56:56 +08:00
Nathan.fooo
69ed6ff4e8
feat: create snapshot for collab (#221) 2023-12-17 13:38:55 +08:00
Nathan.fooo
c0f5c2ce7e
feat: fix flaky test (#202)
* test: fix

* fix: flaky test
2023-12-09 12:48:46 +08:00
Nathan.fooo
58ffae16b1
feat: enable create default documents for user when sign up (#184)
* chore: send collab with interval

* feat: create workspace template
2023-11-29 06:11:20 +08:00
nathan
cdb80bf13a chore: fmt 2023-11-28 01:29:01 +08:00
Nathan.fooo
432faee316
chore: add logs (#182)
* chore: log html

* chore: logs
2023-11-27 08:48:17 +08:00
Nathan.fooo
507d19628b
feat: logs and debounce refresh token (#150)
* chore: rename error

* chore: debounce refresh token

* refactor: gotrue error

* feat: retry refresh token if it's failed by network error

* chore: reset token

* chore: foramt logs
2023-11-06 16:34:52 +08:00
Nathan.fooo
41e01b91fc
feat: update collab rev and fix some bugs (#148)
* chore: remove todo

* chore: update collab rev

* chore: fmt

* chore: fmt

* chore: cache collab user

* fix: internal error

* ci: fix test

* chore: update collab rev

* ci: fix
2023-11-05 22:43:20 +08:00
Nathan.fooo
5559e8cbd7
chore: update logs (#147)
* chore: update logs

* chore: update logs

* chore: update logs

* chore: update logs
2023-11-05 13:25:47 +08:00
Nathan.fooo
d088fd2ec8
feat: ws frame size (#146)
* chore: update ws frame size

* chore: update

* chore: update frame size to 64 kb

* chore: fix merge

* chore: update

* chore: update collab rev

* chore: update

* chore: update

* chore: update

* chore: update

* chore: update

* chore: update ws state

* chore: update pg max connect

* chore: fix crash
2023-11-04 21:42:06 +08:00
Nathan.fooo
9c911a3a94
refactor: Error (#143)
* chore: remove api

* chore: update log

* refactor: error

* chore: fmt

* ci: fix test

* ci: fix

* chore: remove unstable
2023-11-02 17:17:34 +08:00