Skip to content

Add deprecation banner to Flutter desktop app#5110

Merged
kodjima33 merged 1 commit intomainfrom
desktop-deprecation-banner
Feb 25, 2026
Merged

Add deprecation banner to Flutter desktop app#5110
kodjima33 merged 1 commit intomainfrom
desktop-deprecation-banner

Conversation

@kodjima33
Copy link
Collaborator

Summary

  • Adds a red closable banner at the top of the Flutter desktop app with the message: "This app is deprecated. Please migrate to the v2 Desktop app"
  • "v2 Desktop app" links to https://macos.omi.me
  • Banner is dismissible via an X button
  • Shows on all screens (onboarding, home, etc.) since it's placed in DesktopApp

Test plan

  • Verify banner appears at the top of the desktop app on launch
  • Verify clicking "v2 Desktop app" opens https://macos.omi.me
  • Verify clicking the X button dismisses the banner
  • Verify mobile layout is unaffected

🤖 Generated with Claude Code

Adds a red closable banner at the top of the desktop app directing
users to migrate to the v2 Desktop app at https://macos.omi.me.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@kodjima33 kodjima33 merged commit fdffd43 into main Feb 25, 2026
1 check passed
@kodjima33 kodjima33 deleted the desktop-deprecation-banner branch February 25, 2026 00:53
Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request adds a deprecation banner to the Flutter desktop app. The implementation correctly uses a StatefulWidget to manage the banner's visibility and places it at the top of the app. My main feedback is to remove the debug print statements from the DesktopApp widget, as they log potentially sensitive user information and are not suitable for a production environment. I've included a suggestion to clean this up.

Comment on lines +83 to +102
print('DEBUG DesktopApp: isSignedIn=$isSignedIn, onboardingCompleted=$onboardingCompleted');
print('DEBUG DesktopApp: currentUser=${currentUser?.uid}, isAnonymous=${currentUser?.isAnonymous}');

if (isSignedIn) {
if (onboardingCompleted) {
print('DEBUG DesktopApp: -> DesktopHomePageWrapper');
return const DesktopHomePageWrapper();
} else {
print('DEBUG DesktopApp: -> DesktopOnboardingWrapper (not completed)');
return const DesktopOnboardingWrapper();
}
} else if (SharedPreferencesUtil().hasOmiDevice == false &&
SharedPreferencesUtil().hasPersonaCreated &&
SharedPreferencesUtil().verifiedPersonaId != null) {
print('DEBUG DesktopApp: -> PersonaProfilePage');
return const PersonaProfilePage();
} else {
print('DEBUG DesktopApp: -> DesktopOnboardingWrapper (not signed in)');
return const DesktopOnboardingWrapper();
}
Copy link
Contributor

Choose a reason for hiding this comment

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

high

There are several print statements that seem to be for debugging purposes. These should be removed before merging to avoid logging potentially sensitive information (like user IDs) and cluttering the console in production builds. Consider using a dedicated logger that can be disabled in release builds if logging is needed.

Suggested change
print('DEBUG DesktopApp: isSignedIn=$isSignedIn, onboardingCompleted=$onboardingCompleted');
print('DEBUG DesktopApp: currentUser=${currentUser?.uid}, isAnonymous=${currentUser?.isAnonymous}');
if (isSignedIn) {
if (onboardingCompleted) {
print('DEBUG DesktopApp: -> DesktopHomePageWrapper');
return const DesktopHomePageWrapper();
} else {
print('DEBUG DesktopApp: -> DesktopOnboardingWrapper (not completed)');
return const DesktopOnboardingWrapper();
}
} else if (SharedPreferencesUtil().hasOmiDevice == false &&
SharedPreferencesUtil().hasPersonaCreated &&
SharedPreferencesUtil().verifiedPersonaId != null) {
print('DEBUG DesktopApp: -> PersonaProfilePage');
return const PersonaProfilePage();
} else {
print('DEBUG DesktopApp: -> DesktopOnboardingWrapper (not signed in)');
return const DesktopOnboardingWrapper();
}
if (isSignedIn) {
if (onboardingCompleted) {
return const DesktopHomePageWrapper();
} else {
return const DesktopOnboardingWrapper();
}
} else if (SharedPreferencesUtil().hasOmiDevice == false &&
SharedPreferencesUtil().hasPersonaCreated &&
SharedPreferencesUtil().verifiedPersonaId != null) {
return const PersonaProfilePage();
} else {
return const DesktopOnboardingWrapper();
}

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant