* chore: remove async trait
* chore: require From<AnyMap> for trait TypeOption
* refactor: simplify group controller by removing GroupController trait
* chore: rename GroupControllerOperation trait to GroupController
* chore: add some docs
* chore: remove plural struct and use Vec directly
* chore: unnecessary mut
* chore: use same name to indicate passthrough
* chore: remove unused trait
* chore: rename group context to group controller context
* chore: remove group name
* chore: move type option interceptor to GroupCustomize and split off delegates for group context and group controller
* chore: adapt tests to changes
* chore: adapt flutter frontend to changes
* chore: code cleanup
* chore: fix clippy and adapt tauri frontend to changes
* chore: group controller code clean up
* chore: no need to pass cell data when moving row
* chore: rename some functions and variables
* chore: remove content filter
* fix: add supported extension of image
* fix: display of select options when no typing
* chore: focus end when cell input actived
* fix: modified checklist keyboard event
* chore: bump client api
* chore: bump client api
* chore: update ci
* chore: update client api
* chore: ci config
* chore: bump client api
* chore: bump client api
* chore: bump client api
* fix: database bugs
* fix: calendar picker
* fix: the position of collapse menu button
* fix: modified some style
* fix: slash command
* fix: selection style
* fix: support toggle inline formula
* fix: block color effect grid block
* fix: if isRange and date is greater than endDate, swap date and endDate
* fix: remove sorting before insert row
* fix: toggle property visible status
* fix: modified tauri window size
* fix: placeholder should be hidden when composing
* fix: support href shortcut
* fix: prevent submit when the formula has error
* fix: modified layout selection
* fix: add padding for record edit
* fix: remove sorts before drag row
* fix: modified chip style
* fix: if previous node is an embed, merge the current node to another node which is not an embed
* fix: modified emoji picker
* feat: workspace api
* feat: added cloud apis for add and delete workspace
* feat: add and delete workspace event handlers
* chore: rust fmt
* chore: save user workspace
* test: add test
* test: add test
* chore: add to gitignore
* feat: update api add name to workspace
* chore: cargo clippy and rename to create
* chore: add envrc and direnv to gitignore
* chore: change name to create workspace instead of add workspace
* chore: update client api rev
* feat: add create workspace impl
* chore: restore gitignore to original
* test: fix create workspace event test
* fix: change delete workspace input
* fix: compile
* fix: create workspace test
* feat: add error code for request payload too large
* chore: remove cargo backup files
* feat: add is async option for upload file handler
* chore: update client api version
---------
Co-authored-by: nathan <nathan@appflowy.io>
* refactor: port away from extra SortType struct
* refactor: add validator to flowy_database and clean up unused structs
* refactor: port away from extra FilterType struct
* chore: analysis options
* fix: clippy and dart/ts compile
* fix: tauri build
---------
Co-authored-by: nathan <nathan@appflowy.io>
* fix: reset server url when using appflowy cloud the first time
* refactor: set authenticator in frontend
* chore: log version
* chore: show hint when changing the server type
* chore: bump version
* chore: fix test
* chore: bump collab