firebase / flutterfire

🔥 A collection of Firebase plugins for Flutter apps.
https://firebase.google.com/docs/flutter/setup
BSD 3-Clause "New" or "Revised" License
8.63k stars 3.95k forks source link

🐛 cloud_firestore Unimplemented GeoPoint in Flutter web #4292

Closed GDSdevteam closed 3 years ago

GDSdevteam commented 3 years ago

Bug report

Describe the bug When setting or updateing GeoPoint to Firestore, it says unable to convert javascript object.

Steps to reproduce

FirebaseFirestore.instance.doc("Test/geos").set({
"location":Geopoint(currentLocation.latitude,currentLocation.longitude)
});
markusaksli-nc commented 3 years ago

Hi @GDSdevteam Could you please provide your flutter doctor -v, flutter pub deps -- --style=compact, and error logs? What version of the JS SDK import do you have in your index.html? Thank you

GDSdevteam commented 3 years ago

flutter doctor -v

Flutter (Channel master, 1.24.0-8.0.pre.149, on Mac OS X 10.15.5 19F101 darwin-x64, locale en-IN)
    • Flutter version 1.24.0-8.0.pre.149 at /Users/mechatronlab/Desktop/flutter
    • Framework revision 8e7748e74c (3 weeks ago), 2020-11-08 20:32:04 -0800
    • Engine revision 0f7cdca65f
    • Dart version 2.12.0 (build 2.12.0-27.0.dev)

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.0)
    • Android SDK at /Users/mechatronlab/Library/Android/sdk
    • Platform android-30, build-tools 30.0.0
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 11.5)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 11.5, Build version 11E608c
    • CocoaPods version 1.10.0

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)

[✓] Connected device (2 available)
    • Web Server (web) • web-server • web-javascript • Flutter Tools
    • Chrome (web)     • chrome     • web-javascript • Google Chrome 87.0.4280.67

• No issues found!

flutter pub deps -- --style=compact

Dart SDK 2.12.0-27.0.dev
Flutter SDK 1.24.0-8.0.pre.149
cabapp_reg 1.0.0+1

dependencies:
- cloud_firestore 0.14.3 [flutter meta quiver firebase_core firebase_core_platform_interface cloud_firestore_platform_interface cloud_firestore_web]
- cupertino_icons 0.1.3
- firebase 7.3.3 [http http_parser js]
- firebase_auth 0.18.3 [meta firebase_core firebase_core_platform_interface firebase_auth_platform_interface firebase_auth_web flutter]
- firebase_core 0.5.2 [firebase_core_platform_interface flutter quiver meta firebase_core_web]
- firebase_database 4.3.0 [flutter firebase_core]
- firebase_storage 5.0.1 [flutter firebase_core firebase_core_platform_interface firebase_storage_platform_interface quiver]
- flutter 0.0.0 [characters collection meta typed_data vector_math sky_engine]
- google_map_polyline 0.2.0+1 [flutter google_maps_flutter dio]
- google_maps_flutter 0.5.33 [flutter flutter_plugin_android_lifecycle google_maps_flutter_platform_interface]
- google_maps_flutter_web 0.1.0+7 [flutter flutter_web_plugins meta google_maps_flutter_platform_interface google_maps stream_transform sanitize_html]
- image_picker_web 1.0.9 [flutter flutter_web_plugins]
- maps_toolkit 1.1.0+2
- url_launcher 5.7.6 [flutter url_launcher_platform_interface url_launcher_web url_launcher_linux url_launcher_macos url_launcher_windows]

dev dependencies:
- flutter_test 0.0.0 [flutter test_api path fake_async clock stack_trace vector_math async boolean_selector characters charcode collection matcher meta source_span stream_channel string_scanner term_glyph typed_data]

