Commit graph appflowy-editor/test/new/service
Author SHA1 Message Date
Lucas
37521c205f
fix: support multi-step redo by refactoring undo/redo recording (#1192)
Multi-step redo was broken because `getUndoHistoryItem()` cleared the
redo stack whenever the last undo item was sealed — even during redo
operations. After the first redo, the 50ms debounce timer would seal
the item, causing the next redo to wipe the remaining redo history.

Refactored the undo/redo system with:
- `TransactionSource` enum (userEdit, undo, redo, none) replacing
  boolean flag combinations in ApplyOptions
- `UndoManager.record()` with symmetric paths for each source:
  - userEdit: groups into unsealed items, clears redo on branch
  - undo: pushes directly to redo stack
  - redo: pushes directly to undo stack (sealed), no redo clear
- Deprecated `getUndoHistoryItem()` and legacy boolean flags
2026-03-25 15:25:00 +08:00
Lucas
f882d958d9
feat: integrate awesome_lints and upgrade to Flutter 3.38 (#1173)
* chore: update Flutter SDK to version 3.38.5

Upgrade Flutter from 3.32.4 to 3.38.5 to meet awesome_lints
requirement for Dart SDK 3.10.0+. Update CI workflow to use
the new Flutter version and add custom_lint verification step.

* chore: integrate awesome_lints with custom lint rules

Add awesome_lints and custom_lint dependencies, configure
analysis_options.yaml to enable newline lint rules: newline_before_case,
newline_before_constructor, newline_before_method, and newline_before_return.

* style: apply newline formatting per awesome_lints rules

Add blank lines before case clauses, return statements, method
declarations, and constructors throughout the codebase to comply
with awesome_lints newline rules.

* fix: replace deprecated translate with leftTranslateByDouble

Update Matrix4.translate() calls to use the new leftTranslateByDouble()
API to resolve deprecation warnings in Flutter SDK 3.38.5.

* chore: improve code readability with blank line formatting
2025-12-23 15:12:57 +08:00
Morn
552f95fd15
feat: add RegExp to CharacterShortcutEvent (#1088)
* feat: add RegExp to CharacterShortcutEvent

* fix: testing error
2025-04-02 12:53:45 +08:00
Mathias Mogensen
e214cfea4a
fix: backspace select all (#1077)
* test: ignore coverage in copied flutter files

* fix: selection and focus missing after backspace
2025-04-01 09:22:37 +08:00
Lucas
ec7350da7c
fix: unable to undo/redo when the selection is null (#1067)
* fix: unable to undo/redo when the selection is null

* test: add undo without selection test
2025-03-14 14:16:38 +08:00
LinJi
432b797914
fix: cross column deletion in the table (#934) 2024-12-11 17:04:34 +08:00
Lucas
157ded3cd3
fix: underscore works should not be interpreted in inline-code (#984)
* fix: underscore works should not be interpreted in inline-code

* test: underscore works should not be interpreted in inline-code
2024-12-09 15:09:33 +08:00
Lucas
4034ebfae7
fix: closing a ')' braket to create a link will erase a text following it to the end of a paragraph (#983)
* fix: closing a ')' braket to create a link will erase a text following it to the end of a paragraph

* feat: move the cursor to the end of the doc if the cursor is in the last line

* fix: test
2024-12-09 11:42:18 +08:00
Ahad Patel
647a53e257
feat: multi list indentation (#903)
* add muliple list indentation at once

* feat: filter out the children node when executing indent command

* feat: keeping only immediate children nodes when executing outdent command

* feat: ignore outdent command if any of the selected nodes have path 1

* add test cases for indent and outdent commands

* fix: linting issues and removed dead code

* chore: remove unecessary comments in test file

---------

Co-authored-by: Lucas.Xu <lucas.xu@appflowy.io>
2024-10-08 19:51:18 +08:00
Lucas
c5de9ed84d
chore: integrate delete line command into cut command (#907) 2024-09-30 13:26:39 +08:00
Lucas
54edcadbb2
feat: add 'delete line' command shortcut (#906)
* feat: support ctrl(cmd)+x to delete current line if the selection is collapsed

* test: add delete_line_command_test
2024-09-30 10:15:16 +08:00
nathan
4d93dfbded chore: fix test 2024-07-27 16:38:45 +08:00
Juliano Penna
6a983808c8
feat: use format of wrapping node when pasting plain text (#692)
* fix: paste plain text follows destination formatting

* test: paste plain text

---------

Co-authored-by: Lucas.Xu <lucas.xu@appflowy.io>
2024-07-04 11:53:43 +08:00
Lucas.Xu
796d1249fe
chore: upgrade Flutter to 3.22.0 (#797) 2024-05-14 14:05:38 +08:00
Mathias Mogensen
c97842ae91
feat: add more gesture interceptors (#757) 2024-04-04 13:51:05 +02:00
Old Autumn
0ad1986cd9
fix: transfer the whole line into link when text contains url (#693) (#737) 2024-03-06 10:58:47 +08:00
Lucas.Xu
a52a2e7990
chore: reanme highlight color to background color (#729) 2024-02-28 10:57:13 +08:00
Juliano Penna
7d8147c78d
fix: pasting keeps current node type (#689) 2024-01-26 10:45:41 +08:00
q200892907
b7c381e495
feat: optimize Enter operation (#673)
* outdentCommand is called when the node path is greater than 1

* feat:add test

* feat:update test
2024-01-15 15:29:51 +08:00
Jayaprakash
a8a88c49fa
fix: support character deletion while holding down the Shift key. (#659)
* fix: support deletion of character using [shift+backspace] command shortcut

* refactor: remove unnecessary command handler and unit test
2024-01-10 21:13:35 +08:00
Jazim Akbar
de94a5864f
feat: add markdown link syntax formatting (#618)
* Add markdown link syntax formatting

* chore: format code

---------

Co-authored-by: Lucas.Xu <lucas.xu@appflowy.io>
2024-01-01 14:34:33 +08:00
Lucas.Xu
50117b6900
chore: refactor mobile toolbar and divider block component (#583)
* feat: adjust toggle list block

* chore: refactor mobile toolbar and divider block
component

* chore: adjust indentation padding in block component
configuration and indent command test
2023-11-08 14:17:08 +08:00
Sameer Godse
51f8f791c8
feat: convert = and > to ⇒ (#523) 2023-10-24 14:07:29 +08:00
Lakhan Baheti
2b58d4f9ca
feat: support RTL in toolbar (#496) 2023-09-27 15:34:33 +08:00
Lucas.Xu
c5ea228b4e
fix: undo failed in a nested list in a special case (#503) 2023-09-26 14:10:43 +08:00
Lucas.Xu
b602141d32 fix: missing a required trailing comma 2023-09-13 15:26:29 +08:00
Lucas.Xu
19f999f422
feat: optimize the performance (#442) 2023-09-11 15:03:14 +08:00
Mayur Mahajan
ad55171c5b
refactor: migrate tests (#438)
* refactor: separate remove line command

* test: delete sentence

* chore: export delete left line command

* refactor: move from internal_key_handler to new

* refactor: move from command to new
2023-09-11 14:24:50 +08:00
Antony Kithinzi
2924c167e2
feat: bulk open links shortcut (#419)
* feat: creating open links shortcut command

* test: open links command

* refactor: applying suggestion

* refactor: fetching all unique links by a chain function
2023-09-11 14:23:45 +08:00
Mayur Mahajan
7a03439c82
feat: toggle highlight using ctrl/cmd + shift + h (#333)
* feat: add highlight command shortcut

* feat: toggle highlight in markdown commands

* refactor: customizable highlight color

* feat: taking color from editor page
2023-08-29 15:25:08 +08:00
Lucas.Xu
1922e56903
feat: migrate copy paste command from AppFlowy (#413) 2023-08-25 15:58:33 +08:00
MayurSMahajan
de779ab87a test: open link command 2023-08-21 10:43:06 +08:00
MayurSMahajan
807a8dfb96 refactor: show link command test 2023-08-21 10:43:06 +08:00
Mathias Mogensen
a564c10e87 chore: deprecate Selection.collapse + coverage for selection.dart 2023-08-17 13:13:45 +08:00
Mayur Mahajan
2b517b2a5b
feat: paste plaintext shortcut (#338)
* feat: shortcut for pasting plaintext

* test: paste without formatting

* chore: use text directly

* refactor: add cut command
2023-08-02 10:03:03 +08:00
Mohammad Zolfaghari
3bd7c2aaa2
fix: indent padding from left when rtl (#318) 2023-07-19 15:58:27 +08:00
Mayur Mahajan
2ab67ee217
feat: delete right word with ctrl+delete (#309) 2023-07-13 19:25:50 +08:00
Mayur Mahajan
68300149bf
feat: support for shift+home/end keys (#306) 2023-07-13 19:25:14 +08:00
Lucas.Xu
5f136df356
feat: remove the reference of the deprecated values (#304)
* feat: remove the reference of the deprecated values

* chore: add migration guide
2023-07-12 13:21:54 +08:00
Mohammad Zolfaghari
f8da435ad5
feat: support RTL and auto direction (#191) 2023-07-12 10:51:38 +08:00
Mayur Mahajan
fc7b4e5c81
chore: change windows and linux command for redo (#294) 2023-07-11 22:34:05 +08:00
Mayur Mahajan
49752db13f
test: for testing parent child delete case (#296)
* test: add test for parent child delete case

* docs: suitable names to arrow commands
2023-07-10 11:12:52 +08:00
Mayur Mahajan
3f7c9fe2b5
feat: implement delete command shortcut (#272) 2023-07-07 19:49:51 +08:00
Lucas.Xu
46158d9e26
feat: customize href (#293) 2023-07-07 16:07:47 +08:00
Lucas.Xu
bb3771af63
chore: bump version 1.1.0 (#284) 2023-07-04 14:07:23 +08:00
Lucas.Xu
2b2bce4f3c
fix: analysis issues (#283) 2023-07-04 11:22:35 +08:00
Yijing Huang
13805afc33
feat: customized color options (#270) 2023-07-04 10:38:42 +08:00
Aman Negi
03bc577fcd
feat: add underline shortcut (#199)
* feat: Add underline divider shortcut

* chore: stage uncommitted files

* chore: Add tests for character_shortcut_event
2023-06-20 22:33:46 +08:00
Lucas.Xu
2d3ab80c8f
fix: #215 unable to delete the divider via backspace (#216) 2023-06-20 15:31:55 +08:00
Mayur Mahajan
860205c017
fix: behaviour of home and end keys on windows (#213)
* feat: add ctrl+home or end to scroll

* fix: home and end to move in line

* fix: typo redo

* test: home and end command

* fix: ctrl+arrow still works on windows and linux

* test: check behavior on windows nd linux
2023-06-19 09:50:41 +08:00