Commit Graph

4627 Commits

Author SHA1 Message Date
Dang Dat 782d21d796 fixup! TF-4224 Reduce ReDoS vulnerability 2026-01-06 10:16:26 +07:00
Dang Dat 8e0276114e fixup! TF-4224 Reduce ReDoS vulnerability 2026-01-06 10:16:26 +07:00
Dang Dat dd584c9ce7 fixup! TF-4224 Reduce ReDoS vulnerability 2026-01-06 10:16:26 +07:00
Dang Dat 3d08fc9e5f fixup! TF-4224 Reduce ReDoS vulnerability 2026-01-06 10:16:26 +07:00
Dang Dat a8f90ec700 fixup! TF-4224 Reduce ReDoS vulnerability 2026-01-06 10:16:26 +07:00
Dang Dat 86dec27d67 fixup! TF-4224 Reduce ReDoS vulnerability 2026-01-06 10:16:26 +07:00
Dang Dat 2b909aeb1c TF-4224 Reduce ReDoS vulnerability 2026-01-06 10:16:26 +07:00
Dat H. Pham 91aacf39b7 Bump version to v0.23.1 2025-12-29 12:55:44 +07:00
Dang Dat a31898185e [Memory leak] Handle dispose in MobileEditorWidget 2025-12-29 10:11:56 +07:00
Dang Dat a286dd5dd8 [Memory leak] Remove listener and dispose 2025-12-29 10:11:56 +07:00
dab246 20b93cd8db hotfix(ai-scribe): Fix text selection handler correctly gated by AI Scribe availability. 2025-12-29 05:13:18 +07:00
dab246 f45f55751f hotfix(ai-scribe): Only implement OnTextSelectionChanged when isAIScribeAvailable is true 2025-12-29 05:13:18 +07:00
dab246 2b06dc65e3 hotfix(ai-scribe): Hide AI scribe option in user setting on mobile 2025-12-29 05:13:18 +07:00
dab246 29b54a76ee hotfix(ai-scribe): fix Safari keyboard input issue in AI Scribe search bar dialog 2025-12-23 17:27:26 +07:00
dab246 2b70b660f0 hotfix(ai-scribe): With a lot of content and selecting all content, do not see the AI selection button 2025-12-23 17:26:28 +07:00
Dat H. Pham 3a571ea01b Bump version to v0.23.0 2025-12-19 19:06:55 +07:00
Dat H. Pham 0a8ec3fbc0 fix: add console error to log text selection failed 2025-12-19 19:03:39 +07:00
dab246 6e09d853fd feat(ai-scribe): Fix the English locale file `(intl_en.arb)` is missing all three AI Scribe keys
feat(ai-scribe): Fix async function declared without proper return type annotation.

feat(ai-scribe): Fix Async operations not properly awaited.

feat(ai-scribe): Fix inconsistent capitalization between button labels.

feat(ai-scribe): Fix GenerateAITextFailure check will never match.

feat(ai-scribe): Fix consider validating text input for predefined actions.

feat(ai-scribe): Using a subshell for directory isolation.

feat(ai-scribe): Fix verify the mock usage or document intent.

feat(ai-scribe): Using a more conventional import for Offset.

feat(ai-scribe): Adding error handling for consistency

feat(ai-scribe): Remove `fromJson` and `toJson` of AIResponse

feat(ai-scribe): Using constants for role values.

feat(ai-scribe): Using a more specific import.

feat(ai-scribe): Using Timer for cleaner lifecycle management

feat(ai-scribe): Adding error handling to fromMap() for consistency.

feat(ai-scribe): Disposing the ValueNotifier

feat(ai-scribe): Redundant null check after assignment

feat(ai-scribe): Fix calling `registerSelectionChangeListener` multiple times may be inefficient.

feat(ai-scribe): Safer type handling for JavaScript callback args

feat(ai-scribe): Fix async callbacks not awaited in switch statement.

feat(ai-scribe): Fix binding lifecycle mismatch for GetAIScribeConfigInteractor

feat(ai-scribe): Fix ai prompts

feat(ai-scribe): Fix unawaited async call to `_setupSelectionListener`

