stanig2106
3fda5649c3
rebrand: Workavia Mail (tier 1+2+3+4)
...
Build Docker images with Sentry / Build release image with Sentry (push) Failing after 1m59s
Release / Release (android, ubuntu-latest) (push) Failing after 38m31s
Release / Release (ios, macos-14) (push) Has been cancelled
Integration tests / Run integration tests for mobile apps (push) Failing after 15s
Build dev binaries / Build app (ios, macos-14) (push) Waiting to run
Build dev binaries / Build app (android, ubuntu-latest) (push) Failing after 34m13s
Tier 1+2 - web/UI user-facing:
- Replace all visible "Twake Mail" / "Linagora" with "Workavia Mail"
- Swap 3 logo SVGs (icon kept, wordmark replaced via SVG <text>)
- Splash: replace icon_twp.png with HTML <div>Workavia</div>
- Remove power_by_linagora.svg, replace with AGPL SourceLinkWidget
- Patch web/index.html, manifest.json, login/logout-callback HTMLs
- Patch all 16 ARB locales + scribe ARB + app_localizations.dart
- Patch 4 web/i18n/*.json (FR/EN/DE/VI smart banner titles)
- App grid reduced to "Mail" + "Calendar"
- User-Agent: Twake-Mail -> Workavia-Mail
Tier 3+4 - mobile native:
- Bundle ID: com.linagora.{android,ios}.teammail -> com.workavia.mail
- URL schemes consolidated: teammail.mobile/twakemail.mobile -> workaviamail.mobile
- Android: applicationId, namespace, AndroidManifest, strings.xml
- Android: move Kotlin sources com.linagora.android.tmail -> com.workavia.mail
- Android: empty branding.xml + android12branding.xml (vector text not patchable)
- iOS: Info.plist (CFBundleDisplayName/Name, schemes), Runner.entitlements
- iOS: TwakeMailNSE + TeamMailShareExtension entitlements + Info.plist
- iOS: Runner.xcodeproj (12x PRODUCT_BUNDLE_IDENTIFIER, 9x APP_GROUP_ID)
- iOS: TokenRefreshManager.swift redirect URLs
- iOS: fastlane Appfile + Matchfile
- Dart: oidc_constant, app_config keychain, notification MethodChannel
Known follow-ups (require user action):
- Apple Team ID KUT463DS29 (still Linagora) -> needs Workavia team for App Store
- Android branding.xml emptied: need PNG/path-converted wordmark for splash
- iOS sub-bundle paths (TwakeMailNSE/, TeamMailShareExtension/) on disk unchanged
- iOS App Store URL emptied; Play Store ID points to com.workavia.mail
2026-04-29 18:12:55 +02:00
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
Dat Vu
a693ceb456
[Part 2] TF-4308 Add Create new label button in ChooseLabelModal ( #4457 )
2026-04-17 16:51:49 +07:00
dab246
a80de79537
TF-4301 Deduping before append label to list
...
Signed-off-by: dab246 <tdvu@linagora.com >
2026-04-17 11:58:53 +07:00
dab246
5938df395c
TF-4301 Ensure that CreateNewLabelInteractor and EditLabelInteractor are always non-null before using them.
...
Signed-off-by: dab246 <tdvu@linagora.com >
2026-04-17 11:58:53 +07:00
dab246
8ac68ed1a5
TF-4301 Replace LabelModalMixin with direct methods in LabelController
2026-04-17 11:58:53 +07:00
dab246
2fd890f488
TF-4301 Block barrier dismissal while label creation is in progress
...
Wrap CreateNewLabelModal with PopScope(canPop: false) while the
creation request is in flight so that tapping the barrier
(barrierDismissible: true) cannot dispose the modal and cancel
the stream subscription before the result is delivered.
2026-04-17 11:58:53 +07:00
dab246
660c4f40e2
TF-4301 Address code review comments on label feature
...
- Make LabelModalMixin interactor getters non-nullable; remove force-unwraps at call sites
- Show positiveLabel and add semanticLabel in progressing button for accessibility
- Use timestamp-based label name in E2E scenario to prevent flakiness on reused accounts
- Guard labelAs action with isLabelAvailable check in SingleEmailController
- Don't pop back on label creation failure so users can retry without losing context
- Block modal dismissal while label creation request is in flight
- Null-guard email.id before toggling label in ThreadView::onCreateANewLabelAction
- Log stackTrace and rethrow in DialogRouter to distinguish errors from user cancel
2026-04-17 11:58:53 +07:00
dab246
232987ae0c
TF-4301 Extract onMoreActionClick callback into dedicated method in ThreadView
2026-04-17 11:58:53 +07:00
dab246
1b62990f28
TF-4301 Add E2E tests for label creation and tagging from email view
2026-04-17 11:58:53 +07:00
dab246
190ccc7bc3
TF-4301 Add "Create a new label" button in Label As menus and wire up tagging in email view
2026-04-17 11:58:53 +07:00
dab246
061793846e
fixup! TF-4308 Add NoLabelYetWidget for choose label modal
...
Signed-off-by: dab246 <tdvu@linagora.com >
2026-04-17 10:22:32 +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 Vu
c5eb4a011d
Cherry pick commit fix issue #4292 to master ( #4454 )
...
* Add folder info when open mail list from Label
(cherry picked from commit de0bb4ee02030ca90126766a8713a6826d791acd)
* Add unit test for `hasMailboxLabel` function in BaseEmailItemTile mixin
(cherry picked from commit 18f8d1847acccd6f95006b93903f0caa6c0408df)
* TF-4292 Add E2E test for test case `Add folder info when open mail list from Label` on mobile
(cherry picked from commit 1c209e333510db161522e4449ad7fb2e5d28399f)
2026-04-16 15:45:45 +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
Dang Dat
77c2ef745f
TF-4308 add domain state, interactor, model extensions, and localization
2026-04-14 17:16:10 +07:00
Dang Dat
979ba0f671
TF-4308 add data layer for addListLabelToListEmails
2026-04-14 17:16:10 +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
cb5d43630a
TF-4284 Fix refreshing causes "virtual mailboxes" to be hidden ( #4290 )
2026-04-10 15:29:04 +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
Dat Dang
61530b61c6
Reduce worker_manager memory allocation ( #4435 )
2026-04-09 18:26:19 +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
20f59da386
TF-4425 Fix load more not triggered on iOS 18 when fast scrolling to bottom ( #4428 )
2026-04-08 10:06:49 +07:00
dab246
2a3325ab7a
TF-4265 Add integration test for attachment reminder on mobile
2026-04-07 13:20:25 +07:00
dab246
74c0c75023
TF-4265 Refactor: Move Regex pattern generation to Main Thread to leverage static caching and reduce Isolate initialization overhead.
2026-04-07 13:20:25 +07:00
dab246
55e27c78ed
TF-4265 Additional config for include and exclude keywords
2026-04-07 13:20:25 +07:00
dab246
42fb24e6e5
TF-4265 Add include list to support custom keywords detection
2026-04-07 13:20:25 +07:00
dab246
1071bb49cf
TF-4265 Add exclude list support to AttachmentTextDetector
2026-04-07 13:20:25 +07:00
dab246
772a5e3219
TF-4265 Update logic matchedKeywordsUnique method and add some keywords file, files, file., file?, ....
2026-04-07 13:20:25 +07:00
dab246
c5401561ca
Add Keyboard shortcuts dictionary for close email detail view in Setting
2026-04-06 15:29:16 +07:00
Martin Kask
f78f78c659
Add ESC keyboard shortcut to close email detail view
...
Adds the ability to close the email detail/thread detail view by pressing
the ESC key, following the same pattern used for closing the composer.
Changes:
- Add closeThreadDetail to MailViewActionShortcutType enum
- Map ESC key to closeThreadDetail in AppShortcutManager
- Handle closeThreadDetail action in HandleMailShortcutActionsExtension
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-04-06 15:29:16 +07:00
Bùi Trung Hiếu
ea7b9fed33
[bugfix] TF-2316 Can not delete folder when its children are hidden ( #2519 )
2026-04-06 13:18:34 +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
1c87c3178b
TF-4392 [Team Mailbox] Allow delete folder according to my rights.
2026-04-01 18:08:12 +07:00
dab246
afeec2ca17
TF-4392 [Team Mailbox] Allow rename folder according to my rights.
2026-04-01 18:08:12 +07:00
dab246
6eb62347f1
TF-4392 [Team Mailbox] Allow create subfolder according to my rights.
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
2a58247b2b
feat: Use the displayed email id here, not only _currentEmailId.
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