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
This commit is contained in:
stanig2106
2026-04-29 18:12:55 +02:00
parent 97a8d0d95c
commit 3fda5649c3
57 changed files with 421 additions and 510 deletions
+17 -17
View File
@@ -6,7 +6,7 @@
"placeholders_order": [],
"placeholders": {}
},
"login_text_slogan": "Twake Mail",
"login_text_slogan": "V-Mail",
"@login_text_slogan": {
"type": "text",
"placeholders_order": [],
@@ -672,7 +672,7 @@
"placeholders_order": [],
"placeholders": {}
},
"app_name": "Twake Mail",
"app_name": "V-Mail",
"@app_name": {
"type": "text",
"placeholders_order": [],
@@ -822,7 +822,7 @@
"placeholders_order": [],
"placeholders": {}
},
"page_name": "Twake Mail",
"page_name": "V-Mail",
"@page_name": {
"type": "text",
"placeholders_order": [],
@@ -1240,7 +1240,7 @@
"placeholders_order": [],
"placeholders": {}
},
"languageSubtitle": "Définissez la langue de Twake Mail.",
"languageSubtitle": "Définissez la langue de V-Mail.",
"@languageSubtitle": {
"type": "text",
"placeholders_order": [],
@@ -1850,7 +1850,7 @@
"placeholders_order": [],
"placeholders": {}
},
"appTitlePushNotification": "Twake Mail",
"appTitlePushNotification": "V-Mail",
"@appTitlePushNotification": {
"type": "text",
"placeholders_order": [],
@@ -2102,7 +2102,7 @@
"placeholders_order": [],
"placeholders": {}
},
"textQuotasRunOutOfStorageContent": "Maintenant, vous ne pouvez temporairement pas envoyer ou recevoir d'e-mail. Veuillez libérer ou mettre à niveau votre espace de stockage pour bénéficier de toutes les fonctionnalités de Twake Mail.",
"textQuotasRunOutOfStorageContent": "Maintenant, vous ne pouvez temporairement pas envoyer ou recevoir d'e-mail. Veuillez libérer ou mettre à niveau votre espace de stockage pour bénéficier de toutes les fonctionnalités de V-Mail.",
"@textQuotasRunOutOfStorageContent": {
"type": "text",
"placeholders_order": [],
@@ -2234,7 +2234,7 @@
"placeholders_order": [],
"placeholders": {}
},
"textQuotasRunningOutOfStorageContent": "Bientôt, vous ne pourrez plus envoyer d'e-mails via Twake Mail. Veuillez nettoyer votre stockage ou mettre à niveau votre stockage pour obtenir toutes les fonctionnalités de Twake Mail.",
"textQuotasRunningOutOfStorageContent": "Bientôt, vous ne pourrez plus envoyer d'e-mails via V-Mail. Veuillez nettoyer votre stockage ou mettre à niveau votre stockage pour obtenir toutes les fonctionnalités de V-Mail.",
"@textQuotasRunningOutOfStorageContent": {
"type": "text",
"placeholders_order": [],
@@ -2912,7 +2912,7 @@
"placeholders_order": [],
"placeholders": {}
},
"quotaWarningBannerMessage": "Bientôt, vous ne pourrez plus envoyer de messages dans Twake Mail. Veuillez nettoyer ou mettre à niveau votre stockage pour bénéficier de toutes les fonctionnalités de Twake Mail.",
"quotaWarningBannerMessage": "Bientôt, vous ne pourrez plus envoyer de messages dans V-Mail. Veuillez nettoyer ou mettre à niveau votre stockage pour bénéficier de toutes les fonctionnalités de V-Mail.",
"@quotaWarningBannerMessage": {
"type": "text",
"placeholders_order": [],
@@ -3006,7 +3006,7 @@
"placeholders_order": [],
"placeholders": {}
},
"quotaErrorBannerMessage": "Bientôt, vous ne pourrez plus envoyer de messages dans Twake Mail. Veuillez nettoyer ou mettre à niveau votre stockage pour bénéficier de toutes les fonctionnalités de Twake Mail.",
"quotaErrorBannerMessage": "Bientôt, vous ne pourrez plus envoyer de messages dans V-Mail. Veuillez nettoyer ou mettre à niveau votre stockage pour bénéficier de toutes les fonctionnalités de V-Mail.",
"@quotaErrorBannerMessage": {
"type": "text",
"placeholders_order": [],
@@ -3698,7 +3698,7 @@
"placeholders_order": [],
"placeholders": {}
},
"bannerProgressingRecoveryMessage": "La récupération est en cours. Vous pouvez continuer à utiliser Twake Mail",
"bannerProgressingRecoveryMessage": "La récupération est en cours. Vous pouvez continuer à utiliser V-Mail",
"@bannerProgressingRecoveryMessage": {
"type": "text",
"placeholders_order": [],
@@ -4048,7 +4048,7 @@
"placeholders_order": [],
"placeholders": {}
},
"pleaseAllowNotifications": "Veuillez autoriser les notifications de Twake Mail dans les réglages de l'appareil",
"pleaseAllowNotifications": "Veuillez autoriser les notifications de V-Mail dans les réglages de l'appareil",
"@pleaseAllowNotifications": {
"type": "text",
"placeholders_order": [],
@@ -4090,7 +4090,7 @@
"placeholders_order": [],
"placeholders": {}
},
"allowsTwakeMailToNotifyYouWhenANewMessageArrivesOnYourPhone": "Permet à Twake Mail de vous avertir quand un nouveau message arrive sur votre téléphone",
"allowsTwakeMailToNotifyYouWhenANewMessageArrivesOnYourPhone": "Permet à V-Mail de vous avertir quand un nouveau message arrive sur votre téléphone",
"@allowsTwakeMailToNotifyYouWhenANewMessageArrivesOnYourPhone": {
"type": "text",
"placeholders_order": [],
@@ -4282,7 +4282,7 @@
"placeholders_order": [],
"placeholders": {}
},
"createTwakeId": "Créer un Twake ID",
"createTwakeId": "Créer un Workavia ID",
"@createTwakeId": {
"type": "text",
"placeholders_order": [],
@@ -4306,7 +4306,7 @@
"placeholders_order": [],
"placeholders": {}
},
"createTwakeIdFailed": "Échec de la création d'un Twake ID. Veuillez réessayer.",
"createTwakeIdFailed": "Échec de la création d'un Workavia ID. Veuillez réessayer.",
"@createTwakeIdFailed": {
"type": "text",
"placeholders_order": [],
@@ -5012,7 +5012,7 @@
"placeholders_order": [],
"placeholders": {}
},
"quotaBannerWarningSubtitleWithPremium": "Pour continuer d'envoyer des messages et profiter de l'ensemble des fonctionnalités de Twake mail, veuillez nettoyer ou augmenter votre espace de stockage.",
"quotaBannerWarningSubtitleWithPremium": "Pour continuer d'envoyer des messages et profiter de l'ensemble des fonctionnalités de Workavia mail, veuillez nettoyer ou augmenter votre espace de stockage.",
"@quotaBannerWarningSubtitleWithPremium": {
"type": "text",
"placeholders_order": [],
@@ -5024,7 +5024,7 @@
"placeholders_order": [],
"placeholders": {}
},
"quotaBannerWarningSubtitleWithoutPremium": "Pour continuer à envoyer vos messages et profiter de l'ensemble des fonctionnalités de Twake Mail, veuillez nettoyer votre boîte mail.",
"quotaBannerWarningSubtitleWithoutPremium": "Pour continuer à envoyer vos messages et profiter de l'ensemble des fonctionnalités de V-Mail, veuillez nettoyer votre boîte mail.",
"@quotaBannerWarningSubtitleWithoutPremium": {
"type": "text",
"placeholders_order": [],
@@ -5456,7 +5456,7 @@
"placeholders_order": [],
"placeholders": {}
},
"manageYourTwakeAccount": "Gestion de votre compte Twake",
"manageYourTwakeAccount": "Gestion de votre compte Workavia",
"@manageYourTwakeAccount": {
"type": "text",
"placeholders_order": [],