* 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
* 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>