Commit Graph

845 Commits

Author SHA1 Message Date
dab246 99b68d1fc5 TF-4269 Fix Sentry release version sync across platforms
Use --dart-define=SENTRY_RELEASE=<full-tag> in Fastlane so the app
reports the same version string to Sentry as CI uses when uploading
symbols, bypassing iOS CFBundleShortVersionString stripping.

- Android Fastfile: add --dart-define=SENTRY_RELEASE (build-name unchanged)
- iOS Fastfile: pass DART_DEFINES via xcargs (increment_version_number unchanged)
- Dart: read SENTRY_RELEASE dart-define first, fall back to PackageInfo.version
- NSE/Web unaffected: NSE reads from Keychain, Web falls back to PackageInfo
2026-04-21 15:15:32 +07:00
dab246 bab9d4f24c TF-4269 Integrate Sentry into iOS NSE and automate dSYM upload in CI 2026-04-21 11:51:36 +07:00
dab246 35b46ff21b TF-4308 Add NoLabelYetWidget for choose label modal
Signed-off-by: dab246 <tdvu@linagora.com>
2026-04-17 10:22:32 +07:00
Dat Dang 6fc88f780c TW-4308 Add labels for several messages part 2 (#4431)
Add ChooseLabelModal, delegate, and update label UI components

Wire add-labels action across Thread, Search, and Dashboard
2026-04-15 14:25:37 +07:00
dab246 eeaab49e93 TF-4268 Cache Sentry config and user for FCM background re-initialization
Signed-off-by: dab246 <tdvu@linagora.com>
2026-04-10 16:05:02 +07:00
Dat Vu c9e2e5db80 TF-4358 Remove mail in trash by default in search result (#4361) 2026-04-10 15:15:53 +07:00
dab246 dd77b2d53a fixup! TF-4268 Initialize Sentry from Linagora Ecosystem configuration
Signed-off-by: dab246 <tdvu@linagora.com>
2026-04-09 14:16:41 +07:00
dab246 d2566dd9aa TF-4268 Initialize Sentry from Linagora Ecosystem configuration 2026-04-09 14:16:41 +07:00
Dat Vu bc0f6a4ac6 TF-4356 Add filter event mail in search (#4357)
* Add `Events` filter checkbox in Advanced Search form
* Perform search email by `Events` filter in Advanced Search form
* Add `Event` quick search button in Search view
* Use `keywords` replace to `headers` for search event filter
2026-04-03 07:16:03 +02:00
dab246 82eb6b7d06 fixup! TF-4392 [Team Mailbox] Hide Recover deleted messages and Archive message in team mailbox 2026-04-01 18:08:12 +07:00
dab246 7cc9cd82fa TF-4392 [Team Mailbox] Hide Recover deleted messages and Archive message in team mailbox 2026-04-01 18:08:12 +07:00
dab246 beb323874b TF-4392 [Team Mailbox] Auto save draft email team mailbox when edit 2026-04-01 18:08:12 +07:00
dab246 a702d44f96 TF-4392 [Team Mailbox] Move multiple emails to trash 2026-04-01 18:08:12 +07:00
dab246 c2772e7ab5 TF-4392 [Team Mailbox] Move email to trash on delete in Email Detailed View 2026-04-01 18:08:12 +07:00
dab246 db8ae35c9d TF-4392 [Team Mailbox] Move email to trash on delete in Email List View 2026-04-01 18:08:12 +07:00
dab246 865940450e TF-4392 [Team Mailbox] Empty the team mailbox trash 2026-04-01 18:08:12 +07:00
dab246 6f1bf82f02 fixup! TF-4385 Fix spam banner show it once per day 2026-03-30 13:39:46 +07:00
dab246 e4107c7363 TF-4385 Fix spam banner show it once per day 2026-03-30 13:39:46 +07:00
dab246 cee2dd9d14 feat: Separate in method: _syncLabelForOpenedEmail & add const for LabelKeywordIsNull 2026-03-27 14:07:21 +07:00
dab246 432c482155 feat: Re-use AddLabelToEmailMixin for logic add label to email in EmailView 2026-03-27 14:07:21 +07:00
dab246 28d5036667 TF-4378 Migrate scribe-mobile branch to master branch 2026-03-25 11:52:35 +07:00
Théo Poizat 32cf606aea Cache Linagora Ecosystem in controller for Scribe 2026-03-25 11:52:35 +07:00
Théo Poizat 3ebb9113bc Revert "Cache LinagoraEcosystem to avoid multiple network calls"
This reverts commit 252f34f914fa21f8acf2ef2b5de9ac0ab28a8b4c.
2026-03-25 11:52:35 +07:00
Théo Poizat 1982f199ac Rework PromptService
- Use dependency injection and Get.find instead of manual singleton pattern
- Move from domain to data layer
- Prevents multiple API calls if the previous request hasn't finished
2026-03-25 11:52:35 +07:00
Théo Poizat 6d8d10cf26 Cache LinagoraEcosystem to avoid multiple network calls 2026-03-25 11:52:35 +07:00
Théo Poizat b84b2ce703 Fetch prompts from scribePromptUrl
First, we try to fetch prompts from scribePromptUrl. At fallback, we
use local prompts.
2026-03-25 11:52:35 +07:00
Théo Poizat a98368e6a6 Allow to get scribePromptUrl from LinagoraEcosystem 2026-03-25 11:52:35 +07:00
Théo Poizat 9e601caa86 Enable AI scribe in mobile 2026-03-25 11:52:35 +07:00
Dat Vu 8a9901a0a4 TF-4384 Fix page not found 404 error when refreshing label views (#4390) 2026-03-21 17:23:18 +07:00
dab246 8a21e35d1e fix: Prefer reusing AppBaseException instead of redefining the exception contract CacheException and RemoteException 2026-03-10 11:06:16 +07:00
dab246 2e8a11e7eb refactor(sentry): standardize exceptions to prevent Sentry minification 2026-03-10 11:06:16 +07:00
dab246 b2338a1160 feat(Label): Use capability-aware label availability in websocket injection. 2026-03-05 10:32:56 +07:00
dab246 2e6e1fcdc8 feat(Label): Add depend on settings to register websocket for label 2026-03-05 10:32:56 +07:00
dab246 9c211c05ef feat: Auto sync label from web socket 2026-03-05 10:32:56 +07:00
dab246 eb62b7cd97 hotfix(ui): Show label search filter only when label list is not empty 2026-02-02 17:38:44 +07:00
Dat Dang 342d2f295a TF-4282 Fix sort of web search suggestion (#4289) 2026-01-30 11:19:27 +07:00
dab246 88d217f787 TF-4274 Fix logic clear cache email in onBeforeUnloadBrowserListener 2026-01-29 18:00:36 +07:00
dab246 4b3a0692a9 TF-4274 Clear encryption keys with account cache. 2026-01-29 18:00:36 +07:00
dab246 18d9a47431 TF-4274 Avoid clearing all caches on refresh for non‑web platforms 2026-01-29 18:00:36 +07:00
dab246 b3e5ab0df4 fix(cnb): skip local email cache and add safe email/state cache clearing
(cherry picked from commit 0e7f589df58240badc1d2340e9856882aa075b63)
2026-01-29 18:00:36 +07:00
dab246 9d4f6e73d2 fix(cnb): Cannot clear email state cache when reload page
(cherry picked from commit a901206a7879d2f670d29be52ab4a297f1eb6c72)
2026-01-29 18:00:36 +07:00
dab246 74abbc47ab fix(cnb): delete email and state cache when F5 or reload button
(cherry picked from commit 520cd6c82fbdd5da0316861a5620060bfdf3f3af)
2026-01-29 18:00:36 +07:00
dab246 9760b6f077 TF-4243 Implement delete a label in presentation layer 2026-01-27 15:08:02 +07:00
dab246 5914877b1b TF-4243 Add Delete label action to context menu 2026-01-27 15:08:02 +07:00
dab246 1058b94363 TF-4236 Implement remove a label from an thread 2026-01-27 12:04:11 +07:00
dab246 f9ff9ecde7 TF-4229 Add isSelected && condition to non-RTL selectedIconWidget rendering to match RTL behavior. 2026-01-22 10:54:04 +07:00
dab246 916fee92c4 TF-4229 refactor(label-dropdown): extract checkbox icon and label text widgets 2026-01-22 10:54:04 +07:00
dab246 87341d7052 TF-4229 refactor(ui): optimize LabelDropDownButton widget structure and rebuild scope 2026-01-22 10:54:04 +07:00
dab246 cc508c210a TF-4229 Add quick search label filter button in dashboard view 2026-01-22 10:54:04 +07:00
dab246 a35b263dca TF-4229 Implement search by label filter in mobile 2026-01-22 10:54:04 +07:00