* chore: remove async trait
* chore: require From<AnyMap> for trait TypeOption
* refactor: simplify group controller by removing GroupController trait
* chore: rename GroupControllerOperation trait to GroupController
* chore: add some docs
* chore: remove plural struct and use Vec directly
* chore: unnecessary mut
* chore: use same name to indicate passthrough
* chore: remove unused trait
* chore: rename group context to group controller context
* chore: remove group name
* chore: move type option interceptor to GroupCustomize and split off delegates for group context and group controller
* chore: adapt tests to changes
* chore: adapt flutter frontend to changes
* chore: code cleanup
* chore: fix clippy and adapt tauri frontend to changes
* chore: group controller code clean up
* chore: no need to pass cell data when moving row
* chore: rename some functions and variables
* chore: remove content filter
* feat: fill cells according to active filters
* chore: short circuit filter_row function
* chore: delete corresponding filters when filtered filter is deleted
* chore: validate filters when loading
* chore: remove unnecessary tuple in return
* chore: use trait
* chore: add tests
* chore: enable relation to
* chore: fix database name and improve UI
* chore: remove database view id from relation type option
* chore: add remove row id test
* chore: improve appearance of untitled rows
* chore: empty in row detail
* fix: cannot add events after closing
---------
Co-authored-by: Richard Shiue <71320345+richardshiue@users.noreply.github.com>
* feat: floating calculations row
* fix: calculate cell overflow + tooltip
* fix: empty text cell should be counted as empty
* fix: empty text cell sohuld not be counted as not empty
* fix: conversion of some field types for calculations
* fix: tooltip + size of duplicate event button
* fix: minor view meta info changes
* fix: apply number format on word/char count
* fix: dart format
* fix: hide arrow for calc values
---------
Co-authored-by: Richard Shiue <71320345+richardshiue@users.noreply.github.com>
* chore: bump client api
* chore: bump client api
* chore: update ci
* chore: update client api
* chore: ci config
* chore: bump client api
* chore: bump client api
* chore: bump client api
* feat: add member settings
* feat: fetch workspace members from server
* feat: add translations
* feat: implement invite feature
* feat: support inviting people via email
* feat: support updating member role
* feat: add feature flag to control the visibilty of members settings
* fix: top bar buttons slow respond
* fix: fav button responsive
* fix: add favorite button to database views
* fix: add overflow to calculation
* fix: minor workaround for showing number format prefix
* fix: clear calculation on empty field cells
* fix: average calculation should not have def value
* fix: cargo fmt
* 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