Commit Graph

207 Commits

Author SHA1 Message Date
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 7f12628547
chore: use dashmap (#319) 2024-02-18 11:55: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
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 d497f2ab62
fix: pg lock (#299)
* chore: fix pg lock

* chore: fix pg lock
2024-02-06 13:44:39 +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 d23ad1c4de
chore: fix refresh token (#292)
* chore: fix refresh token

* chore: fix wasm build

* chore: fix test
2024-02-03 16:57:00 +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
Zack Fu Zi Xiang f849f39133
chore: add flakes to gitignore 2024-01-28 02:01:15 +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.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 b10c85c8aa
chore: use utils from client api test util 2024-01-23 16:01:36 +08:00
Fu Zi Xiang a683e8447e
chore: merge with main 2024-01-23 15:30:50 +08:00
Fu Zi Xiang 59d07040fc
fix: make unique user creation public 2024-01-23 15:19:19 +08:00
Fu Zi Xiang 7c95f6556a
feat: added test case and use triggers 2024-01-23 14:48:25 +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
Fu Zi Xiang 27b7b8b5b8
feat: add workspace and delete workspace 2024-01-23 12:10:55 +08:00
Nathan.fooo ee3abdb27a
chore: error for oauth (#268)
* chore: error for oauth

* chore: fmt

* chore: fmt

* chore: add error type

* chore: fix ci
2024-01-22 23:43:04 +08:00
Fu Zi Xiang 3907374cd1
fix: ws connect test with expired token 2024-01-22 13:19:15 +08:00
Fu Zi Xiang 107423562d
fix: valid url before ws connect 2024-01-22 12:37:59 +08:00
Nathan.fooo 480b7377f2
chore: client api wasm (#262)
* feat: client_api wasm

* ci: client_api wasm ci

* ci: client_api wasm ci
2024-01-17 03:20:24 +08:00
Fu Zi Xiang 0f4d4e4b3c
fix: large file test case 2024-01-12 17:59:48 +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 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 b48bf402c7
chore: set client max boby size (#241)
* chore: set client max boby size

* chore: fix clippy
2024-01-03 03:22:45 +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
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 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 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
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
Fu Zi Xiang 39b5ca28ad
feat: dynamic load oauth login options if supported by gotrue 2023-11-22 22:45:15 +08:00
nathan 682559af50 chore: clippy 2023-11-17 15:20:26 +08:00
nathan b578c83cc9 chore: add logs 2023-11-17 12:37:59 +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 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 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
Fu Zi Xiang c3814c14cc
fix: refactor and clean up test case 2023-11-09 21:55:16 +08:00
Fu Zi Xiang b4495687d3
fix: local test case 2023-11-09 20:23:44 +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 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 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
Nathan.fooo 5020d4738a
feat: Integrate workspace member (#140)
* chore: update client api

* chore: return user name in the workspace memeber

* chore: optimize logs
2023-10-25 20:44:30 +08:00
Zack 33b699cbae
feat: user invite (#135)
* feat: user invites another user through magic link

* feat: user invitation

* chore: use google oauth logo from official branding guideline

* chore: use appflowy svg

* chore: home page use appflowy svg

* feat: UI improvement

* chore: edit mailer url path for nginx reverse proxy

* feat: added discord login

* feat: added login with github

* feat(web-api): provide link to open appflowy app

* refactor: simplify sidebar

* feat: added navigational features

* chore: shadow on navigate

* chore: removed unneeded files

* feat: message box improvement

* refactor: remove most javascript
2023-10-25 18:46:41 +08:00
Nathan.fooo 7c503372e0
feat: client-api integration: save user meta data (#133)
* chore: update

* feat: get user workspace info

* feat: return list of workspace

* feat: return latest workspace id

* feat: latest workspace id

* test: add tests
2023-10-23 15:03:31 +08:00
Nathan.fooo d0d2e916a7
refactor: hiding sqlx row entitis from client api (#132) 2023-10-22 22:10:03 +08:00
nathan ec13239bdd chore: update dto 2023-10-22 21:10:30 +08:00
Nathan.fooo 7a309c6f69
feat: insert user metadata (#131) 2023-10-22 19:21:23 +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 fe5ef43333
refactor: workspace member crud (#128)
* refactor: workspace member crud

* refactor: update user api

* test: fix test
2023-10-21 20:50:32 +08:00
Zack 6bfa76aff8
feat: Password change (#125)
* feat: user update params

* fix: client_api and tests

* chore: sqlx metadata

* feat: added password change for user

* feat: top bar as components

* feat: login page improvement

* fix: add missing files

* feat: redesign login page

* feat: redesign admin and home page
2023-10-20 19:45:12 +08:00
Nathan.fooo 417d9f1d41
feat: cache workspace member & fix some bugs (#127)
* chore: insert collab member when inserting workspace member

* refactor: test directory

* chore: remove triggers

* test: add more test

* chore: cache workspace memeber role

* chore: update test
2023-10-20 19:43:36 +08:00
Nathan.fooo cb9cdb9280
feat: collab permission test (#126)
* chore: check permission for collab storage proxy

* feat: add permission tests

* chore: skip log
2023-10-19 17:12:21 +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
Zack ebc2e7ebf6
feat: nginx add gotrue path rewrite (#121)
* feat: nginx add gotrue path rewrite

* fix: prefix gotrue for gotrue url
2023-10-17 13:58:31 +08:00
Nathan.fooo 88be0c2433
refactor: access control (#118)
* refactor: access control

* chore: fix test
2023-10-15 10:56:56 +08:00
Nathan.fooo 3e73adc82d
feat: workspace manager & test (#117)
* chore: add workspace tests

* chore: add slqx files

* feat: update workspace member role

* chore: update
2023-10-14 12:23:23 +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 de5a33da97
feat: set user password 2023-10-13 16:32:28 +08:00
Fu Zi Xiang 574d2661a1
chore: fix linting 2023-10-13 12:12:12 +08:00
Fu Zi Xiang 591b66b73e
feat: auto refresh session 2023-10-13 12:08:53 +08:00
nathan 6228204167 Merge branch 'main' into admin_frontend 2023-10-11 21:39:35 +08:00
Nathan.fooo ef726092be
refactor: file storage (#110)
* refactor: return file id after save to disk

* test: add tests

* chore: mine type

* test: disbale two client sync test

* chore: get file with url

* refactor: client api
2023-10-11 21:36:57 +08:00
Fu Zi Xiang 0518eaa6ab
fix: integration tests 2023-10-10 20:05:20 +08:00
Fu Zi Xiang 0ef6095481
feat: added funtionality to show all users 2023-10-10 16:11:49 +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
Nathan.fooo d3186cc07a
feat: websocket config (#99)
* chore: enable tls feature

* chore: update ws client

* chore: update ws client

* chore: expost database entities

* chore: update ws nginx config

* chore: rename error file

* chore: fix clippy
2023-10-05 17:43:50 +08:00
Nathan.fooo 4a279bc108
chore: config nginx (#93)
* chore: config nginx

* chore: update nginx
2023-10-04 22:11:46 +08:00
Nathan.fooo c0aea377d0
test: test with dev client (#91)
* test: test with dev client

* chore: add nginx conf

* chore: fix clippy

* chore: disable docker in lint
2023-10-04 21:43:21 +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 74b583bc62
refactor: test directory (#88)
* refactor: test directory

* chore: rename
2023-10-04 16:57:15 +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
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