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
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
799f3244ff
chore: cargo fmt
2023-11-22 22:49:36 +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
b578c83cc9
chore: add logs
2023-11-17 12:37:59 +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
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
04989e9485
feat: Upload collab limit ( #160 )
...
* chore: add logs
* feat: update upload collab limit
2023-11-12 16:03:48 +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
Fu Zi Xiang
c3814c14cc
fix: refactor and clean up test case
2023-11-09 21:55:16 +08:00
Nathan.fooo
eb633c2ba4
chore: remove subscriber when receive init message ( #156 )
2023-11-09 16:52:09 +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
b4b8303bae
chore: remove log
2023-11-08 17:33:47 +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
eb4814738b
chore: format logs
2023-11-06 20:32:23 +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
0b9d7e6d6b
chore: add logs ( #138 )
2023-10-25 10:14:41 +08:00
Nathan.fooo
49f994488a
chore: redirect url ( #134 )
...
* chore: redirect url
* chore: stop ws conn if error is auth error
* chore: add query params
* chore: fix clippy
2023-10-24 00:40:44 +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
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
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
d638c01763
feat: added oauth login for admin ( #119 )
...
* doc: added deployment guide for appflowy cloud
* feat: added oauth login for admin
* feat: specify redirect_url
* feat: implemented google oauth
* fix: default value for redirect_to
* fix: add check for location hash
2023-10-17 10:21:06 +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
nathan
7b77805d8d
chore: add logs
2023-10-13 10:37:28 +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
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
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
17093de469
chore: opti log ( #103 )
...
* chore: opti log
* chore: clippy
2023-10-06 21:04:16 +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
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
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
Zack
e3ff765137
feat: Gotrue admin api ( #74 )
...
* feat: set up admin account and auto confirm during appflowy start
* feat: client auth against gotrue whenever possible
* feat: admin add user
* feat: implement admin add user
* feat: generate registered user
* fix: enable cloud feature for client_api
* fix: test same user fix
* feat: added admin magic link generation
2023-09-23 20:06:37 +08:00
Zack
f1a16058ce
feat: Gotrue admin api ( #73 )
...
* feat: set up admin account and auto confirm during appflowy start
* feat: client auth against gotrue whenever possible
* feat: admin add user
* feat: implement admin add user
* feat: generate registered user
* fix: enable cloud feature for client_api
* fix: test same user fix
2023-09-23 17:07:02 +08:00
Nathan.fooo
b0622efe08
Feat update user ( #69 )
...
* chore: update user
* refactor: token
* chore: update
2023-09-22 20:28:39 +08:00
Zack
df9c71edb2
feat: returns if user is new for both oauth and password login ( #67 )
...
* feat: returns if user is new for both oauth and password login
* test: add test for firt time sign_in and subsequent
* chore: remove uneeded use
* fix: compile
---------
Co-authored-by: nathan <nathan@appflowy.io>
2023-09-21 14:05:25 +08:00
Zack
bbc913e45f
feat: support name for oauth sign in ( #65 )
...
* feat: support name for oauth sign in
* fix: add sqlx metadata
* feat: improve api, add name modifications
* fix: add sqlx query metadata
2023-09-21 09:28:07 +08:00
Nathan.fooo
ca0813e265
refactor: ws ping ( #66 )
...
* chore: ws client
* chore: update ws ping
* chore: fix test
* chore: public funcs
* chore: fix test
* chore: check clent-api compile
2023-09-20 20:53:39 +08:00
Zack
0676db7ed6
feat: Workspace members ( #63 )
...
* fix: create user if they sign up with oauth
* feat: add workspaces_members add and remove operations
* feat: add insert workspace members
* feat: attach db ops to api ops
* refactor: separate user and workspace scope
* chore: add sqx query metadata
* chore: add 2nd registered user for testing
* ci: use valid email
* ci: fix registered password invalid
* fix: use email instead of uid
* fix: use email instead of uid sqlx query metadata
* feat: add test for workspace member
* test: added workspace add and delete with checking
* ci: fix email
2023-09-19 20:59:16 +08:00
Nathan.fooo
923a9b41fe
chore: expost entity from client-api ( #64 )
2023-09-19 11:29:02 +08:00
Nathan.fooo
7ae645a7c1
test: add ws reconnect test ( #58 )
...
* test: add test
* test: add reconnect
2023-09-18 11:42:32 +08:00
Nathan.fooo
8f8f6af0f9
feat: Integrate to client ( #52 )
...
* refactor: ws client
* chore: update
* chore: update
* chore: add ext_url
* chore: rename structs
* chore: add token notify
2023-09-17 12:52:44 +08:00
Nathan.fooo
d24c13692a
feat: remove actix-web deps from client_api ( #49 )
...
* chore: remove actix-web deps
* chore: fix client error
* chore: expose error
* chore: delete tests
2023-09-16 09:31:47 +08:00
Nathan.fooo
e9fc2af43c
feat: implement websocket client ( #47 )
...
* feat: implement websocket client
* chore: clippy
* chore: update
* chore: update env
2023-09-15 12:11:04 +08:00
Zack
7345da7c46
feat: Autorefresh ( #44 )
...
* feat: use gotrue from source instead of docker hub image
* test: fix test due to gotrue upgrade
* fix: update prod docker-compose
* chore: cargo fmt --all
* chore: cargo fmt --all
* feat: autorefresh
* test: add test case and auto refresh scenario
2023-09-15 11:21:05 +08:00
Nathan.fooo
939ea29c3b
feat: Realtime multiple conn test( #45 )
...
* chore: multiple connection with same user
* chore: connect with device id
* fix: multiple connection
* test: add more test
* chore: fmt
2023-09-15 09:59:37 +08:00
Zack
9fc2acbc35
feat: Docker/gotrue ( #43 )
...
* feat: use gotrue from source instead of docker hub image
* test: fix test due to gotrue upgrade
* fix: update prod docker-compose
* chore: cargo fmt --all
2023-09-14 20:41:04 +08:00
Zack
b3be09e264
feat: added refresh ability on server and client ( #41 )
...
* feat: added refresh ability on server and client
* fix: use refresh token for refresh and add test case
* chore: cargo fmt --all
* chore: cargo clippy
* fix: cargo clippy
* test: added async mutex for registered user for consistency
* fix: remove unneeded files
---------
Co-authored-by: nathan <nathan@appflowy.io>
2023-09-14 15:58:18 +08:00
Nathan.fooo
e03a6ce587
test: fix collab edit test ( #42 )
...
* test: fix
* chore: cargo sqlx check workspce
* chore: remove rocksdb deps
2023-09-14 14:05:15 +08:00
Zack
8d11d7b6cf
feat: support external oauth ( #35 )
...
* feat: support external oauth
* chore: cargo fmt
* doc: add docs for google oauth2
* fix: use btree map and get for oauth
* feat: client to open url for oauth login
* feat: add test case for oauth not available
* feat: add placeholder for sign_in_url
* fix: use
* feat: client sign up with url
* feat: add sign_in_with_url simple test
* fix: use url fragments and string split
* fix: test case and gotrue error handling
* fix: return error and remove unwrap
* chore: remove unused file not in module tree
* fix: test cases
* chore: add cfg feature cloud to isolate dependencies
2023-09-13 21:08:13 +08:00
Nathan.fooo
c42158b7cb
test: add ws connect test ( #39 )
...
* test: add ws connect test
* chore: format log
2023-09-13 17:04:42 +08:00
Nathan.fooo
107627f4d8
feat: implement snapshot handler ( #38 )
2023-09-13 15:25:51 +08:00
Nathan.fooo
3aa4d20ad3
chore: reduce deps of client_api crate ( #37 )
2023-09-13 13:12:07 +08:00
Nathan.fooo
b32fcff4d4
test: Collab handler test ( #36 )
...
* chore: implement collab requests
* test: add more tests
* chore: update scope path
2023-09-13 12:52:22 +08:00
Nathan.fooo
f0f58f98f3
feat: create collab handlers ( #34 )
...
* feat: logged user after sign up/sign in
* test: fix test
* chore: update sqlx files
* chore: add router
* chore: parser user uuid from token
2023-09-12 21:52:25 +08:00
Zack
0d59211e55
feat: expose workspace and profile api ( #32 )
...
* feat: expose workspace and profile api
* feat: add impl for client_api
* feat: add test case for workspace and profile
2023-09-12 16:14:14 +08:00
Nathan.fooo
4e964677b3
refactor: return AppError ( #28 )
...
* refactor: return AppError
* chore: impl from response for AppResponse
2023-09-11 15:23:55 +08:00
Nathan.fooo
4a56cbb91f
refactor: refactor app data struct ( #23 )
...
* refactor: refactor app data struct to reduce memory cost
* refactor: rename AppData to AppResponse
* chore: implement traits
* chore: remove default features of actix-web
2023-09-10 11:56:22 +08:00
Zack
d4577f5e61
Feat: enrich http dto ( #20 )
...
* feat: add scripts for easier dev
* feat: add Json<T> as resp type for http server
* feat: restructure server and client shared entity
* feat: restructure server and client shared entity
* feat: use serde_repr to deserialize enum into json number
* feat: minor adjustment to results and server error
* feat: test: fix unconfirmed email message
* feat: test: add test case for existing user
* feat: test: modified api for sign_out
* feat: test: add test case pass
2023-09-08 20:01:28 +08:00
Nathan.fooo
c1f8d79169
chore: separate crates ( #18 )
2023-09-07 19:40:11 +08:00