* 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: 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>
* chore: remove the add filter button if there is no filters can not be added
* fix: update field info after filter was changed
* chore: update filter choicechip ui
* chore: insert and delete one by one to keep the delete/insert index is right
* chore: show filter after creating the default filter
* chore: update textfield_tags version to calm the warnings
* chore: try to fix potential fails on backend test
Co-authored-by: nathan <nathan@appflowy.io>
* refactor: port theme provider to bloc
* refactor: port from custom theme type enum to material design's brightness
* chore: add custom color extension to ThemeData
* refactor: use Theme.of(context) when trying to get theme colors
* refactor: toggle widget code refactor
* refactor: flowy hover style refactor
* refactor: flowy icon refactor
* fix: regression on sidebar tooltip text from #1210
* chore: read color from theme.of
* chore: quick access to custom color
* fix: dart test
* fix: scrollbar regression
* chore: fix flutter lint
* chore: fix grid bloc test
Co-authored-by: appflowy <annie@appflowy.io>
* chore: separate select and unselect events
* style: improve readability
* chore: don't send empty payloads if we can help it
* test: add select option text field test
* test: complete bloc test for select option
* test: delete all options between each test
* fix: keep insert order
* test: combine select and unselect tests
* chore: remove duplicate wait
Co-authored-by: appflowy <annie@appflowy.io>