* fix: minor ui issues
* feat: support using emoji as icon
* chore: update langauges
* fix: missing reminder bloc in detail page
* fix: integration test
* fix: cursor away doesn’t save the change. This behavior is inconsistent with the rest
* fix: emoji doesn’t show fully
* chore: set the default header text style to bold
* fix: add missing divider in time option
* fix: update placeholder cover color
* fix: background color of the change cover button
* fix: remove redundant padding
* fix: use done action instead of return
* fix: incorrect font size used in board and editor
* feat: update appflowy-editor
* fix: document freeze and the toolbar was invisible when hovering the align icon that in the toolbar
* fix: snackbar text is invisiable
* feat: padding of add icon button should be aligned the block
* chore: update icon
* fix: ci issues
* feat: add time picker
* 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>
* feat: calendar mobile ui
- Resolves double border on Calendar Cells
- Adds Jump to year quick action for Mobile
- Reduces Cell height in Calendar
- Change out EventList with EventIndicator in Cell
* chore: push card details screen
* fix: navigation to card details
* feat: day events screen update on new event
* fix: changes after merging main
* fix: missing argument
* fix: amend test and remove stack
* 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
* fix: missing delete cover button on mobile
* fix: ensure last node is an empty paragraph
* feat: adjust code block
* feat: adjust code block on mobile
* feat: adjust outline on mobile
* fix: appimage builder issues
* fix: view title issues
* fix: integration tests
* 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
* feat: add no pages inside tips
* feat: show view's ancestors (include itself) title on bar
* feat: show view's ancestors (include itself) title on bar
* test: add integration tests
* fix: integration tests
* feat: adjust toggle list block
* feat: show block actions when tapping divider
* feat: add toggle list and callout to toolbar
* feat: refactor the emoji picker button
* fix: toggle list integration tests
* 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>
* chore: don't use cache when building release package
* feat: refactor icon widget design
* feat: sync the emoji between page and view
* feat: use cache to store the emoji data to prevent reloading
* feat: customize the emoji item builder
* feat: add i18n and shuffle emoji button
* fix: integration test
* feat: replace emoji picker in Grid and slash menu
* feat: support adding icon on mobile platform
* feat: support adding and removing icon on mobile
* test: add integration tests
* fix: transparent icons on iOS platform
* fix: remove unused unit tests
* chore: update flutter version
* feat: support building release packages for iOS and Android
* fix: integration test failed randomly
* chore: remove windows CI cache
* chore: update info.plist
* feat: build iOS and Android in Release mode
* chore: update editor version
* chore: don't cache flutter when testing
* chore: run unit test on Windwos
* chore: update calendar theming
* feat: add event popup editor
* chore: new event button redesign and add card shadows
* chore: unscheduled events button
* chore: event title text field
* fix: focus node double dispose
* chore: show popover when create new event
* test: integrate some tests for integration testing purposes
* fix: some fixes and more integration tests
* 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>
* 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
* fix: paste multiple lines in codeblock
* fix: works with non collapsed selection
* chore: localize code block
* test: multiline paste in codeblock
* chore: remove unused import
* fix: only hanlde code block paste command if all the selected nodes are code block
---------
Co-authored-by: Lucas.Xu <lucas.xu@appflowy.io>
* 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: add translation for tooltip
* feat: add defaults for theme settings
* feat: refactor appearance view so that all theme settings can be reset
* chore: add keys for reset button
* chore: add tests for the reset button
* feat: register appearance test in runner
* chore: remove comment
* feat: add default file for appearance
* chore: move around files
* feat: make reset button respond to hover
* fix: incorrect use of resetTheme
* refactor: use maybeWhen
* fix: icon button style
* fix: rebase errors
* 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
* feat: open apps in tabs
Closes: #2942 Relates: #2312
* fix: resolve comments
* fix: unfocus editor to close toolbar on open/change tab
* test: abstract open in a new tab helper
* fix: unable to cancel the inline math equation format
* fix: bold font style used in the document is not suitable
* chore: add flutter clean before executing the release task
* fix: integration test
* feat: dynamic theme plugin (init)
* feat: provide fallback color if plugin becomes out of date (transparent)
* feat: use applicationDocumentsDirectory to store plugins
* chore: remove json files
* fix: add toJson to resolve analyzer errors
* fix: analyzer (unused imports)
* feat: add code generation scripts for freezed files (call recursively in packages)
* fix: revert changes to dry generation
* feat: call directly into script
* refactor: scripts try to be stateless :)
* fix: path to code generation in toml
* fix: generate script permissions
* fix: path not correct in generate.sh
* feat: modify execution permissions before executing scripts
* chore: switch order of build_runner and easy_localizations
* fix: fs is not valid duckscript cmd
* chore: clean build_runner before executing
* chore: upgrade freezed and build_runner attempt to resolve InvalidType error
* fix: use exec cmd.exe to chmod
* feat: add task to generate all files
* chore: remove redundant task (Code Gen)
* chore: remove json_annoation to dev_dependencies
* fix: dropped & between commands
* chore: rename file and class to FlowyDynamicPlugin
* fix: dependency hell
* fix: json annotation in colorscheme
* fix: analyzer warnings
* fix: duckscript runner for code generator
* fix: try without setting file permissions
* chore: move file picker to infra
* chore: restructure project directory
* feat: add BLoC components for consumers
* chore: update dependencies in pubspec.yaml file
* fix: file picker imports
* feat: add new translations for features
* feat: add new widgets to render upload
* fix: import
* feat: add text overflow
* feat: use animated switcher
* chore: export FileType
* fix: directory was not created, only files were copied
* chore: separate some logic
* feat: add saveFile to FilePickerService
* fix: analyzer error with unused imports
* feat: add translations for uploading
* feat: add builtins property to apptheme
* feat: add theme preview widget
* fix: upload widgets need to fill whole space and account for overflow
* refactor: do not watch file system for changes
* feat: add deletion confirmation dialog
* feat: add form factor resolution for dyanmic layout
* feat: trigger rebuild only when plugins are loaded
* feat: make all methods static
* chore: remove TODO comment, requires further design
* chore: move models to subfolder
* fix: references to plugin service instance
* fix: rebase errors
* fix: more rebasing errors
* feat: remove multiple themes from one plugin
* refactor: use pattern to resolve widget in settings_appearance_view
* refactor: remove commented code
* feat: add translations
* fix: import error
* refactor: separate concerns a bit more
* fix: bug in toJson serialization code
* feat: add package to use represent memory files
* fix: analyzer warnings
* chore: add translation
* chore: remove unused exceptions
* chore: use join
* chore: add documentation
* feat: add tests on theme
* fix: fix scripts for macOS
* feat: use appFlowyDocumentDirectory
* fix: remove unused import
* fix: imports
* feat: allow plugin service to be passed
* fix: theme tests
* feat: separate themes by built-in and plugin
* fix: rebase change name of appFlowyDocumentDirectory
* chore: add test to check that initial state falls back to initial theme
* chore: theme upload preview widget
* chore: rename to brightness setting
* refactor: appearance for settings appearance view
* feat: change show dialog api and use it
* fix: handle plugin compilation exception when incorrect format supplied
* fix: style of theme upload
* fix: always change state so that ui updates
* chore: style of loading widget
* fix: analyzer errors
* feat: add learn more button to documentation
---------
Co-authored-by: Yijing Huang <hyj891204@gmail.com>
Co-authored-by: nathan <nathan@appflowy.io>
* fix:windows integration test
* fix: load asset
* fix: windows test
* fix: test
* test: refactor the folder test
---------
Co-authored-by: vedon <vedon.fu@gmail.com>
Co-authored-by: Lucas.Xu <lucas.xu@appflowy.io>
* chore: change initial cover type's name to none
* chore: refactor cover node widget
* chore: use a constant instead of magic value
* fix: make the size of icon hover effect smaller
* chore: improve appearance of selected color
* test: add cover integration tests
* fix: inner ring of selected color in dark mode
* refactor: cover node to document header node
* test: simplify tests
* chore: rename files
* fix: cell focus issue on windows
* fix: try to fix
* fix: cell focus not working on Windows platform there are multiple text cells
* docs: add documentation
* chore: adjust row detail page ui
* test: add test
* test: fix test
---------
Co-authored-by: vedon <vedon.fu@gmail.com>
* chore: some ui improvements
* fix: integration test
* feat: language selector on welcome page (#2796)
* feat: add language selector on welcome page
* feat: add hover effect and refactor layout
* test: add basic languge selector testing
* chore: increate place holder width
* fix: add catch error for setLocale and finish the testing
* chore: update comment
* feat: refactor the skip login in page and add tests
---------
Co-authored-by: Lucas.Xu <lucas.xu@appflowy.io>
* feat: row document (#2792)
* 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>
* test: fix test
* test: add create select option test
---------
Co-authored-by: Yijing Huang <hyj891204@gmail.com>
Co-authored-by: Lucas.Xu <lucas.xu@appflowy.io>
Co-authored-by: Nathan.fooo <86001920+appflowy@users.noreply.github.com>
Co-authored-by: nathan <nathan@appflowy.io>
* test: add checklist filter test
* fix: widget reference to invalid databaseController
* fix: SelectOptionFilterList doesn't expand to fill the CustomScrollView
* test: add single select and multi-select filter test
* ci: set protoc version
* 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: 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>
* chore: upgrade flutter and dart
* ci: upgrade flutter in cicd
* fix: remove textstyle_extensions from flowy_infra
* ci: upgrade flutter in cicd
* fix: update flutter.toml
* fix: deprecations and ffi
* fix: move json_annotation to dependencies
Must have accidentally moved it to dev_dependencies when upgrading dependencies
* fix: update editor ref and use fold
* chore: try with generate true
* 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: insert below and replace in smart-edit highlights text
* test: added integration tests to validate insert below and replace in smart-edit highlights text
* refactor: using get_it to inject OpenAiRepository to inject mock repo in test
* fix: delete node does not propagate non null selection
* refactor: suggested changes and fixed bugs causing warning in github-ci
* fix: integration tests causing error in github-ci
* refactor: reverting redundant changes due to recent changes in repo
* refactor: reverting redundant changes due to recent changes in repo
* refactor: refactoring to workspace based integration testing.
* refactor: reverting redundant changes due to recent changes in repo
* chore: fix analysis issues
* chore: fix analysis issues
* chore: remove the unnecessary conversion
---------
Co-authored-by: Lucas.Xu <lucas.xu@appflowy.io>
* feat: Only show the change cover button and delete button when it's hovering.
* feat: Only show the change cover button and delete button when it's hovering
---------
Co-authored-by: gitstart <gitstart@users.noreply.github.com>
* feat: add archive for compression
* feat: add service to manage zipped work spaces
* feat: export service in barrel file
* feat: ignore .ephemeral directory
* feat: add first compressed workspace file
* fix: directory path was wrong
* feat: add a somewhat useful test
* fix: move to same file (delete later)
* fix: use script path vs. working directory for CI
* fix: read from asset bundle instead of file system
* fix: workaround to run integration in multiple files on desktop (flutter/flutter#101031
* feat: remove .ephemeral from .gitignore, no longer created
* feat: document test changes
* fix: lucas suggestion
* feat: mark assets as excluded in pubspec.yaml
* feat: add class for build utilities
* feat: add script runner for release builds
* feat: add build script as task in flowy project
* fix: typo in pubspec.yaml
* chore: use constants for exclude tag
* feat: add appversion as argument to build tool
* feat: use dart script in release.yml
* chore: remove task
* fix: careless error
Co-authored-by: Mihir <84044317+squidrye@users.noreply.github.com>
* feat: add translations for view of
* fix: typo in getAllDatabase
* feat: add view of database
* fix: remove unused import
* fix: use effective dart typing
* fix: insertPage marked as async, should return future
* fix: Remove multi-line string
* fix: ref can be null
* fix: unused imports caused analyzer to fail
* feat: also fix. Add empty document as option and change name to _name
* chore: move referenced database tests to empty document test file
* feat: add test utilities
* feat: add new integration test on an empty document
* feat: register test in runner
* fix: missing reference in insert_page_command
* fix: analyzer errors
---------
Co-authored-by: Mihir <84044317+squidrye@users.noreply.github.com>
* feat: create a new board.
* feat: switch slash menu keywords
* fix: remove unused imports
* chore: export SelectionMenuItem from appflowy_editor for integration test
* feat: add integration test for slash commands
* fix: test in new file was unable to start
* feat: add translations
* 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