feat(ai-scribe): Fix switch cases use top-origin coordinates while `PositionedDirectional(bottom:)`` expects bottom-origin coordinates.

feat(ai-scribe): Adding error handling for selection listener setup.
2025-12-19 19:03:39 +07:00
dab246 6e56a50713 feat(ai-scribe): Load AI scribe config in dashboard 2025-12-19 19:03:39 +07:00
HuyNguyen 256234b3d8 Update environment configuration for composer_controller_test.dart 2025-12-19 19:03:39 +07:00
HuyNguyen 428d95c999 Enable AI Scribe modal based on configuration and availability 2025-12-19 19:03:39 +07:00
Dat H. Pham 25ea472688 Display AI toggle in Composer 2025-12-19 19:03:39 +07:00
Dat H. Pham 3c20c005f6 Display AI Scribe togge in Preference 2025-12-19 19:03:39 +07:00
Dat H. Pham 9a46f6c663 Interactor getAIScribeConfig 2025-12-19 19:03:39 +07:00
Dat H. Pham a915ec9881 AIConfig model 2025-12-19 19:03:39 +07:00
Théo Poizat 68e55a0e22 Improve AI Scribe prompts
- Mutualize some commands
- Avoid unexpected behavior
2025-12-19 19:03:39 +07:00
dab246 a686b5d334 feat(ai-scribe): Adding error handling for async operations 2025-12-19 19:03:39 +07:00
dab246 b3dd6a9e85 feat(ai-scribe): Fix missing HTML entity escaping creates correctness and potential security issues 2025-12-19 19:03:39 +07:00
Théo Poizat c78f6b8a76 Improve text replace in Scribe
- Delete selection content before inserting
- Insert correct HTML
2025-12-19 19:03:39 +07:00
Théo Poizat 1a79445711 Add a method to delete selection content 2025-12-19 19:03:39 +07:00
dab246 088b922b0e feat(ai-scribe): Fix alignment of prompt when AI button at very right of composer or response have long result but at the bottom of composer 2025-12-19 19:03:39 +07:00
dab246 89eb1ecc71 feat(ai-scribe): Fix click on response text of AI, dialog to be disappeared 2025-12-19 19:03:39 +07:00
Théo Poizat 2b6504f8be Unpixelize gradient sparkle 2025-12-19 19:03:39 +07:00
Théo Poizat 9a8989a310 Make the AI Scribe suggestion success selectable text 2025-12-19 19:03:39 +07:00
dab246 57bfb4f88f feat(ai-scribe): Fix when using multiple composer, get multiple overlay icons 2025-12-19 19:03:39 +07:00
dab246 fd33ccf5e4 feat(ai-scribe): Auto hide Replace action when perform prompt in new email without content 2025-12-19 19:03:39 +07:00
dab246 d62b3db985 feat(ai-scribe): Add Enter to send prompt directly and Shift + Enter to add new line 2025-12-19 19:03:39 +07:00
dab246 54ca4595ad feat(ai-scribe): Fix some comments of coderabbit 2025-12-19 19:03:39 +07:00
dab246 863bc115bb feat(ai-scribe): Fix click outside during scribe generating response, scribe be closed 2025-12-19 19:03:39 +07:00
dab246 96b73aa971 feat(ai-scribe): Avoid the prompt being obscured when there is a lot of content. 2025-12-19 19:03:39 +07:00
dab246 3e337d7f3d feat(ai-scribe): Allow scroll the prompt's response is long 2025-12-19 19:03:39 +07:00
dab246 ea8dedda46 feat(ai-scribe): Fix generate ai text is failed 2025-12-19 19:03:39 +07:00
dab246 27393d4cc8 feat(ai-scribe): Add method to collapse selection and insert/replace callback 2025-12-19 19:03:39 +07:00
Théo Poizat 3fe54e1847 Add Intl for Replace text 2025-12-19 19:03:39 +07:00
Théo Poizat 8ed8100e7e Add JS method to collapse selection in both composer
Collapsing a selection means removing it and keep the cursor at the
end. It will be needed by the scribe for "Insert" action where we
want to insert a text at the cursor even if the user selected text.
2025-12-19 19:03:39 +07:00
dab246 af5f316e31 feat(ai-scribe): Optimize imports to avoid having too many lines of code in a single file 2025-12-19 19:03:39 +07:00
dab246 860393fc90 feat(ai-scribe): Improve data & domain layer for ai scribe 2025-12-19 19:03:39 +07:00
dab246 1a1b8f489f feat(ai-scribe): Improve UI for AI Scribe suggestion modal 2025-12-19 19:03:39 +07:00
dab246 582b1ebe97 feat(ai-scribe): reorganize abstractions and update dialog modal UI 2025-12-19 19:03:39 +07:00
dab246 7ddccf2e1c feat(ai-scribe): Fix cannot parsing AI capability from Session 2025-12-19 19:03:39 +07:00