* 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>
* 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
* refactor: user manager
* feat: implement workspace service
* refactor: migrate user data when sign up
* chore: fmt
* chore: enable beta cloud
* chore: update ci
* chore: trim slash
* fix: import document from database row
* chore: update test
* chore: fix test
* chore: fix test
* chore: fix test
* chore: fix local user on appflowy cloud error
* chore: clippy
* chore: bump pubspec version
* feat: update editor
* feat: integrate new editor
* feat: integrate the document2 into folder2
* feat: integrate the new editor
* chore: cargo fix
* chore: active document feature for flowy-error
* feat: convert the editor action to collab action
* feat: migrate the grid and board
* feat: migrate the callout block
* feat: migrate the divider
* chore: migrate the callout and math equation
* feat: migrate the code block
* feat: add shift + enter command in code block
* feat: support tab and shift+tab in code block
* fix: cursor error after inserting divider
* feat: migrate the grid and board
* feat: migrate the emoji picker
* feat: migrate openai
* feat: integrate floating toolbar
* feat: migrate the smart editor
* feat: migrate the cover
* feat: add option block action
* chore: implement block selection and delete option
* feat: support background color
* feat: dismiss color picker afer setting color
* feat: migrate the cover block
* feat: resize the font
* chore: cutomsize the padding
* chore: wrap the option button with ignore widget
* feat: customize the heading style
* chore: optimize the divider line height
* fix: the option button can't dismiss
* ci: rust test
* chore: flutter analyze
* fix: code block selection
* fix: dismiss the emoji picker after selecting one
* chore: optimize the transaction adapter
* fix: can't save the new content
* feat: show export page when some errors happen
* feat: implement get_view_data for document
---------
Co-authored-by: nathan <nathan@appflowy.io>
* refactor: rename structs
* chore: read database id from view
* chore: fix open database error because of create a database view for database id
* chore: fix tests
* chore: rename datbase id to view id in flutter
* refactor: move grid and board to database view folder
* refactor: rename functions
* refactor: move calender to datbase view folder
* refactor: rename app_flowy to appflowy_flutter
* chore: reanming
* chore: fix freeze gen
* chore: remove todos
* refactor: view process events
* chore: add link database test
* chore: just open view if there is opened database
* chore: create build-in calendar data
* feat: add new calendar view to plugins
* chore: add create calendar page test
* chore: disable for creation for now
* fix: rebase regression
Co-authored-by: nathan <nathan@appflowy.io>
* feat: support customize folder path
* feat: add l10n and optimize the logic
* chore: code refactor
* feat: add file read/write permission for macOS
* fix: add toast for restoring path
* feat: fetch apps and show them
* feat: fetch apps and show them
* feat: implement select document logic
* feat: l10n and add select item callback
* feat: add space between tile
* chore: move file exporter to settings
* chore: update UI
* feat: support customizing folder when launching the app
* feat: auto register after customizing folder
* feat: l10n
* feat: l10n
* chore: reinitialize flowy sdk when calling init_sdk
* chore: remove flowysdk const keyword to make sure it can be rebuild
* chore: clear kv values when user logout
* chore: replace current workspace id key in kv.db
* feat: add config.name as a part of seesion_cache_key
* feat: support open folder when launching
* chore: fix some bugs
* chore: dart fix & flutter analyze
* chore: wrap 'sign up with ramdom user' as interface
* feat: dismiss settings view after changing the folder
* fix: read kv value after initializaing with new path
* chore: remove user_id prefix from current workspace key
* fix: move open latest view action to bloc
* test: add test utils for integration tests
* chore: move integration_test to its parent directory
* test: add integration_test ci
* test: switch to B from A, then switch to A again
* chore: fix warings and format code and fix tests
* chore: remove comment out codes
* chore: rename some properties name and optimize the logic
* chore: abstract logic of settings file exporter widget to cubit
* chore: abstract location customizer view from file system view
* chore: abstract settings page index to enum type
* chore: remove the redundant underscore
* test: fix integration test error
* chore: enable integration test for windows and ubuntu
* feat: abstract file picker as service and mock it under integration test
* chore: fix bloc test
Co-authored-by: nathan <nathan@appflowy.io>
* chore: write snapshot
* chore: add tests
* chore: sync close
* chore: restore from snapshot
* chore: delete invalid revisions after restored from snapshot
* chore: create default view if it fail to deserialize view's revisions when there is no snapshot
* chore: auto generate snapshot
Co-authored-by: nathan <nathan@appflowy.io>