Commit Graph

93 Commits

Author SHA1 Message Date
Nathan.fooo 80d4048c69
chore: bump collab (#235)
* chore: bump collab

* chore: collab id
2023-12-25 23:50:50 +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 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 1eed034a83
ci: docker build (#219) 2023-12-17 10:55:10 +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
Nathan.fooo f4c87f1f75
chore: bump collab rev (#213) 2023-12-15 11:30:15 +08:00
Zack b638503467
Update Cargo.toml
Co-authored-by: JesseBot <jessebot@linux.com>
2023-12-13 23:59:55 +08:00
Zack 7d1461232f
Update Cargo.toml
Co-authored-by: JesseBot <jessebot@linux.com>
2023-12-13 23:59:42 +08:00
jessebot 26d1aa2e6e fix: turn on ssl features for rust-s3 2023-12-13 11:41:14 +01:00
Nathan.fooo 9589054f38
refactor: sync protocol (#203)
* refactor: sync protocol

* chore: update collab rev
2023-12-11 11:27:11 +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 f13a03bead
chore: bump up yrs (#193) 2023-12-04 12:34:37 +08:00
Nathan.fooo 0e2ec381df
chore: implement symmetric encrypt (#192) 2023-12-04 11:50:56 +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.fooo 82bcb5e879
feat: Deployment update (#169)
* docs: add ubuntu setup guide

* feat: add docker ci

* feat: create admin frontend image

* feat: trigger push docker ci

* ci: multiple arch

* fix: build

* chore: update ci

* chore: update ci

* fix: build

* fix: build

* fix: test

* fix: database access

* fix: test

* fix: test

* chore: update

* chore: update
2023-11-16 00:29:18 +08:00
Nathan.fooo 147317bd1c
chore: update docs (#165)
* chore: update docs

* chore: update

* chore: update
2023-11-14 23:44:51 +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 29b39f9ba3
feat: Client api url (#162)
* chore: expose client base url
2023-11-13 20:43:04 +08:00
Nathan.fooo 2e14dcf129
feat: Client api with test util feature (#161)
* chore: expose client base url

* feat: add test util feature

* ci: fix af cloud test

* ci: fix af cloud test
2023-11-12 19:44:49 +08:00
Nathan.fooo c7e90eb24b
feat: stop recv messages when subscribe drop (#159)
* feat: stop recv messages when subscribe drop

* chore: update collab rev

* chore: fmt
2023-11-11 12:04:52 +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 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
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 937e3bd9b2
fix: fix some bugs (#145)
* chore: update

* chore: pub error code

* chore: update

* chore: update

* chore: update

* chore: update

* chore: update

* chore: update max frame size

* chore: update max frame size

* chore: ws buffer size

* chore: update
2023-11-03 14:15:08 +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
Zack 1cc1158d36
feat: Metrics (#141)
* feat: added basic monitoring stack

* docs(grafana): import steps and recommended imports

* feat(metric): api metrics

* feat(prometheus): add appflowy cloud metric scraping job

* fix: put back tracing logger

* feat: middleware for path counter

* feat: added gotrue to prometheus metrics

* feat: added nginx to prometheus metrics

* feat: added latency and result to metrics

* feat(nginx): set request id to header

* feat: added request id in nginx

* feat: simplify metric collection

* feat: added simple grafana dashboard for appflowy cloud

* feat(logging): added logging stack

* docs: improve monitoring docs

* docs: added known common issues

* feat: give persistence

* feat: add exemplars

* fix: docker compose volumes

* feat(grafana): add trace id to prometheus datasource

* feat(grafana): improve dashboard to include exemplars
2023-11-02 15:34:00 +08:00
Nathan.fooo 1aba1f0cf4
feat: workspace usage test (#129)
* feat: workspace usage test

* test: add tests
2023-10-22 17:52:10 +08:00
Nathan.fooo 9dc7bbeee0
feat: Collab access control (#120)
* chore: check collab message with access permission

* chore: imple collab permission service

* refactor: migrations

* chore: collab member ops

* chore: collab permission

* chore: update can edit workspace collab

* chore: fix test

* feat: fetch collab members

* chore: fix test

* chore: fix client api

* chore: check permission for collab storage proxy
2023-10-17 14:00:04 +08:00
Nathan.fooo 5c58f95f9f
feat: workspace access control (#115)
* feat: workspace access control

* feat: extact workspace id from path

* feat: create member with permission set

* chore: update sqlx files

* chore: fix cargo toml warn

* chore: clippy
2023-10-13 20:02:29 +08:00
Fu Zi Xiang 591b66b73e
feat: auto refresh session 2023-10-13 12:08:53 +08:00
Nathan.fooo 3611c2076e
feat: update ws connect setting (#111)
* chore: update ws connect setting

* chore: remove token when token is invalid

* chore: close the ws connect when overflow happened

* fix: reset timing

* fix: reset timing

* chore: sleep if timeout not reach

* chore: sleep if timeout not reach
2023-10-12 16:51:44 +08:00
Zack 8023efae97
feat: add admin frontend project (#102)
* feat: add admin frontend project

* feat: session token WIP

* feat: session token WIP - 2

* feat: session token and dev ease

* feat: added logout

* extractor for access token

* feat: added funtionality to show all users

* feat: show user list on frontend

* feat: user details

* fix: remove unneeded print statements

* chore: enable back to docker-compose.yml

* fix: integration tests

* feat: added redis session

* feat: change to session management using redis

* feat: add email to display at home page

* feat: added logging, logout

* feat: use redirect temporary

* feat: added add user by email

* feat: added add user set password web ui

---------

Co-authored-by: nathan <nathan@appflowy.io>
2023-10-11 22:17:41 +08:00
Nathan.fooo 00a086bc40
feat: collab message definition (#109)
* feat: collab message definition

* chore: update collab rev

* chore: maximum payload size
2023-10-10 17:45:44 +08:00
Nathan.fooo ad5b5b631d
feat: Set token from external (#107)
* chore: set token

* chore: set token

* chore: update

* chore: rm log
2023-10-09 23:07:34 +08:00
Nathan.fooo 089b3046ab
chore: implement batch get (#106)
* chore: implement batch get

* chore: add request id and update the local_server.sh

* chore: update collab commit id
2023-10-08 23:53:16 +08:00
Nathan.fooo a02da07627
Test deploy docker log (#105)
* chore: try to fix logs in docker

* ci: test deploy

* ci: log level
2023-10-08 21:42:25 +08:00
Zack 583f82b7fb
refactor: collab http (#89)
* refactor: collab http

* fix: sqlx uuid in types client_api
2023-10-04 16:59:03 +08:00
Nathan.fooo cf84557ebe
feat: oauth provider (#86)
* chore: remove opener

* chore: rename method

* chore: add docs

* chore: modify env
2023-10-03 22:06:07 +08:00
Nathan.fooo b0c213b5c0
fix: message queue (#85)
* fix: message queue

* chore: retry sink collab message

* chore: update
2023-10-02 15:28:35 +08:00
Nathan.fooo 3133e5ec32
chore: try fix test (#84) 2023-09-30 12:36:42 +08:00
Nathan.fooo 19ee96db4a
chore: rename crate (#82) 2023-09-28 22:20:48 +08:00
Zack a6eb8607c9
feat: async read for file upload (#80)
* feat: async read for file upload

* feat: async read for file download

---------

Co-authored-by: nathan <nathan@appflowy.io>
2023-09-28 14:53:41 +08:00
Nathan.fooo b8bd53ff5c
feat: create collab sync crate (#79)
* feat: create collab sync crate

* test: add tst

* test: add test

* test: update tests

* chore: clippy

* chore: clippy

* chore: clippy

* chore: add retry when subscribe group

* chore: disable realtime test
2023-09-28 09:28:46 +08:00
Zack ff6a8e1eaf
feat: File api (#70)
* feat: s3 minio wip

* feat: s3 minio bucket create idempotent

* feat: put storage setting into configurations

* chore: clippy lint

* feat: add setting to base config

* feat: add configuration for prod

* fix: allow use different minio host

* feat: add server file storage

* fix: add missing file

* feat: add code template

* feat: add http api

* feat: added file upload to client api

* feat: database metadata impl

* fix: added missing files

* feat: added test cases and improve impl

---------

Co-authored-by: nathan <nathan@appflowy.io>
2023-09-27 10:21:37 +08:00
Nathan.fooo b729e3529d
chore: bump collab version (#78)
* chore: bump collab version

* chore: bump collab version

* chore: update

* chore: update

* chore: update

* chore: update tests

* chore: clippy

* chore: clippy

* chore: clippy
2023-09-26 22:52:41 +08:00
Nathan.fooo b08a4a9016
chore: expost sign in url (#76)
* chore: expost sign in url fc

* refactor: realtime test

* chore: add logs

* chore: update

* chore: update

* chore: update

* chore: update

* chore: update

* chore: update

* chore: update

* chore: update
2023-09-26 09:26:35 +08:00
Nathan.fooo 0883ae94b8
test: sign in url test (#75)
* test: sign in url test

* fix: Tungstenite allows remote attackers to cause a denial of service

* chore: enable feature

* chore: update
2023-09-24 13:03:24 +08:00