* chore: Update the hover effect in FieldCellButton and CreateFieldButton
* chore(grid): improve grid page UI
1. Update lightGreyHover in AFThemeExtension
2. Comment out dandelion and lavender temporary
3. Add text color in AFThemeExtension
4. Update NavigatorAlertDialog title color
* chore: update the background color of auth page
* chore: update UI in Select option cell
* chore: update date cell UI
* chore: update checklist UI
* chore: comment out temporary
* chore: update multi select and URL UI
* chore: update scroll bar color
* chore: update sort and filter UI
* chore: rename default theme and put dandelion&lavender theme back
* chore: update new app svg file
* feat: add archive for compression
* feat: add service to manage zipped work spaces
* feat: export service in barrel file
* feat: ignore .ephemeral directory
* feat: add first compressed workspace file
* fix: directory path was wrong
* feat: add a somewhat useful test
* fix: move to same file (delete later)
* fix: use script path vs. working directory for CI
* fix: read from asset bundle instead of file system
* fix: workaround to run integration in multiple files on desktop (flutter/flutter#101031
* feat: remove .ephemeral from .gitignore, no longer created
* feat: document test changes
* fix: lucas suggestion
* feat: mark assets as excluded in pubspec.yaml
* feat: add class for build utilities
* feat: add script runner for release builds
* feat: add build script as task in flowy project
* fix: typo in pubspec.yaml
* chore: use constants for exclude tag
* feat: add appversion as argument to build tool
* feat: use dart script in release.yml
* chore: remove task
* fix: careless error
Co-authored-by: Mihir <84044317+squidrye@users.noreply.github.com>
* feat: add translations for view of
* fix: typo in getAllDatabase
* feat: add view of database
* fix: remove unused import
* fix: use effective dart typing
* fix: insertPage marked as async, should return future
* fix: Remove multi-line string
* fix: ref can be null
* fix: unused imports caused analyzer to fail
* feat: also fix. Add empty document as option and change name to _name
* chore: move referenced database tests to empty document test file
* feat: add test utilities
* feat: add new integration test on an empty document
* feat: register test in runner
* fix: missing reference in insert_page_command
* fix: analyzer errors
---------
Co-authored-by: Mihir <84044317+squidrye@users.noreply.github.com>
* chore: upgrade appflowy_editor_plugins and flowy_infra
* feat(appflowy_flutter): upgrade dependence and delete unused import files
* fix(appflowy_flutter): fix SvgPicture upgrade issue
update color to colorFilter: apply mask color when the color is not null
* feat(appflowy_editor): updateflutter_svg version
* chore: flutter analyze
* chore: update to 3.7.5 in github action
* chore: update to 3.7.5 in github action(integration test)
* chore: update appflowy_editor to 0.1.2
* chore: delete appflowy_editor_test.yml under appflowy
* chore: update the flutter version in github action
* docs: update flutter badge image
* chore: update flutter version in scripts
* chore: update appflowy editor to the latest release
* chore: fix flutter analyze
* chore: update integration_test.yml
---------
Co-authored-by: Lucas.Xu <lucas.xu@appflowy.io>
Co-authored-by: Nathan.fooo <86001920+appflowy@users.noreply.github.com>
* fix: added support for navigating reference board/grid menu using keyboard keys
* refactor: made some minor changes according to reviews
* refactor: replaced loading logic with future builder
* feat: add image delete in document cover
* fix: amend according to review comments
* fix: add initCompleter.future before using prefs
* fix: show delete button on hover in CoverImageGrid
* feat: hover color on clear all and delete button
* Merge branch 'main' into feat/delete-cover-image
* fix: font color in clear all button in changecover
* chore: add Clear All button fill color
---------
Co-authored-by: Yijing Huang <hyj891204@gmail.com>
* chore: add edit / create field test
* chore: add delete field test
* chore: change log class arguments
* chore: delete/create row
* chore: set tracing log to debug level
* fix: filter notification with id
* chore: add get single select type option data
* fix: high cpu usage
* chore: format code
* chore: update tokio version
* chore: config tokio runtime subscriber
* chore: add profiling feature
* chore: setup auto login
* chore: fix tauri build
* chore: (unstable) using controllers
* fix: initially authenticated and serializable fix
* fix: ci warning
* ci: compile error
* fix: new folder trash overflow
* fix: min width for nav panel
* fix: nav panel and main panel animation on hide menu
* fix: highlight active page
* fix: post merge fixes
* fix: post merge fix
* fix: remove warnings
* fix: change IDatabaseField fix eslint errors
* chore: create cell component for each field type
* chore: move cell hook into custom cell component
* chore: refactor row hook
* chore: add tauri clean
* chore: add tauri clean
* chore: save offset top of nav items
* chore: move constants
* fix: nav item popup overflow
* fix: page rename position
* chore: remove offset top
* chore: remove floating menu functions
* chore: scroll down to new page
* chore: smooth scroll and scroll to new folder
* fix: breadcrumbs
* chore: back and forward buttons nav scroll fix
* chore: get board groups and rows
* chore: set log level & remove empty line
* fix: create kanban board row
* fix: appflowy session name
* chore: import beautiful dnd
* bug: kanban new row
* chore: update refs
* fix: dispose group controller
* fix: dispose cell controller
* chore: move rows in group
* chore: move row into other block
* fix: groups observer dispose
* chore: dnd reordering
* chore: fix import references
* chore: initial edit board modal
* fix: kanban board rendering
* chore: add column and edit text cell
* chore: column rename
* chore: edit row components reorganize
* chore: don't show group by field
* wip: edit cell type
* chore: fade in, out
* chore: change field type
* chore: update editing cell
* chore: fade in change
* chore: cell options layout
* fix: padding fixes for cell wrapper
* fix: cell options positions
* chore: cell options write to backend
* fix: select options for new row
* chore: edit url cell
* chore: language button
* fix: close popup on lang select
* fix: save url cell
* chore: date picker
* chore: small code cleanups
* chore: options in board
* chore: move fields dnd
---------
Co-authored-by: nathan <nathan@appflowy.io>
Co-authored-by: Nathan.fooo <86001920+appflowy@users.noreply.github.com>
Co-authored-by: appflowy <annie@appflowy.io>
* Fixed Italics via Single Asterisk
* Changed shift+asterisk to *
* Mardown Syntax Function vaiable name changes + cleanup
* feat: single asterisk to italic markdown command
---------
Co-authored-by: Lucas.Xu <lucas.xu@appflowy.io>
* chore: update color scheme for dark mode
* chore: update dark color scheme
1. update the background color for side bar, surface and divider in dark mode
2. comment out dandelion and lavender theme temporarily
* chore: update top bar BGcolor and icon color
* chore: update text color
* chore: update share button color on the top bar
* chore: add tooltip theme data in global
* chore: add hint and tertiary color and update font size pop up menu style
* chore: update all the semibold texts color
* chore: update all the hover color
* chore: update setting BG color
* chore: add FlowySvg to get the icon color through current theme
1. Add FlowySvg widget
2. Update all the icons those have hover effect to FlowySvg
3. Recover shader1 for the text color when it is in hovered
* chore: update side bar UI
1. Update AddButton hover style
2. Update MenuAppHeader icon color and its hover style
3. Update NewAppButton(New page) font color
4. Update MenuUser username font color
* chore: update SettingsDialog style in dart mode
1. Update title and text color
2. Update the hover color on FlowyTextButton
3. Update the LanguageSelectorDropdown background color and hover enter color
* chore: update NewAppButton icon in dark mode
* chore: update default icon color
* chore: rename the hover color and update ViewSectionItem hover color from default theme color
* chore: add question bubble background color
* chore: update cover image button color
* chore: remove fixed icon color on _AddCoverButton
* chore: put Dandelion and Lavender color scheme back with basic modification
* fix: delete unused import files and deprecated field
* chore: add comma and put color back
* chore: update AppFlowyPopover background color
* chore: remove the hover color on primary and secondary button
* chore: update shadow color in dark mode
* chore: update SettingsMenuElement hover effect
* chore: update the text color in DropdownMenuItem
* fix: Optimize the re-render node when the selection changes
* feat: the feature of delete block
* feat: add left tool when hover on block
* refactor: document data and update
* refactor: document component
* refactor: document controller
* test: added test to verify correct ordering after replacement of multiline text-nodes
* fix: open-ai replace does not work on certain use-cases
* refactor: using predefined operation insert node to create new nodes.
* Revert "refactor: using predefined operation insert node to create new nodes."
This reverts commit bcc014e84d.
* refactor: using predefined operation insert node to create new nodes.
* fix: open-ai replace does not work in certain use-cases
* fix: fixed logic and tests for replacement of larger textNodes with smaller text.
---------
Co-authored-by: Lucas.Xu <lucas.xu@appflowy.io>
* ci: print log
* ci: sudo install
* ci: enable ubuntu
* ci: try to fix
* ci: force run tauri ci
* ci: update node version
* ci: specific build protoc-gen-ts ts version
* feat: create a new board.
* feat: switch slash menu keywords
* fix: remove unused imports
* chore: export SelectionMenuItem from appflowy_editor for integration test
* feat: add integration test for slash commands
* fix: test in new file was unable to start
* feat: add translations
* chore: enable calendar
* feat: set font of the day event widget
* feat: support add/remove event
* chore: initial settings popover
* chore: calendar bloc can update layout settings
* fix: events overflow in day cell
* feat: calendar layout settings UI
* feat: layout calendar by another date field
* chore: i18n
* chore: hide the show weekend option
* chore: add popover mutex
* fix: clear existing events before adding new ones
---------
Co-authored-by: nathan <nathan@appflowy.io>
- drop down button gives the default icon
- set auto focus true in dropdown button
- add padding to dropdown button
- change edgeIsets.only(left,right) to edgeInsets.symmetric(horizontal)
* fix(appflowy_flutter): Version Reset Error
- `flutter channel stable` was causing the FlutterSDK to upgrade to it's
latest version.
- Added code to fix this behaviour.
- Tested on Windows and Linux.
* fix(app_flowy): Error in MacOS script
- Replace `-P` with `-E` which should now work as expected in Mac devices.
* fix(app_flowy): Commit Structure
- Fixed Commit Structure
* fix: path reset
Now we move back to cwd after making changes
* chore: change to LF from CTLF
---------
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
* chore: add edit / create field test
* chore: add delete field test
* chore: change log class arguments
* chore: delete/create row
* chore: set tracing log to debug level
* fix: filter notification with id
* chore: add get single select type option data
* fix: high cpu usage
* chore: format code
* chore: update tokio version
* chore: config tokio runtime subscriber
* chore: add profiling feature
* chore: setup auto login
* chore: fix tauri build
* chore: (unstable) using controllers
* fix: initially authenticated and serializable fix
* fix: ci warning
* ci: compile error
* fix: new folder trash overflow
* fix: min width for nav panel
* fix: nav panel and main panel animation on hide menu
* fix: highlight active page
* fix: post merge fixes
* fix: post merge fix
* fix: remove warnings
* fix: change IDatabaseField fix eslint errors
* chore: create cell component for each field type
* chore: move cell hook into custom cell component
* chore: refactor row hook
* chore: add tauri clean
* chore: add tauri clean
* chore: save offset top of nav items
* chore: move constants
* fix: nav item popup overflow
* fix: page rename position
* chore: remove offset top
* chore: remove floating menu functions
* chore: scroll down to new page
* chore: smooth scroll and scroll to new folder
* fix: breadcrumbs
* chore: back and forward buttons nav scroll fix
* chore: get board groups and rows
* chore: set log level & remove empty line
* fix: create kanban board row
* fix: appflowy session name
---------
Co-authored-by: ascarbek <ascarbek@gmail.com>
* feat: Initialize appflowy block data and render block list
* feat: Implement column layout rendering
* feat: Implement list redering
* feat: Cache block rect info
* fix: The input chars will repeated when inputting Chinese
* fix: Remove unnecessary fields in the block and encapsulate the block manager
* fix: fix ts error
* style: autoformat
* chore: add include_time to cell data
* chore: remove include_time from date field type options
* chore: fix tests
* chore: custom deserializer for date cell data
* chore: add more tests
* chore: simplify date calculation logic
* chore: move include time to per-cell setting in UI
* test: add another text str test
* chore: adapt changes from upstream
* revert:"fix: remove keyword when click selection menu item"
This reverts commit 5782dec45c.
* revert(appflowy_editor):revert "feat: double asterisks/underscores to bold text"
This reverts commit c0964fad5d.
* revert(appflowy_editor):revert "fix: workaround infinity formatting"
This reverts commit 6a902a2b21.
The Appflowy folder under the frontend had been removed before reverting.
* chore(appflow_editor):update test variable after reverting
* chore(appflowy_editor): comment out the test for reverting
* chore(appflowy_editor): update variable type after reverting
* chore(appflowy_editor): remove unused import after reverting
* feat(appflowy_editor): double asterisk to bold text
* test(appflowy_editor): test double asterisk to bold text
* fix(appflowy_editor): delete slash after a selection menu item is selected
* test(appflowy_editor): test selection menu widget after clicking
* feat(appflowy_editor): double asterisk to bold text and remove slash after clicking selection menu item (#1935)
* feat(appflowy_editor): double asterisk to bold text
* test(appflowy_editor): test double asterisk to bold text
* fix(appflowy_editor): delete slash after a selection menu item is selected
* test(appflowy_editor): test selection menu widget after clicking
* feat(appflowy_editor): double underscore to bold text
* test(appflowy_editor): test double underscore to bold text
* chore(appflowy_editor): put checkbox testing back
* chore: format code
---------
Co-authored-by: Yijing Huang <hyj891204@gmail.com>
* feat: using controllers in react hooks WIP (#1915)
* chore: add edit / create field test
* chore: add delete field test
* chore: change log class arguments
* chore: delete/create row
* chore: set tracing log to debug level
* fix: filter notification with id
* chore: add get single select type option data
* fix: high cpu usage
* chore: format code
* chore: update tokio version
* chore: config tokio runtime subscriber
* chore: add profiling feature
* chore: setup auto login
* chore: fix tauri build
* chore: (unstable) using controllers
* fix: initially authenticated and serializable fix
* fix: ci warning
* ci: compile error
* fix: new folder trash overflow
* fix: min width for nav panel
* fix: nav panel and main panel animation on hide menu
* fix: highlight active page
* fix: post merge fixes
* fix: post merge fix
* fix: remove warnings
* fix: change IDatabaseField fix eslint errors
* chore: create cell component for each field type
* chore: move cell hook into custom cell component
* chore: refactor row hook
* chore: add tauri clean
---------
Co-authored-by: nathan <nathan@appflowy.io>
Co-authored-by: Nathan.fooo <86001920+appflowy@users.noreply.github.com>
* ci: fix wanrings
---------
Co-authored-by: Askarbek Zadauly <ascarbek@gmail.com>
- Fix typos;
- Fix inconsistencies;
- Removed duplicated block strings.
Note: There are some word by word texts that I still need to figure out how to adapt properly; though, do believe most of strings are good to go!
Please review!
* docs(appflowy_flutter): Update Documentation
- Added basic information so that new contributors can easily get started with contributions.
* docs(appflowy_flutter): Fix doc issues
- Fixed the wrong Flutter version chip
- Added contributions types
* 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.
* fix: use window_manager to set minimum window size
Resolves#762Resolves#1559
* refactor: only init WidgetsFlutterBinding once
* fix: set window minimum size
Was meant to be setMinimumSize not setSize
* fix: windows manager crash on macOS
---------
Co-authored-by: Lucas.Xu <lucas.xu@appflowy.io>
* fix: #1290 [Bug] 300ms delay on buttons in titlebar
* fix: #1802 Math Equation would be null
* fix: retain as a attribute value
---------
Co-authored-by: nathan <nathan@appflowy.io>
* ci: config rust log
* chore: rename flowy-sdk to appflowy-core
* fix: create group after editing the url
* fix: start listen on new group
* chore: add tests
* refactor: mock data
* ci: update command
* feat: on enter exit editing property field #1295
* chore: use FlowyTextField instead of RoundedInputField
* fix: make all text field border radius 10, added errorBorder
* fix: put cursor position at end of text field
See the related discussion here:
https://github.com/AppFlowy-IO/AppFlowy/pull/1747#issuecomment-1407697216
* chore: make errorText optional on FlowyTextField
* fix: cursor doesn't blink when opening selection menu
* feat: add board plugin
* feat: integrate board plugin into document
* feat: add i10n and fix known bugs
* feat: support jump to board page on document
* feat: disable editor scroll only when the board plugin is selected
* chore: dart fix
* chore: remove unused files
* fix: dart lint
* feat: integrate grid plugin into document
* feat: add more menu to grid plugins
* feat: refactor built-in page plugins, including board and grid
* feat: remove padding set up when plugin type equals to editor
* feat: add callout plugin
* refactor: add SelectionMenuItem.node factory
makes calloutMenuItem more readable
* feat: add color picker
* feat: add popover to callout
* feat: add emoji to callout
* fix: store tint name
* fix: remove leading underscores
* fix: revert export of editor_entry
* refactor: move color tint names to appflowy_editor
* fix: #1732 only re-insert text node if it's parent is text node too while deleting
* docs: doc comment for SelectionMenuItem.node
* fix: disable callout plugin
should be re-enabled after #1753 is done
* fix: typo
---------
Co-authored-by: Lucas.Xu <lucas.xu@appflowy.io>
* feat: WIP on url controller
* fix: logging correct field
* chore: generate groups
* chore: revert change on URLTypeOptionPB
* chore: add tests + fix move row in group by url
* chore: rename test function
Co-authored-by: nathan <nathan@appflowy.io>
* feat: create new file for Basque
* feat: update lang file values
* fix: change of some translate values
* fix: misspelling
* feat: Added Euskera as an option
* automated changes to pubspec.lock
* fix: Grid URL property's edit button hovering effect
fixed the problem with a grid with a url property when hovering on any other field in the same row
Initially hovering on other fields triggers the edit button to show up in the URL cell
* update: removed flowy_sdk folder
flowy_sdk folder was renamed to appflowy_backend in one of the earlier commits
* Deleted pubspect.lock
Removed system generated pubspec.lock file
* minor update: changes to pubspec.lock
* update: reverting GeneratedPluginRegistrant.swift to previous form
* update: reverting pubspec upstream url to original url
* update
* update
* chore: read cells for field
* feat: enable read cells for specific field
* ci: fix tests
Co-authored-by: vedon <vedon.fu@gmail.com>
Co-authored-by: nathan <nathan@appflowy.io>
* 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: handling same as Notion when user fills in the mixing of number and text
* feat: remove debug log
* feat: using lazy_static to initialized lazily the regex
* chore: remove unused isSelected flag
* chore: close popover when an option is deleted
* chore: allow unselecting an option by clicking on a close button
* feat: switching from text type to checkbox type
* feat: change to use Err(_)
* test: switch from text to checkbox (still need to cover more cases)
Co-authored-by: nathan <nathan@appflowy.io>
* feat: upgrade flutter version to 3.3.0 for appflowy_editor and appflowy_editor_plugin
* feat: upgrade flutter version to 3.3.0 for appflowy
* feat: upgrade flutter version to 3.3.0 for CI
* chore: update flutter version in ci workflows
* chore: fix warnings
* chore: fix unuse import
* chore: support cargo make dart_unit_test on windows platform
* fix: copy to sandbox errors
Co-authored-by: nathan <nathan@appflowy.io>
* fix: padding in grid cell editors
* fix: padding in grid header editor
* fix: padding for row details
* fix: shrink number formt list when possible
* chore: simply use column for select option editor
* fix: make sure that popovers are the edges
* fix: delete button padding
* fix: date and time formats padding mistake
* Added Emoji Support
* Added Color Picker for font color and background color
* chore: revert code
* feat: re-implement the color picker
* test: add test case for adding color
* test: update appflowy_editor test flag
Co-authored-by: Muhammad Rizwan <haris.arshad.2010@gmail.com>
Co-authored-by: Lucas.Xu <lucas.xu@appflowy.io>
* fix: no focus border on date cells
* fix: remove redundant import
* refactor: use existing functionality from GridCellWidget for focus border
* refactor: use requestBeginFocus override instead of GestureDetector
* 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>