transitive dependencies:
- async 2.5.0-nullsafety.3 [collection]
- boolean_selector 2.1.0-nullsafety.3 [source_span string_scanner]
- characters 1.1.0-nullsafety.5
- charcode 1.2.0-nullsafety.3
- clock 1.1.0-nullsafety.3
- cloud_firestore_platform_interface 2.2.0 [flutter meta collection firebase_core plugin_platform_interface]
- cloud_firestore_web 0.2.1 [flutter flutter_web_plugins http_parser meta firebase_core firebase_core_web cloud_firestore_platform_interface js]
- collection 1.15.0-nullsafety.5
- csslib 0.16.2 [source_span]
- dio 3.0.10 [http_parser path]
- fake_async 1.2.0-nullsafety.3 [clock collection]
- firebase_auth_platform_interface 2.1.3 [flutter meta firebase_core plugin_platform_interface]
- firebase_auth_web 0.3.2 [flutter flutter_web_plugins meta http_parser intl firebase_core firebase_core_web firebase_auth_platform_interface js]
- firebase_core_platform_interface 2.0.0 [flutter meta plugin_platform_interface quiver]
- firebase_core_web 0.2.1 [firebase_core_platform_interface flutter flutter_web_plugins meta js]
- firebase_storage_platform_interface 1.0.1 [flutter meta collection firebase_core plugin_platform_interface]
- flutter_plugin_android_lifecycle 1.0.11 [flutter]
- flutter_web_plugins 0.0.0 [flutter js characters collection meta typed_data vector_math]
- google_maps 3.4.5 [js_wrapping meta]
- google_maps_flutter_platform_interface 1.0.4 [flutter meta plugin_platform_interface stream_transform]
- html 0.14.0+4 [csslib source_span]
- http 0.12.2 [http_parser path pedantic]
- http_parser 3.1.4 [charcode collection source_span string_scanner typed_data]
- intl 0.16.1 [path]
- js 0.6.3-nullsafety.3
- js_wrapping 0.5.0
- matcher 0.12.10-nullsafety.3 [stack_trace]
- meta 1.3.0-nullsafety.6
- path 1.8.0-nullsafety.3
- pedantic 1.9.2 [meta]
- plugin_platform_interface 1.0.3 [meta]
- quiver 2.1.5 [matcher meta]
- sanitize_html 1.4.1 [html meta]
- sky_engine 0.0.99
- source_span 1.8.0-nullsafety.4 [charcode collection path term_glyph]
- stack_trace 1.10.0-nullsafety.6 [path]
- stream_channel 2.1.0-nullsafety.3 [async]
- stream_transform 1.2.0
- string_scanner 1.1.0-nullsafety.3 [charcode source_span]
- term_glyph 1.2.0-nullsafety.3
- test_api 0.2.19-nullsafety.6 [async boolean_selector collection meta path source_span stack_trace stream_channel string_scanner term_glyph matcher]
- typed_data 1.3.0-nullsafety.5 [collection]
- url_launcher_linux 0.0.1+4 [flutter]
- url_launcher_macos 0.0.1+9 [flutter]
- url_launcher_platform_interface 1.0.8 [flutter meta plugin_platform_interface]
- url_launcher_web 0.1.4+1 [url_launcher_platform_interface flutter flutter_web_plugins meta]
- url_launcher_windows 0.0.1+3 [flutter]
- vector_math 2.1.0-nullsafety.5

error logs

