Commit Graph

746 Commits

Author SHA1 Message Date
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 b98c76e72a TF-4269 Fix Sentry
release version: keep full version including -rc suffix

      Use full pubspec version (e.g. 0.28.3-rc08) as SENTRY_RELEASE for both
      Android and iOS, matching the version the app reports at runtime.
      Validation still compares base versions only (strips -rc suffix) to
      allow rc tags to match the base version in pubspec.
2026-04-21 13:18:36 +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 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 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 35b46ff21b TF-4308 Add NoLabelYetWidget for choose label modal
Signed-off-by: dab246 <tdvu@linagora.com>
2026-04-17 10:22:32 +07:00
Dang Dat 77c2ef745f TF-4308 add domain state, interactor, model extensions, and localization 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 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 2a666056c2 TF-4268 Refactor app runner: split web/mobile runners, add platform error handlers 2026-04-09 14:16:41 +07:00
dab246 55e27c78ed TF-4265 Additional config for include and exclude keywords 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
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 4c837ed9cf TF-4370 Add Description field to Create new Label modal 2026-03-25 19:45:46 +07:00
Théo Poizat 83452277b7 Use own Dio instance for prompt service 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
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 b7594a4adb fix: The message field in UnknownRemoteException is typed as String? and the condition will always be false. 2026-03-10 11:06:16 +07:00
dab246 572bf6ba81 fix: The code parameter must be propagated through the inheritance chain. 2026-03-10 11:06:16 +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
Dat H. Pham 236ad5f075 Override props method for CacheException 2026-03-10 11:06:16 +07:00
Dat H. Pham 3e39f59f20 Fixup Constant some token exception 2026-03-10 11:06:16 +07:00
dab246 437c46f5ff fix(sentry): resolve minified exception types on web release 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 777b47159d TF-4354 Remove all logic related to Label Visibility in Settings 2026-03-05 10:32:56 +07:00
dab246 987ea410c5 feat: Implement get label changes 2026-03-05 10:32:56 +07:00
dab246 ada44dd5d0 fix(auth): handle 400 error during token refresh flow 2026-02-10 16:58:58 +07:00
dab246 616a9247e8 fix(cnb): add FORCE_EMAIL_QUERY to env.file
(cherry picked from commit 90347a845e58502b8486baa31bc079a23fab0e0e)
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 997c558b91 TF-4236 Fix minor: Filename uses grammatically incorrect article. 2026-01-27 12:04:11 +07:00
dab246 879b18bc45 TF-4236 Fix guard delete UI when no handler is provided. 2026-01-27 12:04:11 +07:00
dab246 1058b94363 TF-4236 Implement remove a label from an thread 2026-01-27 12:04:11 +07:00
dab246 3ef66bbbda TF-4236 Implement remove a label from an email when unselect in context menu Label as 2026-01-27 12:04:11 +07:00
dab246 bac101021e TF-4233 Implement edit label action 2026-01-26 09:13:54 +07:00
dab246 0302e09981 TF-4233 Show popup menu when click three dot on label item 2026-01-26 09:13:54 +07:00
dab246 7839e6b339 TF-4229 Add widget for label search field 2026-01-22 10:54:04 +07:00
dab246 f9675556cb TF-4227 Update the correct message for the Tag when there are no emails. 2026-01-19 11:34:43 +07:00
dab246 94fd6f8071 TF-4195 Add Label to Thread 2026-01-19 11:34:43 +07:00
dab246 e8b2c1d2a5 TF-4195 Fix comments of coderabbit 2026-01-19 11:34:43 +07:00
dab246 0076a7af57 TF-4195 Implement add a Label to an email on mobile 2026-01-19 11:34:43 +07:00
dab246 78de7de3a6 TF-4195 Implement add a Label to an email 2026-01-19 11:34:43 +07:00
dab246 03b3d1181f TF-4195 Add Label as to email context menu 2026-01-19 11:34:43 +07:00
dab246 10038a3836 TF-4193 Handle multi click to enable Label visibility feature 2026-01-19 11:34:43 +07:00
dab246 d1cd9efbab TF-4193 Add Label to Preferences in Setting 2026-01-19 11:34:43 +07:00
dab246 95831054b2 TF-4178 Fix Nitpick comments from coderabbit 2026-01-19 11:34:43 +07:00
dab246 6c959fcf81 TF-4178 Implement create new label 2026-01-19 11:34:43 +07:00
dab246 8f1da20e54 TF-4178 Add color picker modal 2026-01-19 11:34:43 +07:00