* feat: add edit api to openai client
* feat: add translation
* chore: format code
* feat: add smart edit plugin
* fix: close http.client when dispose
* fix: insert openai result to wrong position
* feat: optimize the replace text logic
* test: add test for normalize and getTextInSelection function
* chore: update error message
* feat(shortcuts): Add Shortcuts to Help Menu
- Added option of shorcuts in help menu
- Clicking on the shortcut leads to the `Shortcuts.md` file
* fix: l10n and todos
---------
Co-authored-by: Lucas.Xu <lucas.xu@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: implement CalendarBloc
* chore: enable save and read the calendar setting
* style: more precise variable name
* chore: backend calendar settings
* chore: protobuf for layout settings
* chore: update test
* chore: Enumerate the LayoutTypePB enum type to get the supported layout types
* fix: deserialize object type is not the same as serialize object type
* chore: add set/get calendar settings event
* ci: fix wanrings
---------
Co-authored-by: nathan <nathan@appflowy.io>
Co-authored-by: vedon <vedon.fu@gmail.com>
* fix(network_monitor): add missing case for `other` network type
Missing case causing static analysis error that is blocking the build.
* chore: update depdendency minor versions
* feat: add openai service
* feat: add openai auto completion plugin
* feat: add visible icon for open ai input field
* chore: optimize user experience
* feat: add auto completion node plugin
* feat: support keep and discard the auto generated text
* fix: can't delete the auto completion node
* feat: disable ai plugins if open ai key is null
* fix: wrong auto completion node card color
* fix: make sure the previous text node is pure when using auto generator
* feat: handler for deleting a word
* chore: typo
* test: ctrl and backspace to delete word
* feat: add ctrl alt arrows to select words
* fix: remove print statement
* fix: remove additional shortcut
* fix: handle nodes empty case
* test: edge cases with delete word
* fix: press meta on macos
* refactor(Log): allow passing error and stacktrace to logs
This allows us to log errors and stacktraces in a more structured way.
* feat: catch platform errors
Adds handling for platform errors that are not caught by the
Flutter framework. Doing so will log the error properly and
prevent the app from crashing.
* fix: empty url group bug
moving a row to empty url (no status) group would change the row's
url to the group id which is not empty, its a random string.
fixed it with puting a check to fill the url with the empty string
when the group id is equal to empty url group id
* fix: move empty group check to `insert_url_cell`
because evereywhere using `insert_url_cell` we want to check that.
* chore: cargo fmt
---------
Co-authored-by: nathan <nathan@appflowy.io>