* feat: workspace api
* feat: added cloud apis for add and delete workspace
* feat: add and delete workspace event handlers
* chore: rust fmt
* chore: save user workspace
* test: add test
* test: add test
* chore: add to gitignore
* feat: update api add name to workspace
* chore: cargo clippy and rename to create
* chore: add envrc and direnv to gitignore
* chore: change name to create workspace instead of add workspace
* chore: update client api rev
* feat: add create workspace impl
* chore: restore gitignore to original
* test: fix create workspace event test
* fix: change delete workspace input
* fix: compile
* fix: create workspace test
* feat: add error code for request payload too large
* chore: remove cargo backup files
* feat: add is async option for upload file handler
* chore: update client api version
---------
Co-authored-by: nathan <nathan@appflowy.io>
* refactor: port away from extra SortType struct
* refactor: add validator to flowy_database and clean up unused structs
* refactor: port away from extra FilterType struct
* chore: analysis options
* fix: clippy and dart/ts compile
* fix: tauri build
---------
Co-authored-by: nathan <nathan@appflowy.io>
* fix: reset server url when using appflowy cloud the first time
* refactor: set authenticator in frontend
* chore: log version
* chore: show hint when changing the server type
* chore: bump version
* chore: fix test
* chore: bump collab
* feat: support reminder on date
* feat: support reminder on date in database
* fix: include time static
* fix: do not force unwrap
* chore: clean flutter code
* test: add test for reminder in database
* fix: interpret reminder option
* feat: date and reminder on mobile
* feat: improve notification actions and support open row
* feat: support dates in document
* fix: minor changes + review
* feat: support reminder on mobile in document
* feat: support open row on database reminder mobile
* test: add more tests
* fix: first part of review
* fix: open row responsibility
* fix: abstract application logic from presentation layer
* fix: update reminder on date cell update
* test: fix failing test
* fix: show correct selected day after end date toggled
* chore: update local port for development
* chore: support localhost development
* chore: fix rust test
* chore: update setting
* fix: ci
* fix: ci
* fix: ci
* fix: ci
* chore: fix docker build
* chore: fix ci
* refactor: user manager
* feat: implement workspace service
* refactor: migrate user data when sign up
* chore: fmt
* chore: enable beta cloud
* chore: update ci
* chore: trim slash
* fix: import document from database row
* chore: update test
* chore: fix test
* chore: fix test
* chore: fix test
* chore: fix local user on appflowy cloud error
* chore: clippy
* chore: bump pubspec version
* refactor: traits
* feat: import data
* chore: track database view
* fix: import
* refactor: collab doc state
* refactor: get collab doc state
* feat: batch create collab object
* fix: test
* ci: run docker compose if the server is not up
* chore: bump collab
* chore: update ci
* chore: update ci
* chore: update ci
* chore: implement ui
* chore: implement ui
* chore: implement ui
* fix: text for changing field type
* fix: field name text field autofocus
* fix: don't allow insert left on primary field
* fix: edit field from view setting
* fix: edit non-current database view
* fix: row detail toggle hidden fields button
* fix: database view name autofocus
* fix: mobile date picker
* fix: deleting select option not deleting column
* fix: duplicate and delete view
* fix: mobile tab bar header left padding
* fix: pasted html
* fix: document title operation
* fix: code review
* fix: jest test
* fix: copy & pasted
* fix: remove default style when pasted html
* fix: link selection
* fix: rust test
* test: add document sync test on appflowy cloud
* chore: add runner
* test: Stream has already been listened to.
* fix: using singleton subscription
* fix: using singleton subscription
* fix: persist group order on reopenning AppFlowy
Currently if you change groups order, on restarting AppFlowy they
will go back to what they were before.
This was because merge_groups function was not respecting the group
orders which were saved before as group settings.
* refactor: enhance the merge_group function
* refactor: use extend instead of for loop
* refactor: include field type option in FieldPB
* refactor: adapt changes on flutter
* refactor: adapt changes on new tauri grid
* refactor: adapt changes on old tauri grid/board
* chore: merge
* feat: support the single select field actions in grid of tauri
* feat: support multiselect
* feat: support number field and number filter
* feat: support url field
* fix: eslint error
* feat: support checkbox filter
* feat: support checklist field
* fix: adjusting keydown event
* fix: edit record ui
* feat: support date field
* fix: url field bugs
* fix: the bug of the type option wasn't update
* chore: make plural tokens compatible with tauri
* fix: plural key
* fix: optimize get cell performance
* fix: update ts error
* fix: update select option bugs
* fix: grid calculate css
* fix: add DidUpdateFieldSettings
---------
Co-authored-by: Richard Shiue <71320345+richardshiue@users.noreply.github.com>
* chore: add a tooltip for fields in row detail page
* fix: grouping by field makes cell contents disappear
* chore: code cleanup
* chore: env var values in launch.json should be string
* fix: group orders not being saved
* test: fix test
* chore: more code cleanup
* fix: field settings not found
* chore: ellide cell text
* fix: alignment issues in row detail page
* fix: disable editor in card detail page
* fix: mobile toolbar disappears after editing link
* fix: favorite icon shows incorrectly
* fix: inkWell when pressing on the Trash is different from the rest of our list tiles in the app
* fix: recent view didn't update after deleting view
* fix: trash button too small
* feat: use new bottom sheet style in cover plugin
* feat: use new bottom sheet style in add new page
* feat: use new bottom sheet style in view page option
* feat: use new bottom sheet style in image block
* feat: use new bottom sheet style in settings block and edit link menu
* fix: data picker doesn't show
* fix: flutter analyze
* fix: update auto-update fields on change group
auto-update fields should get updated when on moving row from one
group to another. They where getting updated only on changing row
properties directly.
Also added integration test for changing row groupd related to #3010.
* style: rust format
* fix: add board group test to runner
* fix: update auto updated fiels only when group has changed
* fix: apply group changeset before move_row
* fix: get from_row before move_row
* fix: groups method changed to get_all_groups
* fix: pass from group id in move group payload
We can't know the from group id from the row itself. Because a row
can exist in multiple groups (group by multiselect).
* fix: MoveGroupRowPayloadPB from_group_id index
* feat: allow inserting fields before or after a certain field
* fix: tauri build
* chore: implement frontend
* test: rust-lib tests
* test: integration test
* chore: point to temp collab rev
* chore: bump collab rev
* chore: fix tauri build
* chore: fix the tauri build, for real this time
* fix: new field editor show detail not general
---------
Co-authored-by: nathan <nathan@appflowy.io>
* 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
* feat: delete kanban groups
* chore: forgot to save
* chore: fix build and small ui adjustments
* chore: add a confirm dialog when deleting a column
* fix: flutter lint
* test: add integration test
* chore: fix some design review issues
* chore: apply suggestions from Nathan
* fix: write lock on group controller
---------
Co-authored-by: Mathias Mogensen <mathias@appflowy.io>
* 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