Skip to content

[LWM] refactor(mobile): remove llmRebornABtest feature flag#18962

Open
jiyuzhuang wants to merge 1 commit into
developfrom
feat/LIVE-31488
Open

[LWM] refactor(mobile): remove llmRebornABtest feature flag#18962
jiyuzhuang wants to merge 1 commit into
developfrom
feat/LIVE-31488

Conversation

@jiyuzhuang

@jiyuzhuang jiyuzhuang commented Jun 24, 2026

Copy link
Copy Markdown
Contributor

✅ Checklist

  • npx changeset was attached.
  • Covered by automatic tests.
  • Impact of the changes:
    • Post-welcome onboarding: “I don’t have a Ledger yet” flow on mobile
    • Read-only onboarding Detox e2e path
    • Feature flag registry and @ledgerhq/types-live types

📝 Description

The Reborn URL A/B on LWM post-welcome onboarding is fully rolled out behind llmRebornABtest. This PR removes the flag and the legacy code paths.
Problem: llmRebornABtest gated whether tapping “I don’t have a Ledger yet” opened the Reborn URL or a legacy upsell modal (NoLedgerYetModal). The experiment is complete; the flag and dead code add maintenance overhead.
Solution:

  • Removed llmRebornABtest from @shared/feature-flags, @ledgerhq/types-live, and the mobile app
  • postWelcomeSelection always opens the localized Reborn URL in production
  • Deleted NoLedgerYetModal (no longer reachable)
  • Updated Detox page objects: read-only e2e keeps discover-live navigation under DETOX_ENABLED
  • @shared/feature-flags suite: 85 tests passing
    Note: Coordinate Firebase remote config removal of llmRebornABtest with the config owner.

❓ Context


🧐 Checklist for the PR Reviewers

  • The code aligns with the requirements described in the linked JIRA or GitHub issue.
  • The PR description clearly documents the changes made and explains any technical trade-offs or design decisions.
  • There are no undocumented trade-offs, technical debt, or maintainability issues.
  • The PR has been tested thoroughly, and any potential edge cases have been considered and handled.
  • Any new dependencies have been justified and documented.
  • Performance considerations have been taken into account. (changes have been profiled or benchmarked if necessary)

@jiyuzhuang jiyuzhuang self-assigned this Jun 24, 2026
@live-github-bot live-github-bot Bot added mobile Has changes in LLM ledgerjs Has changes in the ledgerjs open source libs translations Translation files have been touched labels Jun 24, 2026
@jiyuzhuang jiyuzhuang marked this pull request as ready for review June 24, 2026 17:51
@jiyuzhuang jiyuzhuang requested a review from a team as a code owner June 24, 2026 17:51
Copilot AI review requested due to automatic review settings June 24, 2026 17:51
@jiyuzhuang jiyuzhuang requested review from a team as code owners June 24, 2026 17:51
@live-github-bot live-github-bot Bot changed the title refactor(mobile): remove llmRebornABtest feature flag [LWM] refactor(mobile): remove llmRebornABtest feature flag Jun 24, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR removes the llmRebornABtest feature flag and its legacy onboarding path in Ledger Live Mobile, making “I don’t have a Ledger yet” consistently open the localized Reborn URL in production while keeping the Detox read-only e2e path intact.

Changes:

  • Removed the llmRebornABtest flag from @shared/feature-flags and @ledgerhq/types-live.
  • Simplified mobile post-welcome onboarding to always open the localized Reborn URL (with a Detox-only navigation path for e2e).
  • Deleted the now-unreachable NoLedgerYetModal and updated Detox page objects accordingly.

Reviewed changes

Copilot reviewed 9 out of 9 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
shared/feature-flags/src/flags/team-engagement/llmRebornABtest.ts Removes the flag definition.
shared/feature-flags/src/flags/team-engagement/index.ts Stops exporting the removed flag.
libs/ledgerjs/packages/types-live/src/feature.ts Removes llmRebornABtest from the Features type.
apps/ledger-live-mobile/src/screens/Onboarding/steps/postWelcomeSelection.tsx Removes flag-gated logic and modal usage; adds Detox-specific navigation behavior.
apps/ledger-live-mobile/src/screens/Onboarding/steps/NoLedgerYetModal.tsx Deletes the legacy modal component.
apps/ledger-live-mobile/src/locales/en/common.json Removes translation keys tied to the deleted modal/legacy path.
e2e/mobile/page/onboarding/onboardingSteps.page.ts Updates Detox flow to account for modal removal.
apps/ledger-live-mobile/e2e/page/onboarding/onboardingSteps.page.ts Updates app-scoped Detox flow to account for modal removal.
.changeset/remove-llm-reborn-abtest.md Adds a changeset documenting the removal.

