Skip to content

Update Flutter SDK docs for web3auth_flutter v8 - #3083

Closed
yashovardhan wants to merge 2 commits into
mainfrom
claude/flutter-sdk-docs-update-a9db9a
Closed

yashovardhan wants to merge 2 commits into
mainfrom
claude/flutter-sdk-docs-update-a9db9a

Conversation

@yashovardhan

@yashovardhan yashovardhan commented Nov 5, 2026 •

Copy link
Copy Markdown
Member

Description

Updates the Embedded Wallets Flutter documentation to match web3auth_flutter 8.0.0 (Auth v11 / Wallet Services v6, Android native 11.0.0, iOS native Web3Auth 13.0.0 via Swift Package Manager). Verified against the SDK source on Web3Auth/web3auth-flutter-sdk master and Web3Auth/web3auth-flutter-examples main.

Migration guide

  • Rewrote migration-guides/flutter as a v8 guide covering v3 through v7: AI prompt, install steps, v8 breaking changes, new APIs table, and a v8 column in the summary table.
  • Updated the Flutter row in the migration guides overview (v8, v3 through v7).

Flutter SDK reference

  • Version ^8.0.0; documented the iOS Swift Package Manager requirement (the plugin podspec no longer declares a CocoaPods Web3Auth dependency) and Xcode 15+.
  • Removed MFALevel.DEFAULT (removed in v8) and fixed the MFA settings example, which didn't compile.
  • sessionTime is optional and defaults to the dashboard value.
  • Wrapped initialize() in try/catch in all samples (it throws when no session is active).
  • Completed the Web3AuthOptions, WhiteLabelData (tncLink, privacyPolicy), WalletServicesConfig (enableKeyExport), Chains, LoginParams (recordId, loginSource), and Web3AuthResponse references.
  • New usage pages: getAccessToken, getIdentityToken, refreshSession, getWeb3AuthResponse; documented getUserInfoAsync. Sidebar updated.
  • Dapp share example now uses a custom connection, matching its own note.

Elsewhere

  • SocialLoginExamples and PasswordlessLoginExamples rendered the pre-v7 Flutter API (Web3AuthFlutter.login / Provider.x) on every social and passwordless auth page; now connectTo with AuthConnection.
  • Flutter quickstart: version, iOS prerequisites (SPM), sign-out wording.
  • Flutter wallet tutorial and Solana Flutter page: v8 API fixes, session default, initialize() call.

Verified against the native SDKs

All behavior below was checked against web3auth-android-sdk 11.0.0 and web3auth-swift-sdk 13.0.0, the versions 8.0.0 pins.

  • enableMFA / manageMFA throw for sessions created with idToken (ENABLE_MFA_NOT_ALLOWED / enabledMfaNotAllowed), so the docs no longer suggest passing idToken.
  • getEd25519PrivateKey throws without a session; only getPrivateKey returns "", so it is the documented session check.
  • Dapp share requires the OAuth flow; idToken takes the SFA path, which ignores dappShare.
  • On Android every connectTo failure is UserCancelledException; on iOS it is a PlatformException (LoginFailedException).
  • Android passes only the first chains entry to the native SDK; iOS passes all.
  • SPM is required and on by default in recent Flutter (verified on 3.44.8); the flutter config flag is documented as a fallback.
  • sessionTime defaults to 30 days (or the dashboard value when set); enableKeyExport falls back to the dashboard setting (default false).

Known SDK-side issues (not docs)

  • The SDK's Dart doc comment says getEd25519PrivateKey returns an empty string when signed out; it throws.
  • The examples repo README says enableMFA() / manageMFA() take no arguments and still instructs pod install.

Issue(s) fixed

N/A

Preview

Key pages:

  • /embedded-wallets/migration-guides/flutter/
  • /embedded-wallets/sdk/flutter/
  • /embedded-wallets/sdk/flutter/advanced/
  • /embedded-wallets/sdk/flutter/usage/

Local npm run build succeeds with no broken links; scripts/docs-pre-commit-check.sh passes (Vale: 0 errors).

Checklist

  • If this PR updates or adds documentation content that changes or adds technical meaning, it has received an approval from an engineer or DevRel from the relevant team.
  • If this PR updates or adds documentation content, it has received an approval from a technical writer.

Align the Embedded Wallets Flutter documentation with web3auth_flutter 8.0.0
(Auth v11 / Wallet Services v6, Android native 11.0.0, iOS native 13.0.0).

- Rewrite the Flutter migration guide for v8 (covers v3 through v7).
- Document Swift Package Manager requirement for iOS.
- Remove MFALevel.DEFAULT and fix the MFA settings example.
- Make sessionTime optional (dashboard value by default).
- Wrap initialize() in try/catch across samples.
- Complete the Web3AuthOptions, WhiteLabelData, WalletServicesConfig,
  Chains, LoginParams, and Web3AuthResponse references.
- Add usage pages for getAccessToken, getIdentityToken, refreshSession,
  and getWeb3AuthResponse; document getUserInfoAsync.
- Update Flutter snippets in SocialLoginExamples and
  PasswordlessLoginExamples from the pre-v7 login API to connectTo.
- Update the Flutter quickstart, tutorial, and Solana page.
@vercel

vercel Bot commented Nov 5, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
metamask-docs Ready Ready Preview Nov 9, 2026 5:16pm UTC

Request Review

Verified against web3auth-android-sdk 11.0.0 and web3auth-swift-sdk 13.0.0,
the versions web3auth_flutter 8.0.0 pins.

- enableMFA/manageMFA: remove idToken guidance; both throw for sessions
  created with idToken (ENABLE_MFA_NOT_ALLOWED / enabledMfaNotAllowed).
- getEd25519PrivateKey throws without a session; use getPrivateKey as the
  session check on the Solana page and in the tutorial.
- Dapp share examples use the OAuth custom-connection flow; idToken takes
  the SFA path, which ignores dappShare.
- connectTo errors: Android maps all failures to UserCancelledException,
  iOS returns PlatformException (LoginFailedException). Drop UnKnownException
  and use PlatformException in showWalletUI/request/MFA samples.
- SPM is on by default in recent Flutter (3.44); keep the flag as fallback
  and set the deployment target on the Runner target.
- sessionTime: lead with the 30-day default.
- Note iOS project-config failures surface from init, refreshSession
  failure clears the session, manageMFA requires MFA enabled, and the
  enableKeyExport dashboard fallback.
- Restore the Flutter custom authentication link, fix tutorial wording,
  wrap initialize() in auth0/firebase samples, and note sample imports.
@yashovardhan

Copy link
Copy Markdown
Member Author

Superseded by #3086, which combines this branch with the other Embedded Wallets SDK docs updates and the rebrand into one PR for review. No further changes should land here.

This branch was successfully deployed

1 active deployment
Preview — ff60d019 Deployed Nov 9, 2026 by vercel[bot]
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