* chore:test
* chore: update ui
* feat: set appflowy cloud url
* chore: add self host docs
* fix: save user
* fix: sign out when authenticator not match
* fix: sign out when authenticator not match
* fix: db lock
* chore: remove unuse env file
* test: disable supabase cloud test
* test: disable supabase cloud test
* chore: fix save
* feat: hide/unhide ui
* chore: implement collapsible side bar and adjust group header (#2)
* refactor: hidden columns into own file
* chore: adjust new group button position
* fix: flowy icon buton secondary color bleed
* chore: some UI adjustments
* fix: some regressions
* chore: proper group is_visible fetching
* chore: use a bloc to manage hidden groups
* fix: hiding groups not working
* chore: implement hidden group popups
* chore: proper ungrouped item column management
* chore: remove ungrouped items button
* chore: flowy hover build
* fix: clean up code
* test: integration tests
* fix: not null promise on null value
* fix: hide and unhide multiple groups
* chore: i18n and code review
* chore: missed review
* fix: rust-lib-test
* fix: dont completely remove flowyiconhovercolor
* chore: apply suggest
* fix: number of rows inside hidden groups not updating properly
* fix: hidden groups disappearing after collapse
* fix: hidden group title alignment
* fix: insert newly unhidden groups into the correct position
* chore: adjust padding all around
* feat: reorder hidden groups
* chore: adjust padding
* chore: collapse hidden groups section persist
* chore: no status group at beginning
* fix: hiding groups when grouping with other types
* chore: disable rename groups that arent supported
* chore: update appflowy board ref
* chore: better naming
* test: fix tests
---------
Co-authored-by: Mathias Mogensen <mathias@appflowy.io>
* fix: add a left padding to align the document and grid field
* fix: emoji picker in the slash menu is too small
* fix: replace the delete icon color with black
* fix: improve snackbar background color
* fix: cannot add new line after toggle list
* feat: set ⭐ as the default icon of getting started
* fix: the titlebar overflows when the title level is too deep
* fix: integration test
* fix: openAI hint text overflow
* fix: integration tests
* 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: implement backend logic
* fix: did_create_row not working properly
* fix: did_delete_group not working properly
* fix: test
* chore: fix clippy
* fix: new card not editable and in wrong position
* feat: imlement UI for add new stack
* test: add integration test
* chore: i18n
* chore: remove debug message
* chore: merge conflict
---------
Co-authored-by: nathan <nathan@appflowy.io>
* refactor: rename group
* test: add rename group test
* chore: add group operation interceptor
* refactor: impl interceptor trait
* chore: update type option when group change
---------
Co-authored-by: Richard Shiue <71320345+richardshiue@users.noreply.github.com>
* feat: add end date to time cell data
* feat: implement ui for end time
* test: add date to text test
* chore: clippy warnings
* fix: unexpected time parsing
* fix: fix the date logic when toggling end date
---------
Co-authored-by: nathan <nathan@appflowy.io>
* feat: text and layout direction settings
Added ltr|rtl|auto direction button to appflowy toolbar.
Introduced layout and default direction settings.
* chore: formate code
* feat: added hint for direction settings
* fix: flutter analyze
---------
Co-authored-by: Lucas.Xu <lucas.xu@appflowy.io>
* fix: stringify date cell includes time if true
* refactor: LastModified and CreatedAt type option
* chore: frontend implementation
* chore: some adjustments and fix tests
* fix: integration tests
* chore: timestamp type option ui
* chore: default field settings if not exist
* chore: field settings listeners and services
* chore: don't need to updateFieldInfos
* feat: per-view field visibilty UI
* fix: remove unresolved imports
* 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
* feat: group by date
* test: added more tests for group by date
* fix: print month in abbrev format
* chore: adapt group event changes
* style: remove comment
* fix: change date on changing group
* fix: dont count time in relative group
* fix: check beginning of month is within 30 days
* refactor: unify group id date format
---------
Co-authored-by: nathan <nathan@appflowy.io>
* 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: support updating the view name and icon through document
* fix: store expand pages
* fix: refactor text link
* fix: update cargo.toml
* fix: update test
* fix: update event map
* fix: move deal with icon codes to a single file
* fix: delete useless code from flutter
* fix: document banner
* fix: build error
* fix: update rust library
---------
Co-authored-by: Lucas.Xu <lucas.xu@appflowy.io>
* chore: Add _ClearDateFieldButton
* chore: Add new DateCellCalendarEvent to clear date
* chore: Add grid_field_clearDate translation token
* refactor: _ClearDateFieldButton -> _ClearDateButton
* fix: Fix dart(unused_element) in _ClearDateButton
* feat: Handle clearDate
* Revert "feat: Handle clearDate"
This reverts commit fd145ef8e9589f3b4aa1a16e5d72c15b6d0b53c4.
* feat: Handle clearDate
* feat: Add clear_flag field
* feat: check clear_flag to clear date
* chore: update exisitng tests
* fix: add mssing import
* refactor: remove check for timeFormatError
* fix: fix margin on _ClearDateButton
* refactor: _ClearDateButton -> ClearDateButton
* test: add clear date backend unit test
* test: add clear date integration test
* test: add clear date to edit time cell test
* chore: mark ClearDateButton visible for testing
* feat: close date editor popover on clear date
* style: make AppFlowyPopover taller
* fix: trim dateStr in _dateStrFromCellData
* fix: don't dismiss CellEditor after clearDate
* fix: date field created when reference a calendar
* fix: make everything one transaction
* chore: apply suggestions from Lucas
* chore: do the same for board
---------
Co-authored-by: Lucas.Xu <lucas.xu@appflowy.io>
* fix: support multiple document
* fix: change the doc_id params to ref
* fix: function to converge subscription state
* fix: mousedown behavior update
* fix: turn to textblock when the enter pressed in empty block
* fix: support cut
* fix: emoji caret
* fix: support slash arrow key
* fix: eslint padding-line-between-statements
* fix: add comment
* fix: block side menu bugs
* fix: support key event to select block menu option
* fix: support side menu arrow key
* fix: optimizate selectOptionByUpDown
* fix: format
* 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>
* fix: launch url in url cell
* fix: can't input url in Grid
* feat: support selecting or deselecting all items in export page
* fix: remove the circle shape
* fix: light mode toolbar color
* chore: update language and adjust the launch page
* 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>
* fix: create a new document
* fix: the banner don't show after deleteing the page
* fix: inserting a divider through the slash menu the cursor should stay active in the next line
* fix: the overlay doesn't dismiss after selecting a page
* fix: typo
* fix: delete the page in document if it has been deleted
* chore: l10n
* chore: rename events
* ci: rm install_diesel in ci
* fix: cover color not working
* ci: fix tauri build
---------
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
* chore: show default user name
* chore: update
* feat: change collab storage type after auth type changed
* chore: reload folder
* chore: initial the group controller if need
* chore: update patch
* chore: update patch ref
* chore: send DateCellDataPB instead of timestamp
* chore: separate event card into own widget
* chore: add hover effect to event card itself
* feat: draggable event cards
* feat: drag target WIP
* chore: revert "chore: send DateCellDataPB instead of timestamp"
This reverts commit 1faaf21c6a50ac67da70ddf3bcfa8278ca5963d4.
* chore: remove timezone from date cell data
* fix: #2498 open calendar event faster
* chore: remove unused timezone
* feat: implement logic for rescheduling events
* fix: reschedule doesn't show up on UI
* fix: reorganize gesture detection layering
* fix: layout fix
* test: fix date single sort test
* chore: remove unused chrono-tz
* chore: add hint to unscheduled event popover
* chore: apply suggestions to 3 files
* fix: #2569 fix overflow
* chore: add timezone data to DateTypeOption
* test: make date tests run on Etc/UTC timezone
* chore: fix clippy warnings
* fix: use the right get db function
* chore: code cleanup
* test: run tests in utc
* test: fix tests
---------
Co-authored-by: nathan <nathan@appflowy.io>
* fix: invalid index when insert row
* fix: auto fill 0 in front of number start with .
* fix: #2591
* chore: split the update at and create at test
* chore: fix tauri build
* feat: created at and updated at field type
* style: context for rust asserts, change checks in flutter
* fix: mistake in if condition
* style: add comma end of array
* feat: created at and updated at field type
* fix: typo in const variable
* style: cargo fmt
* refactor: opti cell insert
* chore: remove redundant clone
* refactor: date type option
* fix: tauri build
---------
Co-authored-by: nathan <nathan@appflowy.io>
* 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: show unscheduled events in calendar toolbar (#2411)
* refactor: use same show row detail function
* fix: adjust popover offset
* feat: show unscheduled events in toolbar
* chore: apply suggestions from Xazin
* refactor: refactor list item into separate widget
---------
Co-authored-by: Nathan.fooo <86001920+appflowy@users.noreply.github.com>
* fix: default include time (#2444)
* fix: default include time
* chore: clarify logic and add comments
* chore: bump version 0.1.4 (#2455)
* chore: Update README.md
Update product screenshots
* fix: wrong day of week (#2468)
* feat: select which properties to show in calendar (#2482)
* feat: improve sidebar item dragged appearance (#2471)
* fix: show delete icon for document icon properly (#2475)
* feat: add hover effect on an event card (#2487)
* chore: delete unncessary openCard method in RowCardContainer
* chore: delete unnessary code and add comment
* chore: update editor v0.1.12 and format the readme (#2489)
* fix: number sort (#2507)
* bump version 0.1.5 (#2506)
* chore: bump version 0.1.5
* fix: could not trigger slash menu after inserting an emoji
* Revert "feat: add hover effect on an event card (#2487)"
This reverts commit f0a4b4b77d.
* feat: add hover effect on an event card
* fix: #2469 duplicated cover
* chore: update changelog.md (#2510)
* chore: Update README.md
Add a screenshot of the calendar view
* fix: some regressions
---------
Co-authored-by: Nathan.fooo <86001920+appflowy@users.noreply.github.com>
Co-authored-by: Lucas.Xu <lucas.xu@appflowy.io>
Co-authored-by: Annie <anqi.annie.wang@gmail.com>
Co-authored-by: Yijing Huang <hyj891204@gmail.com>
* chore: remove unused fields
* chore: rewrite date logic
* chore: apply suggestions from Alex
* chore: add space in date format
* chore: re-add error handling in apply-changeset
* chore: grid row page detail update
* chore: update row_detail.dart
Co-authored-by: Alex Wallen <wallenstephen@outlook.com>
* chore: more adaptive and code cleanup
* feat: duplicate row
* feat: duplicate calendar event
* fix: ci
* feat: show other options
* fix: show include time
* fix: add key in RowCard to avoid incorrect data when open the row page
---------
Co-authored-by: Alex Wallen <wallenstephen@outlook.com>
Co-authored-by: nathan <nathan@appflowy.io>
* chore: group cards count
* chore: delete board card
* chore: date time format read and update
* fix: move field
* fix: dnd fields
* chore: number format popup
* chore: refactor date options
* chore: replace button in DateFormatPopup with PopupItem
---------
Co-authored-by: qinluhe <qinluhe.twodog@gmail.com>
* fix: add method
* fix: update text block and doc title
* fix: support ui update when receive doc changes
* fix: modify the subscribe change
* chore: add test for document manager
* chore: add test for document manager
* chore: add insert and update test for document manager
* fix: load document data
* fix: add update page block test
* fix: try fix again
* fix: node can not rerender when the node data change
* fix: it should cover all content when the text delta updated
* fix: add insert and delete operation in left menu
* fix: put the UI Actions in async thunks
* fix: remove log
* fix: split text block
* fix: review code
---------
Co-authored-by: Lucas.Xu <lucas.xu@appflowy.io>
Co-authored-by: nathan <nathan@appflowy.io>
* 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>
* 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>
* 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
* 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>
* 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: 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>
* 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: 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>
* 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
* 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>
* 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>
* fix: Networktype null safety issues
Networktype returns nulls when the connectivity result is vpn resulting to null safety issues.
Implemented a case for when the connectivity result is vpn to resolve this issue.
* chore: update connectivity_plus_platform_interface ^1.2.2
* chore: update network state on Rust side
Co-authored-by: Lucas.Xu <lucas.xu@appflowy.io>