Comment on lines +58 to 60
useFocusEffect(() => {
identifyUser(null);
});
track("button_clicked", {
button: "I don’t have a Ledger yet",
});
// ponytail: DETOX keeps discover-live read-only e2e path; prod opens Reborn URL
@github-actions

github-actions Bot commented Jun 24, 2026

Copy link
Copy Markdown
Contributor

Web Tools Build Status

Build Status Deployment
Web Tools Build ✅ Deployed https://web-tools-9n1kuhwel-ledger-hq-prd.vercel.app
Native Storybook Build ⏭️ Skipped
React Storybook Build ⏭️ Skipped

@github-actions

Copy link
Copy Markdown
Contributor

⚠️ E2E tests are required

Changes detected require e2e testing before merge (even before asking for any review).

🖥️ Desktop

-> Run Desktop E2E

  • Select "Run workflow"
  • Branch: feat/LIVE-31488
  • Device: nanoSP or stax

📱 Mobile

-> Run Mobile E2E

  • Select "Run workflow"
  • Branch: feat/LIVE-31488
  • Device: nanoX

@github-actions

Copy link
Copy Markdown
Contributor

Rsdoctor Bundle Diff Analysis

Found 7 projects in monorepo, 7 projects with changes.

📊 Quick Summary
Project Total Size Change
desktop-main 2.6 MB -
desktop-preloader 7.1 KB -
desktop-renderer 81.2 MB -
desktop-webviewDappPreloader 36.9 KB -
desktop-webviewPreloader 0 B -
desktop-workers 36.8 KB -
mobile 258.5 MB -
📋 Detailed Reports (Click to expand)

📁 desktop-main

Path: rsdoctor/desktop-main/rsdoctor-data.json

⚠️ No baseline data found - Unable to perform comparison analysis

Metric Current Baseline Change
📊 Total Size 2.6 MB - -
📄 JavaScript 2.4 MB - -
🎨 CSS 0 B - -
🌐 HTML 0 B - -
📁 Other Assets 135.3 KB - -

📁 desktop-preloader

Path: rsdoctor/desktop-preloader/rsdoctor-data.json

⚠️ No baseline data found - Unable to perform comparison analysis

Metric Current Baseline Change
📊 Total Size 7.1 KB - -
📄 JavaScript 5.3 KB - -
🎨 CSS 0 B - -
🌐 HTML 0 B - -
📁 Other Assets 1.8 KB - -

📁 desktop-renderer

Path: rsdoctor/desktop-renderer/rsdoctor-data.json

⚠️ No baseline data found - Unable to perform comparison analysis

Metric Current Baseline Change
📊 Total Size 81.2 MB - -
📄 JavaScript 28.9 MB - -
🎨 CSS 172.6 KB - -
🌐 HTML 1.8 KB - -
📁 Other Assets 52.2 MB - -

📁 desktop-webviewDappPreloader

Path: rsdoctor/desktop-webviewDappPreloader/rsdoctor-data.json

⚠️ No baseline data found - Unable to perform comparison analysis

Metric Current Baseline Change
📊 Total Size 36.9 KB - -
📄 JavaScript 36.9 KB - -
🎨 CSS 0 B - -
🌐 HTML 0 B - -
📁 Other Assets 0 B - -

📁 desktop-webviewPreloader

Path: rsdoctor/desktop-webviewPreloader/rsdoctor-data.json

⚠️ No baseline data found - Unable to perform comparison analysis

Metric Current Baseline Change
📊 Total Size 0 B - -
📄 JavaScript 0 B - -
🎨 CSS 0 B - -
🌐 HTML 0 B - -
📁 Other Assets 0 B - -

📁 desktop-workers

Path: rsdoctor/desktop-workers/rsdoctor-data.json

⚠️ No baseline data found - Unable to perform comparison analysis

Metric Current Baseline Change
📊 Total Size 36.8 KB - -
📄 JavaScript 36.8 KB - -
🎨 CSS 0 B - -
🌐 HTML 0 B - -
📁 Other Assets 0 B - -

📁 mobile

Path: rsdoctor/mobile/rsdoctor-data.json

⚠️ No baseline data found - Unable to perform comparison analysis

Metric Current Baseline Change
📊 Total Size 258.5 MB - -
📄 JavaScript 108.6 MB - -
🎨 CSS 0 B - -
🌐 HTML 0 B - -
📁 Other Assets 149.9 MB - -

Generated by Rsdoctor GitHub Action

@sonarqubecloud

Copy link
Copy Markdown

Quality Gate Failed Quality Gate failed

Failed conditions
4 New Code Smells (required ≤ 1)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ledgerjs Has changes in the ledgerjs open source libs mobile Has changes in LLM translations Translation files have been touched

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants