Commit Graph

224 Commits

Author SHA1 Message Date
Khor Shu Heng 67d9fad7d7
chore: migrate collab storage to appflowy-collaborate (#566)
* chore: migrate collab storage to appflowy-collaborate

* fix: clippy error

* chore: remove handler

---------

Co-authored-by: nathan <nathan@appflowy.io>
2024-05-21 10:06:26 +08:00
Khor Shu Heng fbdcbd6e08
chore: migrate collab actors to appflowy-collaborate (#556) 2024-05-17 12:22:43 +08:00
Nathan.fooo 2fae260e4f
chore: complete text endpoints (#557)
* chore: complete text endpoints
2024-05-16 22:48:44 +08:00
Khor Shu Heng c79267d42a
feat: migrate collab access control to collaboration service (#548)
* feat: migrate collab access control to collaborate service

* feat: migrate workspace access control to separate crate
2024-05-15 15:24:07 +08:00
Nathan.fooo 4c00ddd593
chore: Chat history (#546)
* chore: imple sql curd

* chore: update chat

* chore: select messages

* chore: update test

* chore: update schema

* chore: update
2024-05-11 20:41:21 +08:00
Zack Fu Zi Xiang fd2115f54f
feat: add post method for batch get collab 2024-05-09 11:01:16 +08:00
Zack Fu Zi Xiang cb31a863ac
Merge branch 'main' into fix/batch-get-collab 2024-05-09 10:46:24 +08:00
Nathan.fooo 388d38428b
chore: revamp post realtime endpoint (#536)
* chore: revamp  post realtime endpoint

* chore: fix clippy

* chore: fix fmt
2024-05-08 22:06:37 +08:00
Zack Fu Zi Xiang 5f6e92e80d
Merge branch 'main' into fix/batch-get-collab 2024-05-08 18:02:47 +08:00
Nathan.fooo 70262a1ac4
chore: try to not block actor mailbox (#534)
* chore: add test

* chore: spawn task to handle message

* chore: update error message
2024-05-08 16:54:05 +08:00
Zack Fu Zi Xiang e87e88446c
chore: use http query instead of json for batch get collab 2024-05-08 16:29:27 +08:00
Nathan.fooo c115414f5a
chore: return no content (#523) 2024-05-05 10:52:56 +08:00
Nathan.fooo 79bb510aaf
ci: run history test (#513)
* ci: run history test

* chore: fix ci
2024-05-01 16:28:07 +08:00
Zack Fu Zi Xiang 9adf3f883c
feat: improve email workspace invitations 2024-04-30 11:07:29 +08:00
Zack Fu Zi Xiang 206c7a29ea
chore: merge with main 2024-04-29 23:35:03 +08:00
Zack Fu Zi Xiang 6e74449ab1
feat: accept workspace invite email 2024-04-29 19:40:20 +08:00
Nathan.fooo 7b4b9d0c10
chore: folder data check (#496)
* chore: folder data check

* chore: stop observe remote change when specific type of collaboration object override with incorrect data

* chore: commit sqlx file
2024-04-26 13:20:06 +08:00
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 efbe9c4a93
chore: move collab rt crate (#489)
* chore: create appflowy collaborate crate

* chore: remove collab-rt

* chore: fmt

* chore: main
2024-04-22 12:14:41 +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 8ab7815740
chore: reduce pool lock (#475)
* chore: reduce pool lock

* chore: clippy
2024-04-16 20:26:26 +08:00
Nathan.fooo baeeb2c5ce
chore: do not wait insert to redis finish when calling get collab (#468) 2024-04-13 10:26:05 +08:00
Zack 9a5636caec
chore: get collab http (#463)
* chore: get collab http

* fix: use correct version

* fix: collab url

* feat: update collab access control middleware
2024-04-12 11:08:38 +08:00
Nathan.fooo b1c3d779ba
chore: reduce save collab db operations (#455)
* chore: reduce save collab db operations

* chore: clippy

* chore: add test

* chore: add test

* chore: add test
2024-04-08 14:50:51 +08:00
Nathan.fooo b1a6338527
refactor: actix-ws (#453)
* chore: deduplicate ws message

* chore: remove retry when sending client ws message

* chore: prepare client/server actor test
2024-04-07 12:43:29 +08:00
Nathan.fooo 2cc5d75d01
chore: use release build in docker (#440)
* chore: use release build in docker

* chore: remove assert

* chore: update path
2024-04-03 14:30:46 +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 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 cd9fc34465
refactor: crate folder (#423)
* refactor: crate folder

* chore: update docs

* chore: clippy
2024-03-28 11:06:14 +08:00
Nathan.fooo 66a5033d16
chore: remove component folder (#419) 2024-03-26 14:16:03 +08:00
Nathan.fooo 47649efe18
chore: add connect at timestamp (#410)
* chore: add connect at timestamp

* chore: fix lock issue
2024-03-23 14:00:22 +08:00
Nathan.fooo 6af8ac0f37
chore: remove realtime user trait (#409)
* chore: remove realtime user trait

* chore: fix fmt

* chore: fix clippy
2024-03-23 11:01:50 +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
Zack Fu Zi Xiang 528dd6ae5b
feat: email redirect to invite page 2024-03-21 14:01:48 +08:00
Zack Fu Zi Xiang 117473d104
feat: leave workspace 2024-03-20 13:07:43 +08:00
Zack Fu Zi Xiang 44ced4036e
Merge branch 'main' into leave-workspace 2024-03-20 09:35:00 +08:00
Zack Fu Zi Xiang c8133302c1
feat: remove storage limit 2024-03-19 22:13:59 +08:00
Zack Fu Zi Xiang 5f220ab0b0
feat: user leave workspace 2024-03-19 21:58:56 +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 e203098517
chore: remove deprecated user logic (#389) 2024-03-17 14:28:37 +08:00
Zack Fu Zi Xiang 1dbffaf4f0
Merge branch 'main' into frontend-admin/user-usage 2024-03-14 17:52:20 +08:00
Zack Fu Zi Xiang 0048533914
feat: total document usage 2024-03-14 17:50:19 +08:00
Zack Fu Zi Xiang 9093363b4f
feat: document storage size 2024-03-14 17:32:30 +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
Zack Fu Zi Xiang c293929b11
feat: added tests for inviting member which has not signed up yet 2024-03-06 14:01:57 +08:00
Nathan.fooo 0b0a078b29
ci: fix wasm test (#369)
* ci: fix wasm test

* chore: clippy
2024-03-05 15:03:33 +08:00
Zack Fu Zi Xiang 36c0181032
Merge branch 'main' into workspace-invite-2 2024-03-05 09:34:35 +08:00
Nathan.fooo 0e4442159e
chore: support client version when connect using webscoket (#368)
* chore: support client version when connect using webscoket

* chore: update tokio version

* chore: fix audit

* chore: fix wasm test

* chore: update

* chore: update

* chore: update

* chore: update
2024-03-05 07:22:56 +08:00
Zack Fu Zi Xiang e9ee0d12fa
Merge branch 'main' into workspace-invite 2024-03-04 15:47:57 +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
Zack Fu Zi Xiang 65d69ef0fd
fix: owner invite permission 2024-03-04 00:59:11 +08:00
Zack Fu Zi Xiang 439a59ed2d
chore: save current progress 2024-03-03 19:06:24 +08:00
Zack Fu Zi Xiang bc3fccfcea
chore: merge with main 2024-03-03 14:37:50 +08:00
Zack Fu Zi Xiang f1e81d59c4
test: crud flow for workspace invites 2024-03-03 14:26:03 +08:00
Nathan.fooo 0e57de98d8
refactor: Access control (#361)
* refactor: access level

* refactor: access control

* refactor: enforce action

* refactor: collab cache

* chore: fix test

* chore: fix test

* chore: fix test

* chore: fix test

* chore: commit migration file

* chore: commit migration file
2024-03-03 12:55:12 +08:00
Zack Fu Zi Xiang e8328fd0a4
feat: workspace invitations 2024-03-03 02:48:01 +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
Zack 79a0dd43c6
feat: Create workspace (#357)
* feat: initialize collab for user after workspace creation

* fix: add permission before adding new collab for new workspace

* chore: simplify logic
2024-02-29 13:02:27 +08:00
Zack Fu Zi Xiang f8b9f623cf
feat: delete all files when workspace is deleted 2024-02-28 18:24:17 +08:00
Nathan.fooo 5ed6a14943
chore: reduce lock required (#353)
* chore: spawn local task

* chore: spawn local task

* chore: spawn local task

* chore: spawn local task

* chore: fix test

* chore: fix test

* chore: clippy

* chore: clippy

* chore: clippy

* chore: clippy
2024-02-27 18:50:44 +08:00
Zack Fu Zi Xiang 7abba9d7ef
feat: add workspace icon field 2024-02-27 11:26:31 +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
Zack Fu Zi Xiang ba989e64f3
feat: added rename workspace 2024-02-22 11:13:37 +08:00
Zack Fu Zi Xiang ad0f477505
revert to workspace-add-email 2024-02-22 11:09:50 +08:00
Zack Fu Zi Xiang c50f872bb7
Revert "Merge pull request #328 from AppFlowy-IO/workspace-add-email"
This reverts commit 5e7794646a, reversing
changes made to d5869742c2.
2024-02-22 10:48:10 +08:00
Zack Fu Zi Xiang 446518adf6
feat: api: add rename endpoint 2024-02-22 10:31:51 +08:00
Zack Fu Zi Xiang f9d9977076
chore: merge with main 2024-02-20 00:40:42 +08:00
Zack Fu Zi Xiang 32fe1cc24d
feat: send email and create user if adding member but member not exist 2024-02-19 15:40:36 +08:00
Nathan.fooo 815be08d3b
chore: metrics for access control (#326)
* chore: metrics for access control

* chore: fix test
2024-02-19 12:26:35 +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 fa13422a05
chore: logs (#302)
* chore: logs

* chore: logs
2024-02-07 13:00:29 +08:00
Nathan.fooo 6f2faff21f
chore: fix log (#301) 2024-02-07 08:15:57 +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 9cd1f5ab0a
feat: cache uid (#290)
* feat: cache uid

* chore: remove select uid call

* chore: break loop if mailbox close
2024-02-03 13:08:49 +08:00
Fu Zi Xiang d04eae91e9
feat: add optional name param for workspace creation 2024-01-24 11:58:53 +08:00
Fu Zi Xiang 353065dfbf
feat: add optional name param for workspace creation 2024-01-24 11:35:44 +08:00
Fu Zi Xiang 7c95f6556a
feat: added test case and use triggers 2024-01-23 14:48:25 +08:00
Fu Zi Xiang 27b7b8b5b8
feat: add workspace and delete workspace 2024-01-23 12:10:55 +08:00
Fu Zi Xiang 8ba4559cbd
fix: result return from put blob 2024-01-13 00:53:41 +08:00
Nathan.fooo 79702b1ced
feat: stream create list of collab (#253) 2024-01-11 09:28:28 +08:00
Zack 97d1bb532c
feat: revamp storage api (#251)
* feat: revamp storage api

* feat: client api add method to generate url

* feat: remove some unused deps

* feat: upgrade deps

* feat: add mime to resp
2024-01-11 00:32:11 +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 4886d3d474
chore: rename error message (#247) 2024-01-05 07:29:06 +08:00
Nathan.fooo 8e38ae7b69
refactor: remove rust-s3, sqlx from client-api (#245)
* refactor: remove rust-s3, sqlx from client-api

* chore: fmt

* chore: add ci check

* chore: add ci check

* chore: add ci check
2024-01-05 06:12:01 +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 a455c9de8e
chore: refactor logs (#236)
* chore: add logs

* chore: return ws state

* fix: init the collab from disk
2023-12-27 05:20:40 +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 69ed6ff4e8
feat: create snapshot for collab (#221) 2023-12-17 13:38:55 +08:00
Nathan.fooo cd2c0a3114
fix: casbin access control (#214)
* chore: fix access control

* fix: create user update collab permissions

* chore: select workspace role it's not found in cache

* fix: encode buffer error

---------

Co-authored-by: Jiraffe7 <twajxjiraffe@gmail.com>
2023-12-16 08:27:57 +08:00
Jiraffe7 36ef0f13b0
feat: casbin access control (#178)
* feat: casbin for access control

* fix: method to generate database url instead of ToString

* fix: hold write lock when modifying policies

* chore: fix compile

* fix: remove db constraint for lib integration tests

---------

Co-authored-by: nathan <nathan@appflowy.io>
2023-12-11 11:08:15 +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 ee31a680b5
chore: unlimited json payload size (#197)
* chore: return ok when token is empty

* chore: remove json payload size limit

* chore: clippy
2023-12-06 14:21:11 +08:00
Nathan.fooo 79a02edd00
feat: notify user via websocket after profile changed (#164)
* feat: notify user via websocket after profile changed

* chore: update

* chore: update
2023-11-14 12:47:10 +08:00
Nathan.fooo 54ef875f5f
feat: notify user profile change (#163)
* feat: send user profile changes via ws

* test: add tests
2023-11-13 22:58:18 +08:00
Nathan.fooo 04989e9485
feat: Upload collab limit (#160)
* chore: add logs

* feat: update upload collab limit
2023-11-12 16:03:48 +08:00