Error: [cloud_firestore/unknown] Invalid argument (dartObject): Could not convert: Instance of 'NativeJavaScriptObject'
    at Object.throw_ [as throw] (http://localhost:58237/dart_sdk.js:4205:11)
    at document_reference_web.DocumentReferenceWeb.new.set (http://localhost:58237/packages/cloud_firestore_web/src/write_batch_web.dart.lib.js:615:21)
    at set.next (<anonymous>)
    at runBody (http://localhost:58237/dart_sdk.js:36211:34)
    at Object._async [as async] (http://localhost:58237/dart_sdk.js:36242:7)
    at document_reference_web.DocumentReferenceWeb.new.set (http://localhost:58237/packages/cloud_firestore_web/src/write_batch_web.dart.lib.js:610:20)
    at cloud_firestore.DocumentReference.__.set (http://localhost:58237/packages/cloud_firestore/cloud_firestore.dart.lib.js:617:31)
    at ManageZones._ManageZonesState.new.<anonymous> (http://localhost:58237/packages/cabapp_reg/ManageZones.dart.lib.js:1993:84)
    at Generator.next (<anonymous>)
    at http://localhost:58237/dart_sdk.js:36192:33
    at _RootZone.runUnary (http://localhost:58237/dart_sdk.js:36060:59)
    at _FutureListener.thenAwait.handleValue (http://localhost:58237/dart_sdk.js:31289:29)
    at handleValueCallback (http://localhost:58237/dart_sdk.js:31804:49)
    at Function._propagateToListeners (http://localhost:58237/dart_sdk.js:31842:17)
    at _Future.new.[_completeWithValue] (http://localhost:58237/dart_sdk.js:31690:23)
    at async._AsyncCallbackEntry.new.callback (http://localhost:58237/dart_sdk.js:31711:35)
    at Object._microtaskLoop (http://localhost:58237/dart_sdk.js:36297:13)
    at _startMicrotaskLoop (http://localhost:58237/dart_sdk.js:36303:13)
    at http://localhost:58237/dart_sdk.js:32051:9

JS SDK

 <script src="https://www.gstatic.com/firebasejs/7.22.1/firebase-app.js"></script>
  <script src="https://www.gstatic.com/firebasejs/7.22.1/firebase-auth.js"></script>
  <script src="https://www.gstatic.com/firebasejs/7.22.1/firebase-firestore.js"></script>
  <script src="https://www.gstatic.com/firebasejs/7.22.1/firebase-storage.js"></script>
  <script src="https://www.gstatic.com/firebasejs/7.22.1/firebase-database.js"></script>
markusaksli-nc commented 3 years ago

I can't reproduce with either the versions you were using or the latest versions on the latest master 1.25.0-5.0.pre.45.

flutter doctor -v ``` [√] Flutter (Channel master, 1.25.0-5.0.pre.45, on Microsoft Windows [Version 10.0.19041.630], locale et-EE) • Flutter version 1.25.0-5.0.pre.45 at C:\Development\flutter_master • Framework revision 81e1f7d1ed (5 hours ago), 2020-12-02 17:19:57 -0800 • Engine revision 20caf54969 • Dart version 2.12.0 (build 2.12.0-76.0.dev) [√] Android toolchain - develop for Android devices (Android SDK version 30.0.2) • Android SDK at C:\Users\marku\AppData\Local\Android\sdk • Platform android-30, build-tools 30.0.2 • Java binary at: C:\Users\marku\AppData\Local\JetBrains\Toolbox\apps\AndroidStudio\ch-0\201.6953283\jre\bin\java • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01) • All Android licenses accepted. [√] Chrome - develop for the web • Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe [√] Visual Studio - develop for Windows (Visual Studio Community 2019 16.7.7) • Visual Studio at C:\Program Files (x86)\Microsoft Visual Studio\2019\Community • Visual Studio Community 2019 version 16.7.30621.155 • Windows 10 SDK version 10.0.18362.0 [√] Android Studio (version 4.1.0) • Android Studio at C:\Users\marku\AppData\Local\JetBrains\Toolbox\apps\AndroidStudio\ch-0\201.6953283 • Flutter plugin can be installed from: https://plugins.jetbrains.com/plugin/9212-flutter • Dart plugin can be installed from: https://plugins.jetbrains.com/plugin/6351-dart • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01) [√] Connected device (4 available) • Windows (desktop) • windows • windows-x64 • Microsoft Windows [Version 10.0.19041.630] • Web Server (web) • web-server • web-javascript • Flutter Tools • Chrome (web) • chrome • web-javascript • Google Chrome 87.0.4280.88 • Edge (web) • edge • web-javascript • Microsoft Edge 87.0.664.47 • No issues found! ```
Used code sample ```dart import 'package:cloud_firestore/cloud_firestore.dart'; import 'package:firebase_core/firebase_core.dart'; import 'package:flutter/material.dart'; void main() async { WidgetsFlutterBinding.ensureInitialized(); FirebaseApp app = await Firebase.initializeApp(); assert(app != null); runApp(MyApp()); } class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( debugShowCheckedModeBanner: false, title: 'Material App', theme: ThemeData.dark(), home: Home(), ); } } class Home extends StatelessWidget { @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text('Firestore Example'), ), body: Center( child: Adder(), ), ); } } class Adder extends StatelessWidget { @override Widget build(BuildContext context) { return RaisedButton( child: const Text("Add and await"), onPressed: () async { print("Started"); await FirebaseFirestore.instance.doc('test/geos').set({'location':GeoPoint(57.0,57.0)}); print("Done"); }, ); } } ```

Can you please provide a minimal complete reproducible code sample?

google-oss-bot commented 3 years ago

Hey @GDSdevteam. We need more information to resolve this issue but there hasn't been an update in 7 weekdays. I'm marking the issue as stale and if there are no new updates in the next 7 days I will close it automatically.

If you have more information that will help us get to the bottom of this, just add a comment!

google-oss-bot commented 3 years ago

Since there haven't been any recent updates here, I am going to close this issue.

@GDSdevteam if you're still experiencing this problem and want to continue the discussion just leave a comment here and we are happy to re-open this.