Commit Graph

56 Commits

Author SHA1 Message Date
Khor Shu Heng fa9d53461b
feat: add web guide as part of getting started guide (#1142) 2025-01-10 16:30:05 +08:00
Nathan.fooo 1131818eb7
fix: support index document in the background, fix stack overflow when calling rayon::spawn (#1099)
* chore: batch index

* chore: format log

* chore: index workspace

* chore: fix stack overflow

* chore: background index

* chore: clippy

* chore: filter tasks

* chore: clippy

* chore: add metrics

* chore: fix test
2024-12-24 14:30:17 +08:00
Bartosz Sypytkowski 66deaf3fa3
chore: move collab cache for appflowy collaborate service and add metrics (#1045)
* chore: move collab cache for appflowy collaborate service and add metrics

* chore: add histogram for measuring time spent in postgres transactions

* chore: delete blobs in chunks

* chore: bring back redis cache filling by import worker

* chore: cargo fmt

* chore: make import workspace update existing collabs

* chore: bulk insert collab deduplicate records
2024-12-06 19:55:51 +08:00
Bartosz Sypytkowski 3799966f12
chore: store pending collab writes in memory (#1000)
* chore: write immediatelly actually writes immediatelly

* chore: fix clippy errors

* chore: add metrics to new storage queue impl

* chore: set collab batch write capacity to the same as on main branch
2024-11-17 13:25:42 +08:00
khorshuheng a0c68d8c86 chore: remove access control middleware 2024-10-25 13:19:16 +08:00
Nathan.fooo 9c0dffacef
feat: implement import notion zip file api endpoint (#840)
* chore: implement api endpoint

* chore: worker

* chore: async zip

* chore: test bulk insert

* chore: insert collab

* chore: custom task

* chore: consume un acked message

* chore: fix compile

* chore: add test

* test: update

* chore: save import record

* chore: save import record

* chore: fix ci

* chore: remove unused deps

* chore: update docker file

* chore: build worker images

* chore: use small int

* chore: use small int

* chore: rm protoc deps in runtime

* chore: move collab cache to database crate

* chore: update test

* chore: rm health api endpoint

* chore: clippy

* chore: update ci

* chore: add test

* chore: upgrade collab

* chore: clippy

* chore: update test

* chore: use custom host

* chore: config nginx

* chore: install cert
2024-10-03 22:22:29 +08:00
Nathan.fooo a4b885e13b
chore: set exp time for collab base on collab type (#820)
* chore: set exp time for collab base on collab type

* chore: fix test
2024-09-13 19:04:56 +08:00
Nathan.fooo 5d356718fa
fix: using spawn_blocking in order to not block the runtime (#793)
* fix: using blocking in order to not block the runtime

* chore: increase deps count
2024-09-05 09:19:34 +08:00
Nathan.fooo 365c64c5c2
chore: use colla storage instead of select from db directly (#782) 2024-09-02 21:25:21 +08:00
Bartosz Sypytkowski 2af1999375
chore: added locks with timeouts (#765)
* chore: added locks with timeouts

* chore: roll back collab locks in client api
2024-08-29 16:13:27 +08:00
Lucas.Xu e7bf221ff0
feat: update built-in README for new users (#757)
* feat: add getting_started, desktop_guide and mobile_guide json

* feat: update built-in readme data

* feat: support adding database as template

* feat: support creating nested documents

* chore: refactor code

* chore: refactor code

* chore: remove println

* chore: update collab version

* feat: update built-in readme and image ref

* chore: remove template icon

* feat: use database::create_with_view to create collab

* chore: add template tests

* chore: update collab version

* chore: remove debug code

* chore: add comment

* chore: fix lint & test

* fix: code review

* fix: rust lint

* chore: update comment

* test: add default workspace test

* test: add default user workspace test

* chore: use workspace database body

* chore: fix typo and clippy

* fix: insert_folder_data_success test

* fix: insert_folder_data_success test

* feat: update content in gettting_started

* chore: update to-dos json

---------

Co-authored-by: nathan <nathan@appflowy.io>
2024-08-28 19:40:23 +08:00
Bartosz Sypytkowski ef860c2d5a chore: fix cargo fmt and clippy errors 2024-08-13 19:59:48 +02:00
Bartosz Sypytkowski c27866fb25 chore: upgrade code to use asynchronous locks 2024-08-13 19:59:46 +02:00
Bartosz Sypytkowski a706c312b3 chore: making embeddings code compile 2024-06-28 05:40:41 +02:00
Nathan.fooo 4eb1e6bceb
chore: generate history using redis steam (#570)
* chore: combine test

* chore: add snapshot test

* chore: add test
2024-05-23 07:57:20 +08:00
Nathan.fooo d994b10115
chore: appflowy ai client (#547)
* chore: appflowy ai client

* chore: clippy

* chore: clippy

* chore: fix ci

* chore: disable index search
2024-05-12 09:23:32 +08:00
Khor Shu Heng d9d874ab8a
feat: migrate collab cache to collaborate service (#524)
Co-authored-by: nathan <nathan@appflowy.io>
2024-05-09 23:12:13 +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 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 3901356e8a
chore: bump collab version (#471) 2024-04-15 12:35:14 +08:00
Nathan.fooo 28e0e74fd1
feat: Implement history(1) (#466)
* chore: update collab commit

* chore: collab history test

* chore: collab history test

* chore: impl redis stream

* chore: impl redis stream test

* chore: impl migration

* chore: implement history sql

* chore: add test

* chore: add test

* chore: fix test

* chore: update log and test

* chore: add xtask

* chore: clippy

* chore: impl api

* chore: add missing sqlx files

* chore: fix test

* chore: fix test
2024-04-15 09:18:19 +08:00
Nathan.fooo 4d019728ba
refactor: insert encode collab object in redis (#469)
* chore: insert collab redis cache with timestamp

* chore: add test

* chore: update expire time

* chore: update

* chore: fix test
2024-04-13 22:31:36 +08:00
Nathan.fooo 01f1af98f5
chore: wrapper for collab (#448)
* chore: wrapper for collab

* chore: add tests

* chore: fix audit

* chore: init sync

* chore: disable wasm user test

* chore: disable encode state when start

* chore: fix test
2024-04-05 11:30:00 +08:00
Nathan.fooo c77329ea11
chore: encode collab with validate check (#439)
* chore: bump collab

* chore: fix test

* chore: fix test
2024-04-03 09:07:35 +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 d0c0d7832c
chore: add test for connect state (#414)
* chore: add test

* chore: add test

* chore: disable redis test
2024-03-24 10:35:26 +08:00
Nathan.fooo acc13414cf
feat: sync deduplicate (#412)
* chore: update logs

* chore: update logs

* chore: deduplicate messages

* chore: optimize sync interval

* chore: fmt

* ci: test

* chore: clippy

* chore: clippy
2024-03-24 07:30:05 +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 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
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 c5fe447250
feat: bump collab (#243)
* chore: bump collab

* chore: bump collab

* chore: bump collab
2024-01-03 08:40:26 +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
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 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 d0d2e916a7
refactor: hiding sqlx row entitis from client api (#132) 2023-10-22 22:10:03 +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 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
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 19ee96db4a
chore: rename crate (#82) 2023-09-28 22:20:48 +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 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
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
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