* 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>
* feat: #1832 Support to import data from Markdown or Text to Document page
* feat: #1832 Support to import data from Markdown or Text to Document page
* feat: add TargetPlatform `isDesktop` helper
Safe and convenient way to check if the current platform is a desktop platform.
* refactor: move window logic to separate class
This is much cleaner and better encapsulated. Sets up an area for
further window management in the future.
Does not try to initialize on mobile or web, which would crash.
* fix: isDesktop doc comment
* fix: set window title
Currently only displays "app_flowy" as the window title. This commit
sets the window title to "AppFlowy" as part of the init process.