-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Version 10.0.0 beta01 #2284
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
Merged
Merged
Version 10.0.0 beta01 #2284
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* feat: Core: FirebaseAuthUI Singleton & DI * clean
* feat(AuthUIConfiguration): implement configuration model, DSL builder and tests * refactor: use OAuthProvider base class for common properties * feat: add Provider enum class for provider ids * feat: setup default provider styles for each provider * test: added builder validation logic from old auth library and tests * refactor: changes in API design docs replaced sealed with abstract class, data with regular class use isXX prefix for booleans * test: fix AuthUIConfiguration constructor test * wip: email validator and password validator * feat: added password rules validations, FieldValidator interface added email and password validator * test: EmailValidator, PasswordValidator and PasswordRule * docs: update PasswordRule comments * docs: update PasswordRule comments * fix: remove mock annotation
* feat: added context AuthUIConfiguration and default string provider * add/expose existing localized strings to allow overrides * added custom string provider sample, tests for locale overrides * chore: code cleanup
* feat: added preconditions for specific auth provider configurations * test: covers auth providers with config validations * fix: auth provider validation and tests - validate serverClientId empty string - validate applicationId empty string - remove @test(expected=) not descriptive - tests covering AuthProviders Google and Facebook config validation
- added junit ui test library for compose ui tests - refactor: default provider styles - test: integration tests to validate AuthUITheme.Default is injected by default - test: validate fromMaterialTheme inherits clients MaterialTheme when AuthUITheme overridden
* feat: Error Recovery & Dialog * fix
* feat: AuthMethodPicker, logo and provider theme style * chore: organize folder structure * feat: TOS and PP footer, ui tests for AuthMethodPicker * chore: tests folder structure * fix: use screen width for adaptive padding values * chore: remove unused modifier
* feat: AuthMethodPicker, logo and provider theme style * chore: organize folder structure * feat: TOS and PP footer, ui tests for AuthMethodPicker * chore: tests folder structure * chore: use version catalog for compose deps * feat: AuthTextField with validation * test: AuthTextField and field validations * chore: update doc comments * refactor: remove libs.versions.toml catalog file
* feat: Email provider integration - added: sign in, sign up, reset password, email link and anonymous auto upgrade - upgrade mockito - fixed spying mocked objects in new library test error * feat: add PasswordResetLinkSent state * chore: remove unused methods * chore: remove unused comments and code * chore: remove unused imports, reformat * chore: remove comments * chore: remove comments * handle authState exceptions * fix: mockito 5 upgrade stubbing issues
* feat: AuthMethodPicker, logo and provider theme style * chore: organize folder structure * feat: TOS and PP footer, ui tests for AuthMethodPicker * chore: tests folder structure * chore: use version catalog for compose deps * feat: AuthTextField with validation * test: AuthTextField and field validations * chore: update doc comments * wip: Email Provider integration * chore: upgrade mockito, fix: spying mocked objects in new library * wip: Email provider integration * wip: Email provider integration * wip: Email provider integration * feat: Email provider integration * wip: SignIn, SignUp, ResetPassword flows * refactor: remove libs.versions.toml catalog file * add sample app compose module * wip: SignInUI and EmailAuthScreen sample * feat: Email provider integration - added: sign in, sign up, reset password, email link and anonymous auto upgrade - upgrade mockito - fixed spying mocked objects in new library test error * wip: SignUp UI * feat: add PasswordResetLinkSent state * fix: use isSecureTextField for password fields * wip: SignUp * fix: passwordResetActionCodeSettings for send password reset link * fix: combine Firebase and internal auth state flows to prioritize non-idle internal updates * wip: SignUp * chore: remove unused methods * chore: remove unused comments and code * chore: remove unused imports, reformat * chore: remove comments * chore: remove comments * handle authState exceptions * fix: mockito 5 upgrade stubbing issues * wip: Email link, deep link * chore: add copyright message * refactor: rename to emailLinkActionCodeSettings in AuthProvider.Email and passwordResetActionCodeSettings in AuthUIConfiguration * feat: add dark theme * feat: Email sign in link * fix: test doesn't capture initial Idle state * fix: CI run issues * fix: CI run issues * fix: opt out of edge to edge in app module * fix: remove opt out of edge to edge in app module
* feat: MFA Enrollment (TOTP) * remove duplicate doc * translation
* feat: EmailAuthScreen integration tests - localize strings and default icon based on validator - setup integration tests to run in CI - add execute permission to start-firebase-emulator.sh script - CI use fake project id for auth emulator * test: email link sign in dialog * refactor: move e2e tests to separate module * fix CI test errors * fix CI test errors * chore: improve test utils * chore: add missing string translations
* feat: MFA Enrollment (SMS) * fixes
* feat: added libphonenumber for phone number validation * feat: PhoneAuthScreen, enter phone number and verification code * wip: e2e tests for PhoneAuthScreen * fix failing tests * chore: localize strings * chore: firebase auth image (temp) * refactor: remove user defined instant verification flag from UI * fix: bump robolectric to 4.15.1 required because dismissing a ModalBottomSheet failed in compose ui tests * test: e2e tests for PhoneAuthScreen * chore: localize strings * fix: resend code timer timing issues * fix: resend code timer timing issues
* feat: MFA Screens * update gitignore * QR code generation * remove emulator * fix * ok * go
* feat: MFA Screens * update gitignore * QR code generation * remove emulator * chore: upgrade facebook login to latest * feat: facebook client token for fb login sdk v13.0 and above * fix * wip: Facebook Sign-In * feat: Facebook Sign in integration * refactor: replace AuthState.MergeConflict with AccountLinkingRequiredException for account collision * pass context to rememberSignInWithFacebookLauncher * fix: linking credential hangs AuthState * facebook sign tests --------- Co-authored-by: Guillaume Bernos <guillaume@bernos.dev>
* feat: extract routes from example app to main library * add emulator flag * fixing tests * fix tests * fix feedback
* feat: extract routes from example app to main library * add emulator flag * fixing tests * fix tests * feat: Anonymous sign in and auto upgrade * e2e tests anonymous sign in and auto upgrade when enabled * unit tests for anonymous sign in * fix feedback --------- Co-authored-by: Guillaume Bernos <guillaume@bernos.dev>
* feat: Core: AuthFlowController * example app * fix emulator * clean merge
* feat: P4 — Google Sign-In (GoogleSignInHandler) - unit tests covering google sign in, anonymous upgrade and error states - updated google auth dependencies * add anonymous sign in and sign in with google to providers * remove commented out code, default to auth emulator * fix tests * remove commented out code
…eric OAuth Provider (#2255) * feat: P4 — Google Sign-In (GoogleSignInHandler) - unit tests covering google sign in, anonymous upgrade and error states - updated google auth dependencies * add anonymous sign in and sign in with google to providers * wip: oauth provider sign in * feat: OAuth Providers (Twitter, GitHub, Microsoft, Yahoo, Apple) * fix: add fail-safe assertions to exception tests * fix: add support for oidc in provider config validations * feat: OAuth Providers (Twitter, GitHub, Microsoft, Yahoo, Apple) - flows with scopes/customParameters - apple locale override support for button - providerId, scopes, customParameters, with customizable button (label/icon/color) - update firebase brand auth logo and app icon - translations for sign in with LINE - generic/custom user define oauth example with sign in with discord. * fix: e2e tests * tests covering sign in, anonymous upgrade and error handling * fix from feedback
* feat: Accessibility & i18n Audit * fix ci * fix * test
* feat: e2e tests for google sign in * fix: use line logo res
* wip: fix email link sign in * fix: email link auth with cross-device support and tests * inject emailLink into exceptions for clarity * doc comments for email link related exceptions * update comments
* fix: introduce dialog controller to avoid multiple dialogs * Update composeapp/src/main/java/com/firebase/composeapp/HighLevelApiDemoActivity.kt Co-authored-by: Guillaume Bernos <guillaume.bernos@gmail.com> * update comments * fix CI --------- Co-authored-by: Guillaume Bernos <guillaume.bernos@gmail.com>
…ons for strings (#2268) * fix: email link sign in support * fix: email link sign in and tests * add missing translations * email link sign in and deep link e2e test
…ple. (#2269) * repository clean up * fix: extract email link * remove unused Google config params * update README for auth * style: use scaffold for auth method picker internally * update demo.gif * update README.md * update README.md * remove release process from notes * maintain version 17 for java * fix ci
#2270) * cleanup package name * add tests for component registrar
…isabled. (#2273) * use isNewAccountsAllowed for email auth which disables signup * add translations for tooltip texts
… into version-10.0.0-dev
* Begin development on 9.1.0 * chore: use minSdk=23 for auth, and minSdk=21 for other modules (#2196) * fix(auth): remove enableHints parsing from FlowParameters (#2199) * feat: add support for API 35 EdgeToEdge (#2187) * Revert "chore: use minSdk=23 for auth, and minSdk=21 for other modules (#2196)" This reverts commit eca0ca3 * Version 9.1.0 * chore(*): update release infrastructure * Version 9.1.1 (#2257) --------- Co-authored-by: rosariopf <rosariopf@google.com> Co-authored-by: Guillaume Bernos <guillaume@bernos.dev>
…baseUI-Android into version-10.0.0-dev
… FirebaseUIComposeRegistrar (#2277)
…in build.gradle.kts (#2281)
…2283) * delete .firebase directory I don't think we need this directory? * adjust e2e test GH Action timeout to 30min * remove `composeApp` from .gitignore * delete build.gradle The project now uses build.gradle.kts * Move migration guide to docs/ This aligns it with the other migration guides
Comment on lines
+9
to
+52
| runs-on: ubuntu-latest | ||
| timeout-minutes: 30 | ||
| steps: | ||
| - uses: actions/checkout@v4 | ||
|
|
||
| - name: Cache Gradle packages | ||
| uses: actions/cache@v3 | ||
| with: | ||
| path: | | ||
| ~/.gradle/caches | ||
| ~/.gradle/wrapper | ||
| key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} | ||
|
|
||
| - name: Firebase Emulator Cache | ||
| uses: actions/cache@v4 | ||
| with: | ||
| path: ~/.cache/firebase/emulators | ||
| key: firebase-emulators-v3-${{ runner.os }} | ||
|
|
||
| - name: Install Node.js 20 | ||
| uses: actions/setup-node@v4 | ||
| with: | ||
| node-version: '20' | ||
|
|
||
| - name: Set up JDK 21 | ||
| uses: actions/setup-java@v4 | ||
| with: | ||
| java-version: '21' | ||
| distribution: 'temurin' | ||
|
|
||
| - name: Install Firebase Tools | ||
| run: | | ||
| npm i -g firebase-tools | ||
|
|
||
| - name: Start Firebase Auth Emulator | ||
| run: ./scripts/start-firebase-emulator.sh | ||
|
|
||
| - name: Run E2E Tests | ||
| run: | | ||
| ./gradlew e2eTest | ||
|
|
||
| - name: Print Logs | ||
| if: failure() | ||
| run: ./scripts/print_build_logs.sh |
Check warning
Code scanning / CodeQL
Workflow does not contain permissions Medium
Actions job or workflow does not limit the permissions of the GITHUB_TOKEN. Consider setting an explicit permissions block, using the following as a minimal starting point: {contents: read}
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.