Skip to content

Release/2026 10 25 - #735

Closed
gnomezgrave wants to merge 206 commits into
firebase:bump-ff-versionsfrom
gnomezgrave:release/2026-10-25
Closed

gnomezgrave wants to merge 206 commits into
firebase:bump-ff-versionsfrom
gnomezgrave:release/2026-10-25

Conversation

@gnomezgrave

Copy link
Copy Markdown

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

Replace this paragraph with a list of issues related to this PR from the issue database. Indicate, which of these issues are resolved or fixed by this PR.

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.

  • I read the Contributor Guide and followed the process outlined there for submitting PRs.
  • My PR includes unit or integration tests for all changed/updated/fixed behaviors (See Contributor Guide).
  • All existing and new tests are passing.
  • I updated/added relevant documentation (doc comments with ///).
  • The analyzer (melos run analyze) does not report any problems on my PR.
  • All unit tests pass (melos run test:unit:all doesn't fail).
  • I read and followed the Flutter Style Guide.
  • I signed the CLA.
  • I am willing to follow-up on review comments in a timely manner.

Breaking Change

Does your PR require plugin users to manually update their apps to accommodate your change?

  • Yes, this is a breaking change.
  • No, this is not a breaking change.

KoheiKanagu and others added 30 commits December 22, 2023 16:26
# Conflicts:
#	tests/linux/flutter/generated_plugin_registrant.cc
#	tests/linux/flutter/generated_plugins.cmake
#	tests/windows/flutter/generated_plugin_registrant.cc
#	tests/windows/flutter/generated_plugins.cmake
Merge branch 'firebase:main' into 'MahMoos:fix_sign_in_with_apple_ar_translation'
…se#300)

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…rebase#271)

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…se#299)

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
gnomezgrave and others added 26 commits October 23, 2026 16:36
feat: Port Firebase UI to Forui (forui_firebase_ui_* 0.1.0)
 - forui_firebase_ui_auth@0.2.0
 - forui_firebase_ui_database@0.2.0
 - forui_firebase_ui_firestore@0.2.0
 - forui_firebase_ui_localizations@0.2.0
 - forui_firebase_ui_oauth@0.2.0
 - forui_firebase_ui_oauth_apple@0.2.0
 - forui_firebase_ui_oauth_facebook@0.2.0
 - forui_firebase_ui_oauth_google@0.2.0
 - forui_firebase_ui_oauth_twitter@0.2.0
 - forui_firebase_ui_shared@0.1.1
 - forui_firebase_ui_storage@0.2.0
 - forui_firebase_ui_auth@0.3.0
 - forui_firebase_ui_database@0.3.0
 - forui_firebase_ui_firestore@0.3.0
 - forui_firebase_ui_localizations@0.3.0
 - forui_firebase_ui_oauth@0.3.0
 - forui_firebase_ui_oauth_apple@0.3.0
 - forui_firebase_ui_oauth_facebook@0.3.0
 - forui_firebase_ui_oauth_google@0.3.0
 - forui_firebase_ui_oauth_twitter@0.3.0
 - forui_firebase_ui_shared@0.1.2
 - forui_firebase_ui_storage@0.3.0
Nothing has been published yet; drop the melos-generated 0.2.0/0.3.0 bumps and keep initial-release changelogs only.

Co-authored-by: Cursor <cursoragent@cursor.com>
@gnomezgrave
gnomezgrave deleted the release/2026-10-25 branch October 25, 2026 14:22

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

Copy link
Copy Markdown

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 ports the Firebase UI for Flutter packages to the Forui UI library, replacing Material and Cupertino widgets with Forui equivalents across authentication, database, and storage components. The code review identified several critical compilation errors across multiple files due to the use of unsupported implicit leading-dot syntax for constructors, controls, and enum values (such as .lifted, .context(), .managed(), and .ghost). These must be explicitly qualified with their respective types (e.g., FSelectControl, FAvatarStyleDelta, FOtpControl, FTextFieldControl, and FButtonVariant), and the type requirements for FSelect items and hints must be corrected.

Comment on lines +158 to +171
final countryItems = {
for (final country in countries) country.name: country.countryCode,
};

return Form(
key: formKey,
child: Column(
children: [
if (isCupertino)
GestureDetector(
onTap: () {
_showCountryPicker(context);
FSelect<String>.search(
items: countryItems,
hint: countryController.text.isNotEmpty && !isValidCountryCode
? l.invalidCountryCode
: l.chooseACountry,
control: .lifted(

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

high

In Dart, implicit member/constructor lookup with a leading dot (e.g., .lifted) is not supported. Additionally, FSelect expects items to be of type Map<Widget, T> and hint to be a Widget?. Passing raw Strings directly will cause compilation errors.

    final countryItems = {
      for (final country in countries) Text(country.name): country.countryCode,
    };

    return Form(
      key: formKey,
      child: Column(
        children: [
          FSelect<String>.search(
            items: countryItems,
            hint: Text(
              countryController.text.isNotEmpty && !isValidCountryCode
                  ? l.invalidCountryCode
                  : l.chooseACountry,
            ),
            control: FSelectControl.lifted(

Comment on lines +56 to +58
final FAvatarStyleDelta style = widget.placeholderColor == null
? const .context()
: .delta(backgroundColor: widget.placeholderColor);

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

high

Dart does not support implicit constructor/member lookup with a leading dot (e.g., .context() or .delta()). You must explicitly qualify these constructor calls with the class name FAvatarStyleDelta.

Suggested change
final FAvatarStyleDelta style = widget.placeholderColor == null
? const .context()
: .delta(backgroundColor: widget.placeholderColor);
final FAvatarStyleDelta style = widget.placeholderColor == null
? const FAvatarStyleDelta.context()
: FAvatarStyleDelta.delta(backgroundColor: widget.placeholderColor);

),
const SizedBox(height: 8),
UnconstrainedBox(
child: FOtpField(

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

high

Dart does not support implicit constructor/member lookup with a leading dot (e.g., .managed()). You must explicitly qualify this constructor call with the class name FOtpControl.

Suggested change
child: FOtpField(
control: FOtpControl.managed(controller: controller),

return TextFormField(
Widget build(BuildContext context) {
return FTextFormField(
control: .managed(controller: controller),

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

high

Dart does not support implicit constructor/member lookup with a leading dot (e.g., .managed()). You must explicitly qualify this constructor call with the class name FTextFieldControl.

Suggested change
control: .managed(controller: controller),
control: FTextFieldControl.managed(controller: controller),


if (showVisibilityToggle) {
return FTextFormField.password(
control: .managed(controller: controller),

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

high

Dart does not support implicit constructor/member lookup with a leading dot (e.g., .managed()). You must explicitly qualify this constructor call with the class name FTextFieldControl.

Suggested change
control: .managed(controller: controller),
control: FTextFieldControl.managed(controller: controller),

icon: Icon(materialIcon),
Widget build(BuildContext context) {
return FButton.icon(
variant: .ghost,

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

high

Dart does not support implicit enum/member lookup with a leading dot (e.g., .ghost). You must explicitly qualify this enum value with the enum name FButtonVariant.

Suggested change
variant: .ghost,
variant: FButtonVariant.ghost,

).then((_) => widget.onProviderLinked()),
)
FButton.icon(
variant: .ghost,

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

high

Dart does not support implicit enum/member lookup with a leading dot (e.g., .ghost). You must explicitly qualify this enum value with the enum name FButtonVariant.

Suggested change
variant: .ghost,
variant: FButtonVariant.ghost,

@google-cla

google-cla Bot commented Oct 25, 2026

Copy link
Copy Markdown

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

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.