Théo Poizat
7d7ccaf874
Open AI Scribe from text selection
2025-12-19 19:03:39 +07:00
Théo Poizat
96c95866c6
Open AI Scribe from bottom bar button
2025-12-19 19:03:39 +07:00
Théo Poizat
b122928a38
Add methods to display AI scribe
2025-12-19 19:03:39 +07:00
Théo Poizat
dced5b5dc7
Add AI scribe widgets
...
- Button : the button with sparkle icon to display AI scribe
- Menu : the menu where you can select the action (eg: translate)
- Bar : the input where you can write a custom action
- Suggestion : the wrapper of the result of the LLM
2025-12-19 19:03:39 +07:00
Théo Poizat
23065aa76d
Forward text selection callback from editor view to editor
2025-12-19 19:03:39 +07:00
Théo Poizat
57124f70a8
Implement text selection mixin in mobile and web editor
2025-12-19 19:03:39 +07:00
Théo Poizat
aaf60cf222
Update AI models default and optional values
...
To have stronger code
2025-12-19 19:03:39 +07:00
Théo Poizat
0c787d3d98
Throw error if AI API return null or empty reponse
2025-12-19 19:03:39 +07:00
Théo Poizat
c858ac40f5
Add translations for scribe module
...
Added a separated ScribeLocalizations to keep it separated from main app.
2025-12-19 19:03:39 +07:00
Théo Poizat
2557c68a94
Use absolute path for scribe files
2025-12-19 19:03:39 +07:00
Théo Poizat
7e0c98b080
Add scribe module
2025-12-19 19:03:39 +07:00
Théo Poizat
26593b50ef
Move AI env var from main to scribe package
2025-12-19 19:03:39 +07:00
Théo Poizat
f19993bb30
Use json_serializable and const to improve AI data model
2025-12-19 19:03:39 +07:00
Théo Poizat
8b17fcdc54
fixup! Add text selection mixin
2025-12-19 19:03:39 +07:00
Théo Poizat
4013973110
Add text selection mixin
...
This mixin leverages HTML callbacks that can be set by WebView editor
to send text selection event to the composer so the composer will
receive text selection event necessary to display buttons related to
text selection.
2025-12-19 19:03:39 +07:00
Théo Poizat
2ccb203610
Add AI text state
2025-12-19 19:03:39 +07:00
Théo Poizat
1e2718e678
Add AI text interactor
2025-12-19 19:03:39 +07:00
Théo Poizat
52295c8c0c
Add AI repository implementation
2025-12-19 19:03:39 +07:00
Théo Poizat
6564e50b74
Add AI data source implementation
2025-12-19 19:03:39 +07:00
Théo Poizat
63489b1b44
Add AI abstract repository
2025-12-19 19:03:39 +07:00
Théo Poizat
c734987347
Add AI abstract datasource
2025-12-19 19:03:39 +07:00
Théo Poizat
eaa30918cc
Add AI API request, AI API response and AI message model
2025-12-19 19:03:39 +07:00
Théo Poizat
b3e111b9bf
Add AI prompts
...
This part will be highly reworked soon because :
- prompts will come from a remote JSON file
- menu will be build depending of prompts that will contains translations
I think it should also be moved in another module later.
2025-12-19 19:03:39 +07:00
Théo Poizat
29e90f256f
Add AI related env var
...
AI_ENABLED allows to test AI features only in some wanted environment.
AI_API_KEY and AI_API_URL allows to call the LLM while we wait for tmail backend endpoints.
It will be removed when tmail backend endpoints are ready.
2025-12-19 19:03:39 +07:00
Théo Poizat
fb31488c99
Add sparkle icon
2025-12-19 19:03:39 +07:00
dab246
06412f1493
fixup! TF-4186 Use super.props to include parent's properties in the props override.
2025-12-10 17:13:11 +07:00
dab246
f09694577e
TF-4186 Use super.props to include parent's properties in the props override.
2025-12-10 17:13:11 +07:00
dab246
c87d3229ce
TF-4186 Implement remember choose organisation server
2025-12-10 17:13:11 +07:00
dab246
0bbcfd0f75
TF-4186 Add datasource/repository for save and get company server login info
2025-12-10 17:13:11 +07:00
dab246
860154acc1
TF-4176 Change minimize behavior in mail composer
2025-12-10 09:41:11 +07:00
Dat H. Pham
02f6dca96b
Bump version to v0.22.1
2025-11-21 11:10:29 +07:00
Dat H. Pham
5e0d2ae424
Translated using Weblate (French)
...
Currently translated at 100.0% (812 of 812 strings)
Translation: Linagora/TeamMail
Translate-URL: https://hosted.weblate.org/projects/linagora/teammail/fr/
2025-11-21 11:00:55 +07:00
Dat H. Pham
1f5bd74879
Translated using Weblate (Russian)
...
Currently translated at 100.0% (812 of 812 strings)
Translation: Linagora/TeamMail
Translate-URL: https://hosted.weblate.org/projects/linagora/teammail/ru/
2025-11-21 11:00:55 +07:00
Dat H. Pham
279532a9b6
Translated using Weblate (Vietnamese)
...
Currently translated at 100.0% (812 of 812 strings)
Translation: Linagora/TeamMail
Translate-URL: https://hosted.weblate.org/projects/linagora/teammail/vi/
2025-11-21 11:00:55 +07:00
Dat H. Pham
77f96ade53
Translated using Weblate (Vietnamese)
...
Currently translated at 100.0% (810 of 810 strings)
Translation: Linagora/TeamMail
Translate-URL: https://hosted.weblate.org/projects/linagora/teammail/vi/
2025-11-21 11:00:55 +07:00
Dat H. Pham
8d1e04a65d
Translated using Weblate (Vietnamese)
...
Currently translated at 99.8% (809 of 810 strings)
Translation: Linagora/TeamMail
Translate-URL: https://hosted.weblate.org/projects/linagora/teammail/vi/
2025-11-21 11:00:55 +07:00
Максим Горпиніч
c5685433b4
Translated using Weblate (Ukrainian)
...
Currently translated at 100.0% (810 of 810 strings)
Translation: Linagora/TeamMail
Translate-URL: https://hosted.weblate.org/projects/linagora/teammail/uk/
2025-11-21 11:00:55 +07:00
Sketch6580
7a2bec7a98
Translated using Weblate (Chinese (Simplified Han script))
...
Currently translated at 100.0% (810 of 810 strings)
Translation: Linagora/TeamMail
Translate-URL: https://hosted.weblate.org/projects/linagora/teammail/zh_Hans/
2025-11-21 11:00:55 +07:00
Taisiya Prudentova
ff1e5ae5e8
Translated using Weblate (Russian)
...
Currently translated at 100.0% (810 of 810 strings)
Translation: Linagora/TeamMail
Translate-URL: https://hosted.weblate.org/projects/linagora/teammail/ru/
2025-11-21 11:00:55 +07:00
Florian DANIEL aka Facyla
e4bb0fb50d
Translated using Weblate (French)
...
Currently translated at 100.0% (810 of 810 strings)
Translation: Linagora/TeamMail
Translate-URL: https://hosted.weblate.org/projects/linagora/teammail/fr/
2025-11-21 11:00:55 +07:00
Zoé Bellot
deaf84d1ce
Translated using Weblate (French)
...
Currently translated at 100.0% (810 of 810 strings)
Translation: Linagora/TeamMail
Translate-URL: https://hosted.weblate.org/projects/linagora/teammail/fr/
2025-11-21 11:00:55 +07:00
Zoé Bellot
738322d2de
Translated using Weblate (French)
...
Currently translated at 100.0% (810 of 810 strings)
Translation: Linagora/TeamMail
Translate-URL: https://hosted.weblate.org/projects/linagora/teammail/fr/
2025-11-21 11:00:55 +07:00
Aindriú Mac Giolla Eoin
8306e82e6e
Translated using Weblate (Irish)
...
Currently translated at 100.0% (810 of 810 strings)
Translation: Linagora/TeamMail
Translate-URL: https://hosted.weblate.org/projects/linagora/teammail/ga/
2025-11-21 11:00:55 +07:00
Sketch6580
d4533f75b9
Translated using Weblate (Chinese (Simplified Han script))
...
Currently translated at 100.0% (780 of 780 strings)
Translation: Linagora/TeamMail
Translate-URL: https://hosted.weblate.org/projects/linagora/teammail/zh_Hans/
2025-11-21 11:00:55 +07:00
Sketch6580
cf90e36589
Translated using Weblate (Chinese (Simplified Han script))
...
Currently translated at 100.0% (780 of 780 strings)
Translation: Linagora/TeamMail
Translate-URL: https://hosted.weblate.org/projects/linagora/teammail/zh_Hans/
2025-11-21 11:00:55 +07:00
dab246
6974e031a8
Show UpgradeStorageWidget only when premium is available or quota exceeds 90%
2025-11-21 10:32:58 +07:00
dab246
66f807678c
Fix show Your storage is almost full message in Storage section
2025-11-21 10:32:58 +07:00
Dat Dang
426977f603
Handle keyboard shortcut FocusNode causing memory leak ( #4158 )
2025-11-21 09:53:40 +07:00
dab246
f526b39fae
Remove We're sorry in intl file
2025-11-20 15:28:30 +07:00
dab246
7e55f68ff3
Add E2E test for test case display empty view for favorite folder
2025-11-20 15:28:30 +07:00