Skip to content

Conversation

@lmcmz
Copy link
Contributor

@lmcmz lmcmz commented Jan 1, 2026

Related Issue

Summary of Changes

Need Regression Testing

  • Yes
  • No

Risk Assessment

  • Low
  • Medium
  • High

Additional Notes

Screenshots (if applicable)

@lmcmz lmcmz requested a review from a team as a code owner January 1, 2026 05:17
@github-actions
Copy link

github-actions bot commented Jan 1, 2026

PR Summary

Fixed a logout issue that occurred when a key was available but no user profile existed. The changes refactored WalletManager.updateKeyProvider to no longer require a StoreUser parameter, and improved the logic for creating user store entries when they don't exist. Additionally, replaced the hardcoded Coinbase URL with a dynamic API call to fetch the onramp URL, and bumped the app version to 3.0.11.

Changes

File Summary
FRW.xcodeproj/project.pbxproj Updated MARKETING_VERSION from 3.0.10 to 3.0.11 across all targets. Removed empty inputPaths and outputPaths arrays from CocoaPods build phases. Changed OTHER_LDFLAGS from string to array format.
FRW/Modules/Buy/BuyProvderView.swift Replaced hardcoded Coinbase Pay URL with a new async launchCoinbase() function that fetches the onramp URL from FRWAPI.Utils.coinbase endpoint. Added Data and Session structs to decode the API response containing the onrampUrl.
FRW/Modules/Profile/DeveloperMode/DeveloperModeView.swift Added a new "Clear All Profiles (DEBUG)" button in the developer mode view that calls ProfileManager.shared.clearAllProfiles() and displays a success HUD message.
FRW/Services/Manager/UserManager.swift Removed storeUser parameter from all updateKeyProvider calls. Added LocalUserDefaults.shared.addUser(user:) call after updateKeyProvider in restoreLoginByPublicKey. Removed redundant StoreUser creation in restoreLoginByProfile.
FRW/Services/Manager/Wallet/WalletManager.swift Removed user store validation that triggered logout when profile was missing. Updated updateKeyProvider to only accept provider parameter. Enhanced updateUserAddress to create a new StoreUser if one doesn't exist for the current user ID and public key.
FRW/Services/Network/FRW/FRWAPI+Utils.swift Added new .coinbase(String) case to FRWAPI.Utils enum. Configured it to use Config.get(.lilicoWeb) as base URL, POST method to v4/onramp/coinbase path with address in request body. Simplified authorizationType and headers to return common values for all cases.

autogenerated by presubmit.ai

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

LGTM!

Review Summary

Commits Considered (1)
  • 51fad35: fix: logout issue when key is available but no profile
Files Processed (4)
  • FRW.xcodeproj/project.pbxproj (6 hunks)
  • FRW/Services/Manager/UserManager.swift (6 hunks)
  • FRW/Services/Manager/Wallet/WalletManager.swift (3 hunks)
  • Podfile.lock (7 hunks)
Actionable Comments (0)
Skipped Comments (3)
  • FRW/Services/Manager/Wallet/WalletManager.swift [269-273]

    possible issue: "Early return may skip key provider update when user exists."

  • FRW/Services/Manager/UserManager.swift [519-520]

    maintainability: "Inconsistent ordering of operations compared to other code paths."

  • FRW/Services/Manager/Wallet/WalletManager.swift [279-287]

    possible issue: "New user may be created with nil account key."

zhouxl
zhouxl previously approved these changes Jan 1, 2026
Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

LGTM!

Review Summary

Commits Considered (1)
Files Processed (1)
  • FRW.xcodeproj/project.pbxproj (14 hunks)
Actionable Comments (0)
Skipped Comments (0)

@zhouxl zhouxl self-requested a review January 1, 2026 06:24
Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

LGTM!

Review Summary

Commits Considered (1)
  • eb05d19: feat: revert podfile.lock
Files Processed (0)
Actionable Comments (0)
Skipped Comments (0)

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

🚨 Pull request needs attention.

Review Summary

Commits Considered (1)
Files Processed (4)
  • FRW.xcodeproj/project.pbxproj (18 hunks)
  • FRW/Modules/Buy/BuyProvderView.swift (2 hunks)
  • FRW/Modules/Profile/DeveloperMode/DeveloperModeView.swift (1 hunk)
  • FRW/Services/Network/FRW/FRWAPI+Utils.swift (4 hunks)
Actionable Comments (1)
  • FRW/Modules/Buy/BuyProvderView.swift [91-91]

    typo: "Fix typo in error message."

Skipped Comments (2)
  • FRW/Modules/Buy/BuyProvderView.swift [102-104]

    possible issue: "Missing error handling for invalid URL."

  • FRW/Modules/Profile/DeveloperMode/DeveloperModeView.swift [294-294]

    possible issue: "Destructive action lacks confirmation dialog."


private func launchCoinbase() async {
guard let address = WalletManager.shared.getPrimaryWalletAddress() else {
HUD.error(title: "Invaild Address")
Copy link

Choose a reason for hiding this comment

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

There's a typo in the error message: "Invaild" should be "Invalid".

@lmcmz lmcmz changed the base branch from hotfix/3.0.10 to dev January 2, 2026 02:00
@lmcmz lmcmz dismissed zhouxl’s stale review January 2, 2026 02:00

The base branch was changed.

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.

3 participants