Both depend on win32 v6, like current Serverpod, so an app that also uses Serverpod can resolve the editor in one pub workspace; file_picker v10 and device_info_plus v12 need win32 v5.
file_picker v12 made its API static, returns the picked files directly and reads their content on demand (PlatformFile.readAsBytes()); v13 removed the parameters v12 had deprecated. The FilePickerService implementation keeps its interface: withData, withReadStream and lockParentWindow are ignored, allowMultiple chooses between pickFiles() and pickFile(), and saveFile() saves an empty file, since file_picker now writes the file itself and needs its content up front. The image upload reads the picked file's bytes on the web; the example app saves and opens files with the new API.
Raises the minimum to Dart v3.11 and Flutter v3.41.6 (device_info_plus v13).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix: correct auto-scroll direction for left selection handle drag on iOS
When dragging the left selection handle upward, the proxy rect used for
auto-scroll detection was built with offset & Size(1, edgeOffset), which
extends 220px downward from the selection start. This caused the bottom
of the rect to exceed the viewport bottom, triggering a downward scroll
(showing content below) — the opposite of the intended direction.
Fix by using Rect.fromLTWH(offset.dx, offset.dy - edgeOffset, 1, edgeOffset)
so the proxy rect extends upward, only triggering scroll-up when the
handle approaches the top edge of the viewport.
* chore: update iOS minimum deployment target to 13.0
* test: add auto_scroller proxy rect direction tests
Adds regression tests for the left selection handle auto-scroll bug
where the proxy rect incorrectly extended downward, triggering scroll
in the wrong direction. Verifies the rect extends upward from the
handle offset when direction is AxisDirection.up.
* fix: remove unused import in auto_scroller_test
* chore: code review
* Adding offline collaboration example using appflowy_editor_sync_plugin
* Adapting example to a new appflowy_editor_sync_plugin version.
* Revert "Adapting example to a new appflowy_editor_sync_plugin version."
This reverts commit 7ea235f6f6ceb34d00a365fd05e82cdb6c5a8c67.
* increase flutter-version for testing workflow
* fix: auto_scrollable_widget adding lint ignore: invalide_use_of_protected_member.
* chore: update comment of the editable field in editor
* fix: assertion in editor list example
* feat: add text span overlay
* feat: add textSpanOverlayBuilder in edtor style
* fix: enable dismiss floating toolbar from outside
* chore: make sure context of global key in rich text is available for overlay
---------
Co-authored-by: Lucas.Xu <lucas.xu@appflowy.io>
* fix: unable to parse image if the image is inside the paragraph
* test: unable to parse image if the image is inside the paragraph
* fix: using space bar to move the cursor not working on Android (#1013)
---------
Co-authored-by: Morn <agedchen@gmail.com>
* feat: enable debug paint size for mobile drag handle
* fix: clear selection extra info when inserting new line
* Revert "feat: enable debug paint size for mobile drag handle"
This reverts commit 3ece3c64d3a1c7fc2051ca7603e75dcf053304e8.
* feat: enable debug paint size for mobile drag handle
* feat: support auto-dismiss mobile collasped handle
* feat: clear composing range when updating selection by ui event
* fix: hide the toolbar when all selected content is empty
* test: hide the toolbar when all selected content is empty
* Revert "fix: ignore backspace on empty table cells to avoid editor crash (#964)"
This reverts commit 09f4b17e2e.
* feat: support moving a block to become a child of another block
* fix: disable moving a block to its children
* chore: update example/lib/pages/drag_to_reorder_editor.dart
Co-authored-by: Mathias Mogensen <42929161+Xazin@users.noreply.github.com>
* chore: update example/lib/pages/drag_to_reorder_editor.dart
Co-authored-by: Mathias Mogensen <42929161+Xazin@users.noreply.github.com>
* feat: optimize moving logic
---------
Co-authored-by: Mathias Mogensen <42929161+Xazin@users.noreply.github.com>
* feat: support drag to reorder block
* feat: enable drag to reorder on home page
* fix: proper offset calculation for drop path
* docs: update doc comments for the drop target API
* fix: render issue
---------
Co-authored-by: Mathias Mogensen <mathiasrieckm@gmail.com>
* feat: expose method to render drop target
* feat: add style to drop target
* feat: add DropTargetRenderData for more concise control
* fix: split up rendering and data fetching
* chore: clean unused code
* chore: remove unused example code for testing
* feat: create initial parser for PDF format
* chore: add comments to explain code.
* chore: commit missing file
* feat: init commit for pdf parser
* chore: bind dependancy to git repo fork for fixes
* feat: get basic text from parser
* feat: get textstyle working with various texts
* fix: ensure formatting(bold, italics) doesnt break paragraphs
- Remove additional comments.
* chore: remove htmltopdfwidgets dependancy
* chore: clean up redundant code and add helper functions
* chore: update example files to include pdf option for export
* fix: remove html exportFileType
* feat: add in image support
* feat: add image support for network & local image
* feat: enable table support
* fix: enable tables in pdf parser
- Tables are enabled but lists within a table are not working yet.
- There is also the case of strikethrough not working, probably it didnt get rendered as a tag.
- Cleaned up example.dart
* chore: clean up comments in files & unused imports.
* chore: remove unused file.
---------
Co-authored-by: Lucas.Xu <lucas.xu@appflowy.io>
* feat: support custom markdown parsers
* fix: markdown test
* feat: add markdown quote parser
* chore: use markdown parser
* chore: parse unordered list, to_do list and quote
* feat: add a markdown editor example
* feat: add bulleted list parser
* feat: support nested list and img
* feat: support code block
* feat: support table parser
* chore: refacotr code
* fix: flutter analyze
* chore: add more tests and remove unused files
* fix: test
* feat: support auto complete for text block
* feat: support auto complete for text block
* test: add auto complete test
* feat: support tab to auto complete
* chore: optimize the code
* chore: update token