Comments (16)
Did you also try different devices, and did you find this issue occurring on all of them?
yes i have tried on other devices for android, pixel6, s9, s20. i always get the failed to initialize recaptcha. some times the sms takes up to 20 mins to get sent waiting for the api to return a valid response.
@engrpatel21 Thank you for creating this issue, Can you please try to create a new project with just this functionality and see if the issue also exists?
i will try to get this done asap let you know results, its pretty involved with all the setups to get everything going and test on a brand new project.
from flutterfire.
According to the 2nd comment in this stack overflow link https://stackoverflow.com/questions/74739659/firebase-sms-authentication-is-delayed-or-sometimes-not-received. It could possibly be an issue with the mobile service provider. It might be worth exploring this possibility. Could you let us know where you are testing (i.e., which country)? Additionally, it might be beneficial to get in touch with Firebase support to inquire about the coverage in your area.
im in the usa, ive has this system in production for a year without any issues. its also a factor of the api call return time. there is a huge latency to when i get a response back. but when i look at fire base console under app check and authentication, i can see requests that just came in.
from flutterfire.
do you need any more info on this? our users are blocked from signing up in production.
from flutterfire.
@engrpatel21 Thank you for creating this issue, Can you please try to create a new project with just this functionality and see if the issue also exists?
from flutterfire.
Did you also try different devices, and did you find this issue occurring on all of them?
from flutterfire.
According to the 2nd comment in this stack overflow link https://stackoverflow.com/questions/74739659/firebase-sms-authentication-is-delayed-or-sometimes-not-received. It could possibly be an issue with the mobile service provider. It might be worth exploring this possibility. Could you let us know where you are testing (i.e., which country)? Additionally, it might be beneficial to get in touch with Firebase support to inquire about the coverage in your area.
from flutterfire.
i am currently working trying to repoduce the problem in a seperate project. i will let you know the outcome and relevant details
from flutterfire.
ok so i have made a new project. this is the nature. the signing keys and debug keys are the same as our app. all i did was make a new project because the error im getting is the recaptcha error. and this project reproduces that error.
the way you will know its working is when you send the code and the submit button goes from disabled to enabled because of the loading state
now i have enabled app check with authentication, with keys placed in the firebase console, and being able to monitor the requests in the authentication widget within the appcheck section of firebase.
this is the code
import 'package:firebase_auth/firebase_auth.dart';
import 'package:firebase_core/firebase_core.dart';
import 'package:flutter/material.dart';
import 'package:smstest/firebase_options.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
final app = await Firebase.initializeApp(
options: DefaultFirebaseOptions.currentPlatform);
FirebaseAuth.instanceFor(app: app);
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
useMaterial3: true,
),
home: const MyHomePage(title: 'Flutter Demo Home Page'),
);
}
}
class MyHomePage extends StatefulWidget {
const MyHomePage({super.key, required this.title});
final String title;
@override
State<MyHomePage> createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
int _counter = 0;
bool isLoading = false;
void _incrementCounter() {
setState(() {
_counter++;
});
}
final phoneNumber = TextEditingController();
void submitPhoneNumber() async {
setState(() {
isLoading = true;
});
await FirebaseAuth.instance.verifyPhoneNumber(
phoneNumber: '+1${phoneNumber.text}',
timeout: const Duration(seconds: 20),
verificationCompleted: (PhoneAuthCredential credential) {},
verificationFailed: (FirebaseAuthException e) {
print(e.code);
print(e.message);
print(e.credential);
if (e.code == 'invalid-phone-number') {}
},
codeSent: (String verificationId, int? resendToken) {
setState(() {
isLoading = false;
});
},
codeAutoRetrievalTimeout: (String verificationId) {},
);
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
backgroundColor: Theme.of(context).colorScheme.inversePrimary,
title: Text(widget.title),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
const Text(
'You have pushed the button this many times:',
),
TextField(
controller: phoneNumber,
),
FilledButton(
onPressed: isLoading ? null : submitPhoneNumber, child: const Text('Submit')),
],
),
),
floatingActionButton: FloatingActionButton(
onPressed: _incrementCounter,
tooltip: 'Increment',
child: const Icon(Icons.add),
),
);
}
}
this is my app/build.gradle
again this is the error message
E/zzb (31079): Failed to initialize reCAPTCHA config: No Recaptcha Enterprise siteKey configured for tenant/project *
I/PlayCore(31079): UID: [10658] PID: [31079] IntegrityService : requestIntegrityToken(IntegrityTokenRequest{nonce=C_-YGH46p_J4QyWGlTO_MrQjHhiSSGwn7LqWiNGAkV8, cloudProjectNumber=551503664846, network=null})
I/PlayCore(31079): UID: [10658] PID: [31079] IntegrityService : Initiate binding to the service.
I/PlayCore(31079): UID: [10658] PID: [31079] IntegrityService : ServiceConnectionImpl.onServiceConnected(ComponentInfo{com.android.vending/com.google.android.finsky.integrityservice.IntegrityService})
I/PlayCore(31079): UID: [10658] PID: [31079] IntegrityService : linkToDeath
I/PlayCore(31079): UID: [10658] PID: [31079] OnRequestIntegrityTokenCallback : onRequestIntegrityToken
I/PlayCore(31079): UID: [10658] PID: [31079] IntegrityService : Unbind from service.
W/System (31079): Ignoring header X-Firebase-Locale because its value was null.
4
D/TrafficStats(31079): tagSocket(131) with statsTag=0xffffffff, statsUid=-1
E/FirebaseAuth(31079): [SmsRetrieverHelper] SMS verification code request failed: unknown status code: 17499 Firebase App Check token is invalid.
plugins {
id "com.android.application"
id "kotlin-android"
id "dev.flutter.flutter-gradle-plugin"
id "com.google.gms.google-services"
}
def localProperties = new Properties()
def localPropertiesFile = rootProject.file('local.properties')
if (localPropertiesFile.exists()) {
localPropertiesFile.withReader('UTF-8') { reader ->
localProperties.load(reader)
}
}
def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
if (flutterVersionCode == null) {
flutterVersionCode = '1'
}
def flutterVersionName = localProperties.getProperty('flutter.versionName')
if (flutterVersionName == null) {
flutterVersionName = '1.0'
}
def keystoreProperties = new Properties()
def keystorePropertiesFile = rootProject.file('key.properties')
// def googleApiProperties = new Properties()
// def googleApiPropertiesFile = rootProject.file('google.api.properties')
if (keystorePropertiesFile.exists()) {
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
}
android {
namespace "io.zyka"
// compileSdk flutter.compileSdkVersion
compileSdk 34
// ndkVersion flutter.ndkVersion
ndkVersion "25.1.8937393"
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
coreLibraryDesugaringEnabled true
}
kotlinOptions {
jvmTarget = '1.8'
}
sourceSets {
main.java.srcDirs += 'src/main/kotlin'
}
defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "io.zyka"
// You can update the following values to match your application needs.
// For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration.
minSdkVersion 21
targetSdkVersion 34
// targetSdkVersion flutter.targetSdkVersion
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
multiDexEnabled true
}
signingConfigs {
release {
keyAlias keystoreProperties['keyAlias']
keyPassword keystoreProperties['keyPassword']
storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
storePassword keystoreProperties['storePassword']
}
}
buildTypes {
debug {
minifyEnabled true
signingConfig signingConfigs.release
}
release {
signingConfig signingConfigs.release
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
ndk {
debugSymbolLevel 'FULL'
}
}
}
}
flutter {
source '../..'
}
dependencies {
implementation platform('com.google.firebase:firebase-bom:32.6.0')
implementation 'com.google.firebase:firebase-analytics'
implementation("com.google.firebase:firebase-auth:22.3.1")
// implementation 'androidx.appcompat:appcompat:1.3.1'
implementation "androidx.window:window:1.0.0"
// For Java-friendly APIs to register and unregister callbacks
implementation "androidx.window:window-java:1.0.0"
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.0.3'
}
this is my root/gradle
allprojects {
repositories {
google()
mavenCentral()
}
}
rootProject.buildDir = '../build'
subprojects {
project.buildDir = "${rootProject.buildDir}/${project.name}"
}
subprojects {
project.evaluationDependsOn(':app')
}
tasks.register("clean", Delete) {
delete rootProject.buildDir
}
this is my gradle properties
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-all.zip
this is the error message which is the same one i have been getting
I/zzb (31079): ForceRecaptchaV2Flow from phoneAuthOptions = false, ForceRecaptchav2Flow from firebaseSettings = false
W/System (31079): Ignoring header X-Firebase-Locale because its value was null.
5
D/TrafficStats(31079): tagSocket(6) with statsTag=0xffffffff, statsUid=-1
E/zzb (31079): Failed to initialize reCAPTCHA config: No Recaptcha Enterprise siteKey configured for tenant/project *
W/System (31079): Ignoring header X-Firebase-Locale because its value was null.
D/TrafficStats(31079): tagSocket(176) with statsTag=0xffffffff, statsUid=-1
this is my pubspec
name: smstest
description: "A new Flutter project."
publish_to: 'none'
version: 1.0.0+1
environment:
sdk: '>=3.3.2 <4.0.0'
dependencies:
flutter:
sdk: flutter
.
cupertino_icons: ^1.0.6
firebase_auth: ^4.19.6
firebase_core: ^2.27.2
dev_dependencies:
flutter_test:
sdk: flutter
flutter_lints: ^3.0.0
flutter:
uses-material-design: true
from flutterfire.
I 've noticed that you are using mismatched versions of firebase auth and firebase core, you can use flutterfire install latest
to install latest versions.
Can you please try that and see if also the same issue still present ?
from flutterfire.
there wasn't a command called flutterfire install latest
, but there was a command called flutterfire update
but it ended up updating to the versions i already have shown you.
name: smstest
description: "A new Flutter project."
publish_to: "none"
version: 1.0.0+1
environment:
sdk: ">=3.3.2 <4.0.0"
dependencies:
flutter:
sdk: flutter
cupertino_icons: ^1.0.6
firebase_auth: ^4.19.6
firebase_core: ^2.27.2
dev_dependencies:
flutter_test:
sdk: flutter
flutter_lints: ^3.0.0
flutter:
uses-material-design: true
this is the output in the console.
➜ smstest flutterfire install latest
Unhandled exception:
Could not find a command named "install".
Usage: flutterfire <command> [arguments]
Global options:
-h, --help Print this usage information.
--verbose Enable verbose logging.
-v, --version Print the current CLI version.
Available commands:
configure Configure Firebase for your Flutter app. This
command will fetch Firebase configuration for you
and generate a Dart file with prefilled
FirebaseOptions you can use.
update Update the version of firebase plugins in your
pubspec to the latest version and clean your
workspace to ensure that everything works
properly.
Run "flutterfire help <command>" for more information about a
command.
#0 CommandRunner.usageException (package:args/command_runner.dart:105:7)
#1 CommandRunner.runCommand (package:args/command_runner.dart:178:13)
#2 CommandRunner.run.<anonymous closure> (package:args/command_runner.dart:122:25)
#3 new Future.sync (dart:async/future.dart:305:31)
#4 CommandRunner.run (package:args/command_runner.dart:122:14)
#5 main (file:///Users/zyka/.pub-cache/hosted/pub.dev/flutterfire_cli-0.2.7/bin/flutterfire.dart:57:48)
<asynchronous suspension>
➜ smstest flutterfire update
Cleaning up current workspace ...
Upgrading all firebase plugins to the latest version ...
Running 'flutter pub get'...
Ready to use the latest version of FlutterFire! 🚀
im also wondering if my versions are write on the android side
dependencies {
implementation platform('com.google.firebase:firebase-bom:32.6.0')
implementation 'com.google.firebase:firebase-analytics'
implementation("com.google.firebase:firebase-auth:22.3.1")
// implementation 'androidx.appcompat:appcompat:1.3.1'
implementation "androidx.window:window:1.0.0"
// For Java-friendly APIs to register and unregister callbacks
implementation "androidx.window:window-java:1.0.0"
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.0.3'
}
from flutterfire.
an update, i have manually updated firebase_core
and firebase_auth
manually, then i went in and updated the firebase bom
in app/build.gradle
along with adding app check and debug tokens on the app check console in firebase. here is the latest code
import 'package:firebase_app_check/firebase_app_check.dart';
import 'package:firebase_auth/firebase_auth.dart';
import 'package:firebase_core/firebase_core.dart';
import 'package:flutter/material.dart';
import 'package:smstest/firebase_options.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
final app = await Firebase.initializeApp(
options: DefaultFirebaseOptions.currentPlatform);
FirebaseAuth.instanceFor(app: app);
await FirebaseAppCheck.instance.activate(
androidProvider: AndroidProvider.debug,
appleProvider: AppleProvider.debug,
);
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
useMaterial3: true,
),
home: const MyHomePage(title: 'Flutter Demo Home Page'),
);
}
}
class MyHomePage extends StatefulWidget {
const MyHomePage({super.key, required this.title});
final String title;
@override
State<MyHomePage> createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
int _counter = 0;
bool isLoading = false;
void _incrementCounter() {
setState(() {
_counter++;
});
}
final phoneNumber = TextEditingController();
void submitPhoneNumber() async {
setState(() {
isLoading = true;
});
await FirebaseAuth.instance.verifyPhoneNumber(
phoneNumber: '+1${phoneNumber.text}',
timeout: const Duration(seconds: 20),
verificationCompleted: (PhoneAuthCredential credential) {},
verificationFailed: (FirebaseAuthException e) {
print(e.code);
print(e.message);
print(e.credential);
if (e.code == 'invalid-phone-number') {}
},
codeSent: (String verificationId, int? resendToken) {
setState(() {
isLoading = false;
});
},
codeAutoRetrievalTimeout: (String verificationId) {},
);
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
backgroundColor: Theme.of(context).colorScheme.inversePrimary,
title: Text(widget.title),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
const Text(
'You have pushed the button this many times:',
),
TextField(
controller: phoneNumber,
),
FilledButton(
onPressed: isLoading ? null : submitPhoneNumber,
child: const Text('Submit')),
],
),
),
floatingActionButton: FloatingActionButton(
onPressed: _incrementCounter,
tooltip: 'Increment',
child: const Icon(Icons.add),
),
);
}
}
name: smstest
description: "A new Flutter project."
publish_to: "none"
version: 1.0.0+1
environment:
sdk: ">=3.3.2 <4.0.0"
dependencies:
flutter:
sdk: flutter
cupertino_icons: ^1.0.6
firebase_auth: ^4.20.0
firebase_core: ^2.32.0
firebase_app_check: ^0.2.2+7
dev_dependencies:
flutter_test:
sdk: flutter
flutter_lints: ^4.0.0
flutter:
uses-material-design: true
plugins {
id "com.android.application"
id "kotlin-android"
id "dev.flutter.flutter-gradle-plugin"
id "com.google.gms.google-services"
}
def localProperties = new Properties()
def localPropertiesFile = rootProject.file('local.properties')
if (localPropertiesFile.exists()) {
localPropertiesFile.withReader('UTF-8') { reader ->
localProperties.load(reader)
}
}
def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
if (flutterVersionCode == null) {
flutterVersionCode = '1'
}
def flutterVersionName = localProperties.getProperty('flutter.versionName')
if (flutterVersionName == null) {
flutterVersionName = '1.0'
}
def keystoreProperties = new Properties()
def keystorePropertiesFile = rootProject.file('key.properties')
// def googleApiProperties = new Properties()
// def googleApiPropertiesFile = rootProject.file('google.api.properties')
if (keystorePropertiesFile.exists()) {
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
}
android {
namespace "io.zyka"
// compileSdk flutter.compileSdkVersion
compileSdk 34
// ndkVersion flutter.ndkVersion
ndkVersion "25.1.8937393"
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
coreLibraryDesugaringEnabled true
}
kotlinOptions {
jvmTarget = '1.8'
}
sourceSets {
main.java.srcDirs += 'src/main/kotlin'
}
defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "io.zyka"
// You can update the following values to match your application needs.
// For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration.
minSdkVersion 23
targetSdkVersion 34
// targetSdkVersion flutter.targetSdkVersion
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
multiDexEnabled true
}
signingConfigs {
release {
keyAlias keystoreProperties['keyAlias']
keyPassword keystoreProperties['keyPassword']
storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
storePassword keystoreProperties['storePassword']
}
}
buildTypes {
debug {
minifyEnabled true
signingConfig signingConfigs.release
}
release {
signingConfig signingConfigs.release
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
ndk {
debugSymbolLevel 'FULL'
}
}
}
}
flutter {
source '../..'
}
dependencies {
implementation platform('com.google.firebase:firebase-bom:33.0.0')
implementation 'com.google.firebase:firebase-analytics'
implementation("com.google.firebase:firebase-auth")
implementation("com.google.firebase:firebase-appcheck")
implementation("com.google.firebase:firebase-appcheck-playintegrity")
// implementation 'androidx.appcompat:appcompat:1.3.1'
implementation "androidx.window:window:1.0.0"
// For Java-friendly APIs to register and unregister callbacks
implementation "androidx.window:window-java:1.0.0"
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.0.3'
}
here is the log output
I/zza (22069): ForceRecaptchaFlow from phoneAuthOptions = false, ForceRecaptchaFlow from firebaseSettings = false
W/System (22069): Ignoring header X-Firebase-Locale because its value was null.
D/TrafficStats(22069): tagSocket(91) with statsTag=0xffffffff, statsUid=-1
4
D/TrafficStats(22069): tagSocket(6) with statsTag=0xffffffff, statsUid=-1
I/PlayCore(22069): UID: [10660] PID: [22069] IntegrityService : requestIntegrityToken(IntegrityTokenRequest{nonce=C_-YGH46p_J4QyWGlTO_MrQjHhiSSGwn7LqWiNGAkV8, cloudProjectNumber=551503664846, network=null})
I/PlayCore(22069): UID: [10660] PID: [22069] IntegrityService : Initiate binding to the service.
I/PlayCore(22069): UID: [10660] PID: [22069] IntegrityService : ServiceConnectionImpl.onServiceConnected(ComponentInfo{com.android.vending/com.google.android.finsky.integrityservice.IntegrityService})
I/PlayCore(22069): UID: [10660] PID: [22069] IntegrityService : linkToDeath
I/PlayCore(22069): UID: [10660] PID: [22069] OnRequestIntegrityTokenCallback : onRequestIntegrityToken
I/PlayCore(22069): UID: [10660] PID: [22069] IntegrityService : Unbind from service.
W/io.zyka (22069): Accessing hidden field Ljava/util/Collections$SynchronizedCollection;->mutex:Ljava/lang/Object; (max-target-o, reflection, denied)
W/io.zyka (22069): Accessing hidden field Ljava/util/Collections$SynchronizedCollection;->c:Ljava/util/Collection; (unsupported, reflection, allowed)
W/io.zyka (22069): Accessing hidden method Ljava/util/Collections$SynchronizedSet;-><init>(Ljava/util/Set;Ljava/lang/Object;)V (max-target-o, reflection, denied)
W/io.zyka (22069): Accessing hidden method Ljava/util/Collections$SynchronizedCollection;-><init>(Ljava/util/Collection;Ljava/lang/Object;)V (max-target-o, reflection, denied)
W/System (22069): Ignoring header X-Firebase-Locale because its value was null.
W/FirebaseAuth(22069): [SmsRetrieverHelper] Timed out waiting for SMS.
if i wait long enough, i can see the request come in to app check panel as an authenticated request
i also put flutter on the newest version along with the newest versions of these libraries
from flutterfire.
also, on apps that have app check enabled with play integrity, isn't recaptcha not supposed to show?
from flutterfire.
hi, any updates on this?
from flutterfire.
do you need any more info from me?
from flutterfire.
so am i just going to be ignored?
from flutterfire.
any update for this issue?
from flutterfire.
Related Issues (20)
- 🐛 [firebase_auth] [firebase_auth/credential-already-in-use] Phone Auth Linking, the token from the credential of the error thrown is not valid HOT 5
- [cloud_functions]: No way to define headers like 'Content-Type': 'application/json', to send a POST request HOT 5
- [firebase_messaging]: Remove references to deprecated v1 Android embedding HOT 5
- firebase_auth: signInWithCredentials failed for facebook login HOT 2
- [Core]: PlatformException(channel-error, Unable to establish connection on channel., null, null) HOT 10
- [cloud_firestore]: snapshot.connectionState = ConnectionState.active when macos connect cloud_firestore HOT 1
- [firebase_auth]: Apple signInWithCredential throws invalid-credential when used with error.credential HOT 4
- FIREBASE_AUTH: CRASH ON WINDOWS WHEN USE sendEmailVerification() AND sendPasswordResetEmail(email)
- 👉FCM V1 👈_firebaseMessagingBackgroundHandler flutter_incoming_call sound not working and awesome_notifications incoming call sound not working ⚠⚠⚠⚠⚠ HOT 2
- firebase_dynamic_links: Frequent Crashes on Startup Due to Firebase Initialization Issue HOT 1
- [cloud_firestore]: missing increment updates when unstable internet connection HOT 4
- [📚] How to build and run the docs in localhost? HOT 1
- 🐛 [VectorStore] Dart SDK for Vector Store and vector search HOT 1
- [📚] Missing Windows information in "Add Firebase to your Flutter app" HOT 2
- [firebase_messaging]: getInitialMessage() doesn't work as expected on ios HOT 4
- firebase_core: Firebase won't initialize app on Flutter Web! HOT 3
- cloud_firestore: unsupported option '-G' for target 'x86_64-apple-ios10.0-simulator' HOT 3
- [storage] Cannot compile HOT 4
- include of non-modular header inside framework module 'firebase_messaging.FLTFirebaseMessagingPlugin' HOT 6
- [firebase_storage]: creationTimeMillis and updatedTimeMillis null on Windows platform HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from flutterfire.