-
Notifications
You must be signed in to change notification settings - Fork 3.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(auth, web): migrate web to js_interop to be compatible with WASM #12145
Conversation
packages/firebase_auth/firebase_auth_web/lib/src/firebase_auth_web_user.dart
Outdated
Show resolved
Hide resolved
Future<void> linkWithRedirect(AuthProvider provider) => | ||
auth_interop.linkWithRedirect(jsObject, provider.jsObject).toDart; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Future<void> linkWithRedirect(AuthProvider provider) => | |
auth_interop.linkWithRedirect(jsObject, provider.jsObject).toDart; | |
Future<void> linkWithRedirect(AuthProvider provider) => | |
auth_interop.linkWithRedirect(jsObject, provider.jsObject).toDart as Future<void>; |
Is this correct?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
When you run .toDart, it is interpreted as Future which includes Future so casting isn't necessary
|
||
/// If signed in, it refreshes the current user. | ||
Future<void> reload() => handleThenable(jsObject.reload()); | ||
Future<void> reload() => jsObject.reload().toDart; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I see as Future<void>
isn't needed on other API with this type so perhaps it isn't needed like the others returning a type as opposed to void.
if (e.name == 'FirebaseError') { | ||
String code = e.code ?? ''; | ||
String message = e.message ?? ''; | ||
if (code.startsWith('auth/')) return false; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are these checks correct? In the previous version of this, the checks were
if (code == null || !code.startsWith('auth/')) return false;
if (message == null || !message.contains('Firebase')) return false;
Now it is inverted to return false if the message contains Firebase
, which seems wrong?
Description
Replace this paragraph with a description of what this PR is doing. If you're modifying existing behavior, describe the existing behavior, how this PR is changing it, and what motivated the change.
Related Issues
#12027
Checklist
Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes (
[x]
).This will ensure a smooth and quick review process. Updating the
pubspec.yaml
and changelogs is not required.///
).melos run analyze
) does not report any problems on my PR.Breaking Change
Does your PR require plugin users to manually update their apps to accommodate your change?