Commit Graph

251 Commits

Author SHA1 Message Date
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 d1a17bbccd
Merge branch 'main' into workspace-add-email 2024-02-21 14:43:03 +08:00
Nathan.fooo 3ab768fb14
chore: disable all casin func (#338)
* chore: disable all casin func

* chore: rename
2024-02-21 14:02:37 +08:00
Nathan.fooo df258c6ed3
fix: memory leak of workspace middleware (#337) 2024-02-21 13:15:19 +08:00
Nathan.fooo cbcf43081f
chore: add disable collab ac feature flag (#336) 2024-02-21 09:47:38 +08:00
Nathan.fooo 399f7ba2b5
chore: abort sync when the update can not apply (#335)
* chore: abort sync when the update can not apply

* chore: fix ci
2024-02-21 09:22:26 +08:00
Zack Fu Zi Xiang 7c49359278
chore: merge with main 2024-02-20 15:54:14 +08:00
Nathan.fooo 225887dbee
chore: remove sink lock (#334)
* chore: remove sink lock

* chore: clippy
2024-02-20 14:26:26 +08:00
Nathan.fooo 119d6abe53
chore: enable collab ac (#333) 2024-02-20 11:59:44 +08:00
nathan 558fafc589 chore: disable collab ac 2024-02-20 10:54:32 +08:00
Nathan.fooo 2992f44e44
docs: casbin (#332) 2024-02-20 10:53:33 +08:00
Zack Fu Zi Xiang 4413f61f26
Merge branch 'main' into workspace-add-email 2024-02-20 10:16:58 +08:00
Nathan.fooo 8e36792dd9
fix: metrics (#331) 2024-02-20 08:34:57 +08:00
nathan 1b00f4ba86 chore: disable collab ac 2024-02-20 07:06:37 +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
Zack Fu Zi Xiang 118de057a4
chore: cargo clippy 2024-02-20 02:00:31 +08:00
Zack Fu Zi Xiang f9d9977076
chore: merge with main 2024-02-20 00:40:42 +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
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 f713ebedaa
chore: cache policy when load (#325) 2024-02-19 10:01:40 +08:00
Nathan.fooo c9a3cd6b1b
chore: rename dir (#324)
* chore: rename dir

* chore: clippy
2024-02-19 08:28:32 +08:00
Nathan.fooo 43b46f4259
chore: use dashmap (#322) 2024-02-19 02:59:05 +08:00
Nathan.fooo 44d2a6809f
chore: fix migration miss (#321) 2024-02-18 17:38:14 +08:00
Nathan.fooo 05c1b7b2db
feat: Stream msg (#320)
* chore: refactor group
2024-02-18 16:34:47 +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
Zack e1ac591ea0
Merge pull request #310 from AppFlowy-IO/admin-frontend/self-host-env
Admin frontend/self host env
2024-02-09 15:15:56 +08:00
Nathan.fooo 263fdbafdc
Disable casbin (#313)
* chore: disable casin test

* chore: disable casin test
2024-02-09 15:07:39 +08:00
Zack Fu Zi Xiang 0b08ab34ea
chore: cargo clippy 2024-02-09 12:49:29 +08:00
Zack Fu Zi Xiang 8b271eedd5
chore: cargo clippy 2024-02-09 12:22:25 +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
Zack Fu Zi Xiang 8626b54de8
fix: redirect users after signup via magiclink 2024-02-09 02:13:11 +08:00
Nathan.fooo e1307f4f5d
chore: cache within memory size (#305)
* chore: cache within memory size

* chore: update
2024-02-08 08:06:41 +08:00
Nathan.fooo 03471f3af7
chore: update feature of actix (#304)
* chore: update feature of actix

* chore: add logs
2024-02-08 02:32:25 +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 d497f2ab62
fix: pg lock (#299)
* chore: fix pg lock

* chore: fix pg lock
2024-02-06 13:44:39 +08:00
Zack 5fe94e9c59
Merge pull request #297 from AppFlowy-IO/connection-lifetime
feat: added pg connection lifetime
2024-02-06 11:37:00 +08:00
Nathan.fooo 1cfb38d7a2
chore: fix pg lock (#298) 2024-02-06 08:57:10 +08:00
Zack Fu Zi Xiang f787c32a62
feat: added pg connection lifetime 2024-02-06 08:17:22 +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 44d6312d42 chore: add logs 2024-02-03 14:58:39 +08:00
Nathan.fooo 4127f21792
chore: remove logs (#291)
* chore: remove logs

* chore: clippy
2024-02-03 14:50:32 +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
Nathan.fooo 14a146d65f
chore: add logs (#286)
* chore: add logs

* chore: add logs

* chore: add logs
2024-02-03 07:40:18 +08:00
Nathan.fooo e1b35a1a24
feat: enable cors in nginx (#276)
* feat: enable cors in nginx

* chore: update

* chore: fix ci
2024-01-29 13:14:50 +08:00
Nathan.fooo 56615e2274
chore: run with different env file (#275) 2024-01-29 02:26:43 +08:00
Fu Zi Xiang 0f4fe7bd7b
chore: merge with main 2024-01-24 12:17:50 +08:00
Fu Zi Xiang d04eae91e9
feat: add optional name param for workspace creation 2024-01-24 11:58:53 +08:00
nathan bb1029077c refactor: template 2024-01-24 11:46:23 +08:00
Fu Zi Xiang 353065dfbf
feat: add optional name param for workspace creation 2024-01-24 11:35:44 +08:00
nathan bb103531e2 refactor: template 2024-01-24 11:31:53 +08:00
Nathan.fooo a318d2f96d
test: wasm test (#271)
* test: wasm test

* ci: run wasm test

* fix: wasm websocket connect

* chore: add logs

* ci: fix
2024-01-24 05:51:42 +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
Zack 615b402782
docs: Doc improvement (#256)
* feat: update docs and self host deploy configs

* feat: use default ports for dev

* feat: revamp self host

* feat: use nginx resolver

* feat: cargo fmt

* feat: ci integration test with nginx routing

* feat: cargo fmt

* feat: make docker ci use deploy env rather than dev env

* feat: update api external url for deploy test

* fix: if sqlx is set to offline dont run casbin for tests

* fix: set api external url for tests

* fix: ignore sqlx test with cfg

* fix: sqlx tests

* fix: test use env

* feat: update the docs on optional components
2024-01-12 16:01:16 +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 2159c68688
chore: add client api version (#248)
* chore: add client api version

* chore: update

* chore: update

* chore: log client version
2024-01-05 09:06:08 +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
Zack 748d5041c2
Merge pull request #239 from fyfrey/s3-compatibility
feat: s3 compatiblity with garage
2024-01-04 16:01:35 +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
Fynn Petersen-Frey a39395d90c S3 compatiblity with garage 2023-12-28 15:54:23 +01: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 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
Fu Zi Xiang 04e00dea95
feat: add more initialization logs 2023-12-20 20:38:11 -08:00
Zack a7b259ad20
feat: use only env var for appflowy cloud (#224)
* feat: use only env var for appflowy cloud

* fix: jwt local testing

* fix: security audit

* feat: update docker deploy configs

* fix: test utils dotenvy

* fix: test try sqlx offline

* fix: add gotrue configs for appflowy

* fix: redis uri in docker
2023-12-19 08:45:42 +08:00
Nathan.fooo 453329dc0c
feat: try to resotre from snapshot when fail to initialize the collab in CollabStoragePlugin (#222) 2023-12-18 02:27:49 +08:00
Nathan.fooo 69ed6ff4e8
feat: create snapshot for collab (#221) 2023-12-17 13:38:55 +08:00
Zack 24ab19f2a5
feat: use sqlx row stream to load collab policy (#217)
* feat: use sqlx row stream to load collab policy

* fix: access control object type
2023-12-17 11:24:51 +08:00
Nathan.fooo b39621e389
refactor: reduce select all workspace memebers call (#216)
* refactor: reduce select all workspace memebers call

* chore: docker build

* refactor: move tests

* chore: expose enforcer on tests

* refactor: update workspace member when recv pg notification

* chore: update test

* chore: commit sqlx file
2023-12-17 02:46:05 +08:00
Zack 377d7ad8f7
opti: Select all collab members (#215)
* feat: use af member stream for populating policies

* fix: add missing sqlx files

* chore: removed unused function
2023-12-16 13:02:37 +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
JesseBot 36c792915c feat: add additional info logging to init_state function in application.rs 2023-12-12 12:16:38 +01: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 0e2ec381df
chore: implement symmetric encrypt (#192) 2023-12-04 11:50:56 +08:00
Nathan.fooo 208a353fef
fix: client api - channel management (#191)
* chore: add logs

* chore: remove dropped channels
2023-12-01 10:52:54 +08:00
Nathan.fooo 62abd8abbf
feat: return request id to client api (#186)
* docs: update

* chore: add logs

* chore: test

* feat: return request id to the client

* feat: print request id in client api

* fix: lock table when creating new user
2023-11-30 07:40:52 +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
Zack 3890f5d306
feat: User deletion (#177)
* feat: database trigger for hard delete of user

* feat: clean delete user data

* feat: hard delete when admin deletes
2023-11-27 01:07:45 +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 29b39f9ba3
feat: Client api url (#162)
* chore: expose client base url
2023-11-13 20:43:04 +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
Nathan.fooo 487bc25767
fix: subscriber drop (#158)
* chore: test

* chore: test

* chore: test

* chore: test

* chore: test

* chore: test

* chore: test

* chore: test

* chore: test

* chore: test

* chore: test

* chore: test

* chore: test
2023-11-10 13:41:12 +08:00
Nathan.fooo f626e4a3b2
chore: log for broadcast (#154)
* chore: return not found

* chore: add logs

* chore: handle ws error

* chore: add logs

* chore: add logs

* chore: ping

* chore: ping

* chore: add log

* chore: update

* chore: update

* chore: update
2023-11-09 14:24:32 +08:00
Nathan.fooo f1dad07caa
feat: http init sync (#151)
* fix: bugs

* chore: support message type

* refactor: ws message

* feat: post realtime message

* feat: use proto to reduce message size

* ci: update

* ci: install protoc

* ci: update docker

* chore: update ci

* ci: update docker

* ci: fix

* ci: fix

* ci: fix
2023-11-08 15:41:39 +08:00
Fu Zi Xiang 91bc8568ae
fix: unwrap 2023-11-07 11:00:37 +08:00
Fu Zi Xiang d06f8d89b7
chore: remove unneeded print 2023-11-07 10:01:00 +08:00
Fu Zi Xiang 32390676f1
fix: user not allowed 2023-11-07 01:17:08 +08:00