* fix: load database fail caused by spawning long run task
* chore: yield long run task
* chore: fmt
* chore: update client api
* feat: copy data between server
* ci: fix af cloud test
* feat: adjust toggle list block
* feat: show block actions when tapping divider
* feat: add toggle list and callout to toolbar
* feat: refactor the emoji picker button
* fix: toggle list integration tests
* chore: don't use cache when building release package
* feat: refactor icon widget design
* feat: sync the emoji between page and view
* feat: use cache to store the emoji data to prevent reloading
* feat: customize the emoji item builder
* feat: add i18n and shuffle emoji button
* fix: integration test
* feat: replace emoji picker in Grid and slash menu
* feat: support adding icon on mobile platform
* feat: support adding and removing icon on mobile
* test: add integration tests
* Create ur.json
* Add files via upload
* changes
* Added Locale change to the supported Locales List
* Added Urdu in Language.dart
* Delete .vscode/launch.json
* Changed the icon for Calendar
* test: add supabase auth tests
* chore: format before test
* chore: fix warnings
* ci: rust test
* chore: disable clicking get started button when logining through the google OAuth
* feat: implement encrypt and decrypt
* feat: encrypt and decrypt
* feat: update user profile with encrypt
* chore: store encryption sign
* fix: login in setting menu
* chore: show encryption account name
* chore: fix test
* ci: fix warnings
* test: enable supabase test
* chore: fix test and rename column
* fix: update user profile after set the secret
* fix: encryption with wrong secret
* fix: don't save user data if the return value of did_sign_up is err
* chore: encrypt snapshot data
* chore: refactor snapshots interface
* ci: add tests
* chore: update collab rev
* fix: push to sign in screen when logout
* chore: show historical login users
* chore: open historical user
* chore: show historical user
* chore: reload app widget with unique key
* chore: add tooltip for user history
* feat: open apps in tabs
Closes: #2942 Relates: #2312
* fix: resolve comments
* fix: unfocus editor to close toolbar on open/change tab
* test: abstract open in a new tab helper
* chore: add label for font selection drop down
* chore: add method to set font family
* feat: add drop down to setting appearance view
* feat: add fontFamily to document appearance cubit
* feat: add bloc provider to root for document appearance style
* feat: syncFont family from setting appearance dialog
* feat: plumbing for font style in editor
* fix: add blocprovider before pushing overlay
* chore: add kv_keys
* fix: use fontFamily in document appearance cubit
* fix: remove bloc providers because bloc is supplied in ancestor
* fix: remove unecessary bloc provider
* chore: add constraints to popover
* chore: add translation for search box
* feat: add levenshtein for string sort
* feat: add search bar view
* refactor: levenshtein
* chore: add tests for levenshtein algorithm
* feat: add unit tests for appearance cubit
* fix: analyzer warnings
* feat: sort by ascending if query is empty
* chore: add test for the font family setting widget
* feat: make comparison case insensitive
* feat: lazy load with listview.builder
Co-authored-by: Yijing Huang <hyj891204@gmail.com>
* fix: fonts loaded on open application
* fix: checkmark doesn't show
* fix: try catch before getFont
* fix: clear text editing value on close
* fix: remove autofocus for search text field
* chore: add tests
* feat: use sliver protocol
Co-authored-by: Yijing Huang <hyj891204@gmail.com>
* fix: avoid using intrinsic height
Co-authored-by: Yijing Huang <hyj891204@gmail.com>
* fix: extra paren caused build failure
* feat: switch order of font family setting
---------
Co-authored-by: Yijing Huang <hyj891204@gmail.com>
* feat: dynamic theme plugin (init)
* feat: provide fallback color if plugin becomes out of date (transparent)
* feat: use applicationDocumentsDirectory to store plugins
* chore: remove json files
* fix: add toJson to resolve analyzer errors
* fix: analyzer (unused imports)
* feat: add code generation scripts for freezed files (call recursively in packages)
* fix: revert changes to dry generation
* feat: call directly into script
* refactor: scripts try to be stateless :)
* fix: path to code generation in toml
* fix: generate script permissions
* fix: path not correct in generate.sh
* feat: modify execution permissions before executing scripts
* chore: switch order of build_runner and easy_localizations
* fix: fs is not valid duckscript cmd
* chore: clean build_runner before executing
* chore: upgrade freezed and build_runner attempt to resolve InvalidType error
* fix: use exec cmd.exe to chmod
* feat: add task to generate all files
* chore: remove redundant task (Code Gen)
* chore: remove json_annoation to dev_dependencies
* fix: dropped & between commands
* chore: rename file and class to FlowyDynamicPlugin
* fix: dependency hell
* fix: json annotation in colorscheme
* fix: analyzer warnings
* fix: duckscript runner for code generator
* fix: try without setting file permissions
* chore: move file picker to infra
* chore: restructure project directory
* feat: add BLoC components for consumers
* chore: update dependencies in pubspec.yaml file
* fix: file picker imports
* feat: add new translations for features
* feat: add new widgets to render upload
* fix: import
* feat: add text overflow
* feat: use animated switcher
* chore: export FileType
* fix: directory was not created, only files were copied
* chore: separate some logic
* feat: add saveFile to FilePickerService
* fix: analyzer error with unused imports
* feat: add translations for uploading
* feat: add builtins property to apptheme
* feat: add theme preview widget
* fix: upload widgets need to fill whole space and account for overflow
* refactor: do not watch file system for changes
* feat: add deletion confirmation dialog
* feat: add form factor resolution for dyanmic layout
* feat: trigger rebuild only when plugins are loaded
* feat: make all methods static
* chore: remove TODO comment, requires further design
* chore: move models to subfolder
* fix: references to plugin service instance
* fix: rebase errors
* fix: more rebasing errors
* feat: remove multiple themes from one plugin
* refactor: use pattern to resolve widget in settings_appearance_view
* refactor: remove commented code
* feat: add translations
* fix: import error
* refactor: separate concerns a bit more
* fix: bug in toJson serialization code
* feat: add package to use represent memory files
* fix: analyzer warnings
* chore: add translation
* chore: remove unused exceptions
* chore: use join
* chore: add documentation
* feat: add tests on theme
* fix: fix scripts for macOS
* feat: use appFlowyDocumentDirectory
* fix: remove unused import
* fix: imports
* feat: allow plugin service to be passed
* fix: theme tests
* feat: separate themes by built-in and plugin
* fix: rebase change name of appFlowyDocumentDirectory
* chore: add test to check that initial state falls back to initial theme
* chore: theme upload preview widget
* chore: rename to brightness setting
* refactor: appearance for settings appearance view
* feat: change show dialog api and use it
* fix: handle plugin compilation exception when incorrect format supplied
* fix: style of theme upload
* fix: always change state so that ui updates
* chore: style of loading widget
* fix: analyzer errors
* feat: add learn more button to documentation
---------
Co-authored-by: Yijing Huang <hyj891204@gmail.com>
Co-authored-by: nathan <nathan@appflowy.io>
* fix:windows integration test
* fix: load asset
* fix: windows test
* fix: test
* test: refactor the folder test
---------
Co-authored-by: vedon <vedon.fu@gmail.com>
Co-authored-by: Lucas.Xu <lucas.xu@appflowy.io>
* feat: support importing database raw data
* feat: verify import database test
* test: fix test
* ci: update integration test ci config
* ci: codecov with os flag
* ci: update docker command
* ci: update docker command
* ci: update docker command
* ci: update docker command
* test: add filter test
* chore: create orphan view handler
* feat: save icon url and cover url in view
* feat: implement emoji picker UI
* chore: config ui
* chore: config ui again
* chore: replace RowPB with RowMetaPB to exposing more row information
* fix: compile error
* feat: show emoji in row
* chore: update
* test: insert emoji test
* test: add update emoji test
* test: add remove emoji test
* test: add create field tests
* test: add create row and delete row integration tests
* test: add create row from row menu
* test: document in row detail page
* test: delete, duplicate row in row detail page
* test: check the row count displayed in grid page
* test: rename existing field in grid page
* test: update field type of exisiting field in grid page
* test: delete field test
* test: add duplicate field test
* test: add hide field test
* test: add edit text cell test
* test: add insert text to text cell test
* test: add edit number cell test
* test: add edit multiple number cells
* test: add edit checkbox cell test
* feat: integrate editor into database row
* test: add edit create time and last edit time cell test
* test: add edit date cell by selecting a date test
* chore: remove unused code
* chore: update checklist bg color
* test: add update database layout test
---------
Co-authored-by: Lucas.Xu <lucas.xu@appflowy.io>
* feat: support align and upgrade appflowy_editor
* chore: try to fix linux analyze error
* fix: error after inserting callout block
* feat: add inline board / grid plugin
* feat: refactor insert_page
* fix: ref view in document
* chore: add asset name and description to option align type
* fix: linux flutter analyze
* chore: disable file export and log
* fix: the window always back to center after relaunching
* fix: potential data lost in nested list
* feat: re-design login page
* fix: can't remove background color
* chore: rename bundle id and change the macos app to non sandbox app
---------
Co-authored-by: nathan <nathan@appflowy.io>
* feat: public the json to document data pb api
* test: add test for convert_data_to_document_internal
* chore: apply review suggestion
* chore: update folder path
This commit addresses the feature request to save the window size settings.
The application will now remember the user's preferred window size, allowing
for a more personalized and seamless user experience.
Fixes: #2544
Co-authored-by: Akarsh Jain <akarsh.jain.790@gmail.com>
* feat: integrate supabase auth service
* chore: ignore the sercet
* feat: separate and inject the auth service
* chore: integrate auth service into sign in/up page
* feat: integrate github and google sign in
* chore: update user trait
* feat: box any params in UserCloudService trait
* feat: add flowy-server crate
* refactor: user trait
* docs: doc ThirdPartyAuthPB
* feat: server provider
* feat: pass the uuid to rust side
* feat: pass supabase config to rust side
* feat: integrate env file
* feat: implement login as guest
* feat: impl postgrest
* test: use env
* chore: upper case key
* feat: optimize the file storage
* fix: don't call set auth when user login in local
* docs: add docs
* feat: create/update/get user using postgrest
* feat: optimize the login as guest
* feat: create user workspace
* feat: create user default workspace
* feat: redesign the setting path location page
* feat: use uuid as view id
* feat: send auth info to rust backend
* fix: sign up
* fix: skip to wrong page after login
* fix: integrate test error
* fix: indent command error
* feat: add discord login in type
* fix: flutter analyze
* ci: fix rust tests
* ci: fix tauri build
* ci: fix tauri build
---------
Co-authored-by: nathan <nathan@appflowy.io>
* 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>
* feat: insert below and replace in smart-edit highlights text
* test: added integration tests to validate insert below and replace in smart-edit highlights text
* refactor: using get_it to inject OpenAiRepository to inject mock repo in test
* fix: delete node does not propagate non null selection
* refactor: suggested changes and fixed bugs causing warning in github-ci
* fix: integration tests causing error in github-ci
* refactor: reverting redundant changes due to recent changes in repo
* refactor: reverting redundant changes due to recent changes in repo
* refactor: refactoring to workspace based integration testing.
* refactor: reverting redundant changes due to recent changes in repo
* chore: fix analysis issues
* chore: fix analysis issues
* chore: remove the unnecessary conversion
---------
Co-authored-by: Lucas.Xu <lucas.xu@appflowy.io>
* fix: #1976 Adding a cover image via upload doesn't work
* fix: #1973 Using the mouse to highlight text very easy to miss the first letter
* fix: #1962 Disable but still show the AI assistants icon in the toolbar menu when an OpenAI key is not provided
* fix: #1964 Text on the UI
* fix: #1966 the loading icon too close to the edge
* fix: #1967 the summarize feature generates duplicate answers
* fix: flutter analyze
* 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