Giter Club home page Giter Club logo

timy-messenger's Introduction

Timy app

Build Status

An amazing open-source group messaging app build with flutter. ✨

Main Features

  • Multiple groups (similar to Teams in Slack).
  • Multiple open or private channels within groups.
  • Sharing of photos and photo collections.
  • React to messages with emoji.
  • Push-notifications for the message and channel updates.
  • Specific channels for events (e.g. containing date, venue).
  • Editing of event channels.
  • Calendar for all upcoming and past events aggregated over all groups and channels.
  • English and German localization.
  • RSVP for events.

screenshots

Project Structure

This is a Flutter mobile app targeting Android and iOS.

The code for the Flutter app is contained in the folder lib and the different native apps are in android and ios. Extra project assets are in assets and fonts.

As well, this repo hosts a series of Firebase config files and cloud functions.

The documentation for Firebase part is inside the firebase folder.

Prerequisites & Getting Started

Client

To build and run the mobile apps you’ll need to install Flutter and its dependencies. To verify your installation run in the project’s root directory:

$ flutter doctor

The app is optimised for Android and iOS phones in portrait mode.

IMPORTANT: The project only supports Flutter version 1.10.5, you will have to change your configuration to it. We cannot make sure that other Flutter versions will work.

$ flutter version 1.10.5

Note: Additionally you’ll need to setup the backend and add the GoogleService-Info of your Firebase app to your clients as described below.

Backend (Firebase)

The backend is build using Firebase’s node.js SDK. All files are provided in the firebase folder. To deploy the code create an app and install the firebase CLI (See steps 1 & 2 in Getting started).

Note: The following steps assume you’re using Firebases’ free Spark Plan. Therefore we’re performing the configuration manually.

B1. Setup sign-in method & adding users

An initial sign-in method needs to be configured.

Adding a user

Currently, users need to be added manually.

  • In firebase navigate to Authentication and select Users.
  • Then Add user.

Please copy the User-UID of the created user. We’ll need to add this ID to a group in the next step.

Note: You’ll need to have at least one user configured to use the app.

B2. Configure firebase app

Next, you’ll need to configure your firebase app for Flutter as described in Add Firebase to an App / Flutter

iOS

  • Enter iOS-Bundle-ID: de.janoodle.circlesApp.debug
  • Download and rename GoogleService-Info.plist to GoogleService-Info-Dev.plist.
  • Copy file to ios/Runner/Firebase.

NOTE: If you’re building for release you’ll additionally need to add a GoogleService-Info-Prod.plist pointing to your production Firebase app.

Android

Follow the instructions in android/README.md.

B3. Create and setup database

In the firebase console select Database under Develop and create a Cloud Firestore Database. Setup database in test mode if you don't want to care about access permissions now.

At this point, you need to run and perform login once on the App, it will create a user document inside the users collection.

You will see an empty screen. To fix that, continue this setup. You may need to restart the app after the setup is done.

Create group collection

  • Select the database you’ve just created.
  • Create collection and name it groups.
  • Add your first group with the following properties:
name type value
abbreviation string TE
color string ffffff
members array User-UID we’ve retrieved in Adding a user above
name string test

We’ve now setup our first test group. In addition to this step, we’ll need to setup a default Channel (e.g. something similar to #general in Slack).

Add the new created Group id to the User document

  • Select the User you have now on your database.
  • Add a new field named joinedGroups and make it type Array
  • Add an entry in this array, with the value equal to the Group document id from Firestore.

Create channel sub-collection

  • In the groups collection select the newly created group.
  • Create collection within the group called channels.
  • Add your first channel with the following properties:
name type value
name string general
type string TOPIC
visibility string OPEN

Your Firestore database should look like this (with different ids)

screenshots screenshots screenshots screenshots

B4. Deploy firebase functions

Navigate to the firebase directory and deploy all functions using:

$ firebase deploy --only functions

Some features of the app can be used without Cloud Functions running, but some others will not work. We recommend you to perform this step to enjoy all features.

B5. Final steps

Login with the user you’ve created above.

Next create your first event to setup the calendar collection in our backend.

Create an event

  • In the app select the hamburger menu
  • Hit the + sign next to Events
  • Enter any data you like and hit Create

At the root level of your database you should now see a collection called calendar in your firebase console.

Now we’re ready to deploy all other parts of our backend using:

$ firebase deploy

Deployment

The app is setup to work with a development and production environment. We suggest you create a different Firebase app for each environment.

When building for release the app will automatically use the production configuration that you’ve configured in step B3.

External resources

About

The concept for Timy was created and developed by kaalita and philippmoeser. The initial version is a MVP messaging app focusing on organising events among groups.

We hope this project can be a reference or building block for your next flutter app. 🚀

timy-messenger's People

Contributors

daniel-originalsunleashed avatar dnahurnyi avatar fheinfling avatar ludioao avatar marcioquimbundo avatar miquelbeltran avatar nicoder avatar sduduzog avatar xlogix avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

timy-messenger's Issues

Invalid plugin specification: DART_DEFINES=flutter.inspector.structuredErrors=true

please help
when I want to run the app in iOS phone by android studio it shows me an error
`Running pod install... 3.7s
CocoaPods' output:

Invalid plugin specification: DART_DEFINES=flutter.inspector.structuredErrors=true
Preparing

Analyzing dependencies

Inspecting targets to integrate
  Using `ARCHS` setting to build architectures of target `Pods-Runner`: (``)

Finding Podfile changes
  A cloud_firestore_web
  A firebase_auth_web
  A firebase_core_web
  A flutter_plugin_android_lifecycle
  A google_sign_in_web
  A pinch_zoom_image_updated
  A url_launcher_macos
  A url_launcher_web
  R pinch_zoom_image
  - Flutter
  - cloud_firestore
  - firebase_analytics
  - firebase_auth
  - firebase_core
  - firebase_crashlytics
  - firebase_messaging
  - firebase_storage
  - flutter_native_image
  - google_sign_in
  - image_picker
  - media_picker_builder
  - url_launcher

Fetching external sources
-> Fetching podspec for `Flutter` from `.symlinks/flutter/ios`
-> Fetching podspec for `cloud_firestore` from `.symlinks/plugins/cloud_firestore/ios`
-> Fetching podspec for `cloud_firestore_web` from `.symlinks/plugins/cloud_firestore_web/ios`
-> Fetching podspec for `firebase_analytics` from `.symlinks/plugins/firebase_analytics/ios`
-> Fetching podspec for `firebase_auth` from `.symlinks/plugins/firebase_auth/ios`
-> Fetching podspec for `firebase_auth_web` from `.symlinks/plugins/firebase_auth_web/ios`
-> Fetching podspec for `firebase_core` from `.symlinks/plugins/firebase_core/ios`
-> Fetching podspec for `firebase_core_web` from `.symlinks/plugins/firebase_core_web/ios`
-> Fetching podspec for `firebase_crashlytics` from `.symlinks/plugins/firebase_crashlytics/ios`
-> Fetching podspec for `firebase_messaging` from `.symlinks/plugins/firebase_messaging/ios`
-> Fetching podspec for `firebase_storage` from `.symlinks/plugins/firebase_storage/ios`
-> Fetching podspec for `flutter_native_image` from `.symlinks/plugins/flutter_native_image/ios`
-> Fetching podspec for `flutter_plugin_android_lifecycle` from `.symlinks/plugins/flutter_plugin_android_lifecycle/ios`
-> Fetching podspec for `google_sign_in` from `.symlinks/plugins/google_sign_in/ios`
-> Fetching podspec for `google_sign_in_web` from `.symlinks/plugins/google_sign_in_web/ios`
-> Fetching podspec for `image_picker` from `.symlinks/plugins/image_picker/ios`
-> Fetching podspec for `media_picker_builder` from `.symlinks/plugins/media_picker_builder/ios`
-> Fetching podspec for `pinch_zoom_image_updated` from `.symlinks/plugins/pinch_zoom_image_updated/ios`
[!] No podspec found for `pinch_zoom_image_updated` in `.symlinks/plugins/pinch_zoom_image_updated/ios`

/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.9.3/lib/cocoapods/external_sources/path_source.rb:14:in `block in fetch'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.9.3/lib/cocoapods/user_interface.rb:64:in `section'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.9.3/lib/cocoapods/external_sources/path_source.rb:11:in `fetch'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.9.3/lib/cocoapods/installer/analyzer.rb:980:in `fetch_external_source'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.9.3/lib/cocoapods/installer/analyzer.rb:959:in `block (2 levels) in fetch_external_sources'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.9.3/lib/cocoapods/installer/analyzer.rb:958:in `each'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.9.3/lib/cocoapods/installer/analyzer.rb:958:in `block in fetch_external_sources'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.9.3/lib/cocoapods/user_interface.rb:64:in `section'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.9.3/lib/cocoapods/installer/analyzer.rb:957:in `fetch_external_sources'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.9.3/lib/cocoapods/installer/analyzer.rb:117:in `analyze'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.9.3/lib/cocoapods/installer.rb:410:in `analyze'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.9.3/lib/cocoapods/installer.rb:235:in `block in resolve_dependencies'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.9.3/lib/cocoapods/user_interface.rb:64:in `section'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.9.3/lib/cocoapods/installer.rb:234:in `resolve_dependencies'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.9.3/lib/cocoapods/installer.rb:156:in `install!'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.9.3/lib/cocoapods/command/install.rb:52:in `run'
/Library/Ruby/Gems/2.6.0/gems/claide-1.0.3/lib/claide/command.rb:334:in `run'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.9.3/lib/cocoapods/command.rb:52:in `run'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.9.3/bin/pod:55:in `<top (required)>'
/usr/local/bin/pod:23:in `load'
/usr/local/bin/pod:23:in `<main>'

Error output from CocoaPods:

[!] Automatically assigning platform `iOS` with version `10.0` on target `Runner` because no platform was specified. Please specify a platform for this target in your Podfile. See `https://guides.cocoapods.org/syntax/podfile.html#platform`.

Error running pod install
Error launching application on iPhone SE (2nd generation).`

I tried to update pod by terminal and it shows me

Invalid plugin specification: DART_DEFINES=flutter.inspector.structuredErrors=true Update all pods Updating local specs repositories Analyzing dependencies [!] No podspec found for pinch_zoom_image_updatedin.symlinks/plugins/pinch_zoom_image_updated/ios`

[!] Automatically assigning platform iOS with version 10.0 on target Runner because no platform was specified. Please specify a platform for this target in your Podfile. See https://guides.cocoapods.org/syntax/podfile.html#platform.
`

New logo/icon proposal

Good day sir. I am a graphic designer and i am interested in designing a logo for your good project. I will be doing it as a gift for free. I just need your permission first before I begin my design. Hoping for your positive feedback. Thanks

Cannot build app

I've followed step by step the instructions in the readme file, yet after a few hours of troubleshooting I still can't seem to build the app properly.
Not modifying anything (and using the recommended Flutter version) I run into this issue:

flutter\.pub-cache\hosted\pub.dartlang.org\firebase_storage-3.1.5\android\src\main\java\io\flutter\plugins\firebase\storage\FirebaseStoragePlugin.java:59: error: cannot find symbol
    onAttachedToEngine(binding.getApplicationContext(), binding.getBinaryMessenger());
                                                               ^
  symbol:   method getBinaryMessenger()
  location: variable binding of type FlutterPluginBinding
1 error

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':firebase_storage:compileDebugJavaWithJavac'.
> Compilation failed; see the compiler error output for details.

Trying to update dependencies caused other issues.
Any tips?
Thank you!

Blank/white screen after login

Can login successfully, but after that see only the blank page, with debug mark
What's wrong?
Flutter doctor- no issues
A lot of errors during the compilation
But the login page was great, why not further? 😭

Cannot support 2 or more groups

Please help

I tried to create more than 1 group to the firebase via the "group-create.js" script
The app show this error.
Screenshot 2020-05-25 at 2 37 45 AM

Here is the error

════════ Exception caught by widgets library ═══════════════════════════════════
The following NoSuchMethodError was thrown building StoreConnector<AppState, ChannelScreenViewModel>(dependencies: [StoreProvider]):
The getter 'authorId' was called on null.
Receiver: null
Tried calling: authorId

The relevant error-causing widget was
StoreConnector<AppState, ChannelScreenViewModel>
lib/…/channel/channel_screen.dart:19
When the exception was thrown, this was the stack
#0 Object.noSuchMethod (dart:core-patch/object_patch.dart:53:5)
#1 ChannelScreenViewModel.fromStore.
package:circles_app/…/channel/channel_screen_viewmodel.dart:42
#2 ChannelScreenViewModelBuilder.update
package:circles_app/…/channel/channel_screen_viewmodel.g.dart:172
#3 new _$ChannelScreenViewModel
package:circles_app/…/channel/channel_screen_viewmodel.g.dart:27
#4 ChannelScreenViewModel.fromStore
package:circles_app/…/channel/channel_screen_viewmodel.dart:40
...

online status, read receipt, and typing status

Some core features are missing for this messaging app. We need read receipts so that a user can know when a message has been read.

We need to know if the user who is there is actively online which can easily be achieved with firebase.

Lastly, we need a way to know if someone is currently typing a reply.

FAILURE: Build failed with an exception.

I am getting the following error logs while trying to build the APP can someone help me with this. here are the console errors.

  • Error running Gradle:
    ProcessException: Process "C:\Users\gopal\Desktop\timy-messenger-master\android\gradlew.bat" exited abnormally:

FAILURE: Build failed with an exception.

  • Where:
    Build file 'C:\Users\gopal\Desktop\timy-messenger-master\android\app\build.gradle' line: 24

  • What went wrong:
    A problem occurred evaluating project ':app'.

ASCII

  • Try:
    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

  • Get more help at https://help.gradle.org

BUILD FAILED in 4s
Command: C:\Users\gopal\Desktop\timy-messenger-master\android\gradlew.bat app:properties

Finished with error: Please review your Gradle project setup in the android/ folder.

Cannot invoke method toInteger() on null object

I tried debugging this app after the setup from the Readme given.
But everytime I debug run the app, this error is thrown
Cannot invoke method toInteger() on null object
On checking in Android Studio, it seems the issue with app-level build.gradle file.
The error lies here on Line 50:

 def (majorNum, minorNum, buildNum) = flutterVersionName.tokenize( '.' )
  versionCode majorNum.toInteger() * 1_000_000 + minorNum.toInteger() * 1_000 + buildNum.toInteger()

Can you help resolving the issue?

Functions deploy error

Describe the bug
Deploying the firebase functions gives the following errors:

Microsoft Windows [Version 10.0.18362.592]
(c) 2019 Microsoft Corporation. All rights reserved.

D:\Projects\Flutter\Projects\gobeans\firebase\functions>firebase deploy

=== Deploying to 'gobeans-team-messenger'...

i  deploying firestore, functions
Running command: npm --prefix "$RESOURCE_DIR" run lint

> functions@ lint D:\Projects\Flutter\Projects\gobeans\firebase\functions
> eslint --max-warnings=0 .


D:\Projects\Flutter\Projects\gobeans\firebase\functions\calendar-update.js
   5:25  error    Use '===' to compare with null                                 no-eq-null
   5:38  error    Expected '!==' and instead saw '!='                            eqeqeq
   6:34  error    Use '===' to compare with null                                 no-eq-null
   6:56  error    Expected '!==' and instead saw '!='                            eqeqeq
  20:56  warning  Expected to return a value at the end of async arrow function  consistent-return
  40:25  error    Use '===' to compare with null                                 no-eq-null
  40:38  error    Expected '!==' and instead saw '!='                            eqeqeq
  41:34  error    Use '===' to compare with null                                 no-eq-null
  41:56  error    Expected '!==' and instead saw '!='                            eqeqeq
  44:9   error    Use '===' to compare with null                                 no-eq-null
  44:21  error    Expected '!==' and instead saw '!='                            eqeqeq
  45:9   error    Use '===' to compare with null                                 no-eq-null
  45:19  error    Expected '!==' and instead saw '!='                            eqeqeq
  47:5   warning  Async arrow function expected no return value                  consistent-return
  73:9   warning  Async arrow function expected no return value                  consistent-return
  77:9   warning  Async arrow function expected no return value                  consistent-return

D:\Projects\Flutter\Projects\gobeans\firebase\functions\channel-edit.js
  24:24  error  Expected '===' and instead saw '=='  eqeqeq
  24:62  error  Expected '===' and instead saw '=='  eqeqeq
  25:26  error  Unexpected `await` inside a loop     no-await-in-loop
  29:17  error  Use '===' to compare with null       no-eq-null
  29:22  error  Expected '!==' and instead saw '!='  eqeqeq
  30:17  error  Unexpected `await` inside a loop     no-await-in-loop
  54:13  error  Use '===' to compare with null       no-eq-null
  54:37  error  Expected '!==' and instead saw '!='  eqeqeq

D:\Projects\Flutter\Projects\gobeans\firebase\functions\channel-new-user.js
  24:47  error  Expected '===' and instead saw '=='  eqeqeq
  50:33  error  Expected '===' and instead saw '=='  eqeqeq
  51:49  error  Expected '===' and instead saw '=='  eqeqeq

D:\Projects\Flutter\Projects\gobeans\firebase\functions\channel-new.js
  14:16  warning  Expected to return a value at the end of async function 'setRsvpGoingForEventCreator'  consistent-return
  42:9   error    Unexpected `await` inside a loop                                                       no-await-in-loop
  42:71  error    Expected '!==' and instead saw '!='                                                    eqeqeq
  51:32  error    Expected '!==' and instead saw '!='                                                    eqeqeq
  67:9   error    Unexpected `await` inside a loop                                                       no-await-in-loop
  79:41  error    Expected '===' and instead saw '=='                                                    eqeqeq

D:\Projects\Flutter\Projects\gobeans\firebase\functions\channel-remove-user.js
  24:13  error  Use '===' to compare with null       no-eq-null
  24:28  error  Expected '===' and instead saw '=='  eqeqeq
  36:51  error  Expected '===' and instead saw '=='  eqeqeq

D:\Projects\Flutter\Projects\gobeans\firebase\functions\cron\event-notify-about-upcoming-event.js
   47:21  error  Unexpected `await` inside a loop     no-await-in-loop
   54:5   error  Unexpected `await` inside a loop     no-await-in-loop
   77:21  error  Expected '===' and instead saw '=='  eqeqeq
   93:9   error  'endFilter' is already defined       no-redeclare
  110:7   error  Unexpected `await` inside a loop     no-await-in-loop
  125:27  error  Unexpected `await` inside a loop     no-await-in-loop
  128:7   error  Unexpected `await` inside a loop     no-await-in-loop
  128:93  error  Expected '===' and instead saw '=='  eqeqeq

D:\Projects\Flutter\Projects\gobeans\firebase\functions\localize-util.js
    8:16  error    Expected '===' and instead saw '=='                      eqeqeq
   16:18  error    Expected '===' and instead saw '=='                      eqeqeq
   18:25  error    Expected '===' and instead saw '=='                      eqeqeq
   29:16  error    Expected '===' and instead saw '=='                      eqeqeq
   37:16  error    Expected '===' and instead saw '=='                      eqeqeq
   38:22  error    Expected '===' and instead saw '=='                      eqeqeq
   40:29  error    Expected '===' and instead saw '=='                      eqeqeq
   46:22  error    Expected '===' and instead saw '=='                      eqeqeq
   48:29  error    Expected '===' and instead saw '=='                      eqeqeq
   63:16  error    Expected '===' and instead saw '=='                      eqeqeq
   97:16  error    Expected '===' and instead saw '=='                      eqeqeq
  110:20  error    Expected '===' and instead saw '=='                      eqeqeq
  115:20  error    Expected '===' and instead saw '=='                      eqeqeq
  134:90  warning  Expected to return a value at the end of arrow function  consistent-return
  136:20  error    Expected '===' and instead saw '=='                      eqeqeq
  142:20  error    Expected '===' and instead saw '=='                      eqeqeq
  149:20  error    Expected '===' and instead saw '=='                      eqeqeq
  150:36  error    Expected '===' and instead saw '=='                      eqeqeq
  152:32  error    Expected '===' and instead saw '=='                      eqeqeq
  166:20  error    Expected '===' and instead saw '=='                      eqeqeq
  181:16  error    Expected '===' and instead saw '=='                      eqeqeq
  193:16  error    Expected '===' and instead saw '=='                      eqeqeq
  213:16  error    Expected '===' and instead saw '=='                      eqeqeq
  222:9   error    Use '===' to compare with null                           no-eq-null
  222:19  error    Expected '===' and instead saw '=='                      eqeqeq
  223:24  error    Expected '===' and instead saw '=='                      eqeqeq
  227:16  error    Expected '===' and instead saw '=='                      eqeqeq
  235:16  error    Expected '===' and instead saw '=='                      eqeqeq
  243:16  error    Expected '===' and instead saw '=='                      eqeqeq
  251:16  error    Expected '===' and instead saw '=='                      eqeqeq
  262:16  error    Expected '===' and instead saw '=='                      eqeqeq

D:\Projects\Flutter\Projects\gobeans\firebase\functions\message-new.js
  26:26  error  Expected '!==' and instead saw '!='  eqeqeq
  44:17  error  Unexpected `await` inside a loop     no-await-in-loop
  45:17  error  Unexpected `await` inside a loop     no-await-in-loop
  46:17  error  Unexpected `await` inside a loop     no-await-in-loop

D:\Projects\Flutter\Projects\gobeans\firebase\functions\push-send.js
   30:32  error  Unexpected `await` inside a loop     no-await-in-loop
   36:37  error  Unexpected `await` inside a loop     no-await-in-loop
   92:50  error  Use '===' to compare with null       no-eq-null
   92:61  error  Expected '!==' and instead saw '!='  eqeqeq
   96:22  error  Use '===' to compare with null       no-eq-null
   96:33  error  Expected '!==' and instead saw '!='  eqeqeq
   96:56  error  Expected '===' and instead saw '=='  eqeqeq
  109:9   error  Use '===' to compare with null       no-eq-null
  109:15  error  Expected '!==' and instead saw '!='  eqeqeq

D:\Projects\Flutter\Projects\gobeans\firebase\functions\reaction-push.js
  22:27  error  Unexpected `await` inside a loop     no-await-in-loop
  32:13  error  Unexpected `await` inside a loop     no-await-in-loop
  40:17  error  Use '===' to compare with null       no-eq-null
  40:23  error  Expected '!==' and instead saw '!='  eqeqeq
  49:17  error  Unexpected `await` inside a loop     no-await-in-loop

D:\Projects\Flutter\Projects\gobeans\firebase\functions\user-util.js
   3:41  warning  Expected to return a value at the end of async arrow function  consistent-return
  13:23  warning  Expected to return a value at the end of arrow function        consistent-return

✖ 95 problems (87 errors, 8 warnings)

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! functions@ lint: `eslint --max-warnings=0 .`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the functions@ lint script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\user\AppData\Roaming\npm-cache\_logs\2020-01-26T03_42_28_109Z-debug.log
events.js:187
      throw er; // Unhandled 'error' event
      ^

Error: spawn npm --prefix "%RESOURCE_DIR%" run lint ENOENT
    at notFoundError (C:\Users\user\AppData\Roaming\npm\node_modules\firebase-tools\node_modules\cross-env\node_modules\cross-spawn\lib\enoent.js:6:26)
    at verifyENOENT (C:\Users\user\AppData\Roaming\npm\node_modules\firebase-tools\node_modules\cross-env\node_modules\cross-spawn\lib\enoent.js:40:16)
    at ChildProcess.cp.emit (C:\Users\user\AppData\Roaming\npm\node_modules\firebase-tools\node_modules\cross-env\node_modules\cross-spawn\lib\enoent.js:27:25)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:272:12)
Emitted 'error' event on ChildProcess instance at:
    at ChildProcess.cp.emit (C:\Users\user\AppData\Roaming\npm\node_modules\firebase-tools\node_modules\cross-env\node_modules\cross-spawn\lib\enoent.js:30:37)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:272:12) {
  code: 'ENOENT',
  errno: 'ENOENT',
  syscall: 'spawn npm --prefix "%RESOURCE_DIR%" run lint',
  path: 'npm --prefix "%RESOURCE_DIR%" run lint',
  spawnargs: []
}

Error: functions predeploy error: Command terminated with non-zero exit code1

To Reproduce

Steps to reproduce the behavior:

  1. Go to 'Firebase>functions'
  2. Run "firebase deploy"

Android: Simplify project setup by removing the '.debug' app ID suffix

Currently developers need to setup two Firebase projects/apps to use the app.

  • One for Release
  • One for Debug, with the .debug suffix

I'd like to remove the .debug suffix from the build.gradle and so make it possible to use only one Firebase project/app (both for release and debug).

Also the android/README.md needs to be updated.

ERROR : imagepicker plugins

Launching lib\main.dart on Android SDK built for x86 in debug mode...
Initializing gradle...
Resolving dependencies...
[{"event":"app.progress","params":{"appId":"6b3cb832-c943-46f5-8b92-5143851d66e4","id":"2","progressId":null,"message":"Running Gradle task 'assembleDebug'..."}}]Running Gradle task 'assembleDebug'...

registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
D:\mobileProject\flutter.pub-cache\hosted\pub.dartlang.org\image_picker-0.4.12+1\android\src\main\java\io\flutter\plugins\imagepicker\ImagePickerDelegate.java:15: error: package android.support.annotation does not exist
import android.support.annotation.VisibleForTesting;
^
D:\mobileProject\flutter.pub-cache\hosted\pub.dartlang.org\image_picker-0.4.12+1\android\src\main\java\io\flutter\plugins\imagepicker\ImagePickerDelegate.java:16: error: cannot find symbol
import android.support.v4.app.ActivityCompat;
^
symbol: class ActivityCompat
location: package android.support.v4.app
D:\mobileProject\flutter.pub-cache\hosted\pub.dartlang.org\image_picker-0.4.12+1\android\src\main\java\io\flutter\plugins\imagepicker\ImagePickerDelegate.java:17: error: package android.support.v4.content does not exist
import android.support.v4.content.FileProvider;
^
D:\mobileProject\flutter.pub-cache\hosted\pub.dartlang.org\image_picker-0.4.12+1\android\src\main\java\io\flutter\plugins\imagepicker\ImagePickerFileProvider.java:3: error: package android.support.v4.content does not exist
import android.support.v4.content.FileProvider;
^
D:\mobileProject\flutter.pub-cache\hosted\pub.dartlang.org\image_picker-0.4.12+1\android\src\main\java\io\flutter\plugins\imagepicker\ImagePickerFileProvider.java:10: error: cannot find symbol
public class ImagePickerFileProvider extends FileProvider {}
^
symbol: class FileProvider
D:\mobileProject\flutter.pub-cache\hosted\pub.dartlang.org\image_picker-0.4.12+1\android\src\main\java\io\flutter\plugins\imagepicker\ImagePickerPlugin.java:8: error: package android.support.annotation does not exist
import android.support.annotation.VisibleForTesting;
^
D:\mobileProject\flutter.pub-cache\hosted\pub.dartlang.org\image_picker-0.4.12+1\android\src\main\java\io\flutter\plugins\imagepicker\ImagePickerDelegate.java:68: error: cannot find symbol
@VisibleForTesting static final int REQUEST_CODE_CHOOSE_IMAGE_FROM_GALLERY = 2342;
^
symbol: class VisibleForTesting
location: class ImagePickerDelegate
D:\mobileProject\flutter.pub-cache\hosted\pub.dartlang.org\image_picker-0.4.12+1\android\src\main\java\io\flutter\plugins\imagepicker\ImagePickerDelegate.java:69: error: cannot find symbol
@VisibleForTesting static final int REQUEST_CODE_TAKE_IMAGE_WITH_CAMERA = 2343;
^
symbol: class VisibleForTesting
location: class ImagePickerDelegate
D:\mobileProject\flutter.pub-cache\hosted\pub.dartlang.org\image_picker-0.4.12+1\android\src\main\java\io\flutter\plugins\imagepicker\ImagePickerDelegate.java:70: error: cannot find symbol
@VisibleForTesting static final int REQUEST_EXTERNAL_IMAGE_STORAGE_PERMISSION = 2344;
^
symbol: class VisibleForTesting
location: class ImagePickerDelegate
D:\mobileProject\flutter.pub-cache\hosted\pub.dartlang.org\image_picker-0.4.12+1\android\src\main\java\io\flutter\plugins\imagepicker\ImagePickerDelegate.java:71: error: cannot find symbol
@VisibleForTesting static final int REQUEST_CAMERA_IMAGE_PERMISSION = 2345;
^
symbol: class VisibleForTesting
location: class ImagePickerDelegate
D:\mobileProject\flutter.pub-cache\hosted\pub.dartlang.org\image_picker-0.4.12+1\android\src\main\java\io\flutter\plugins\imagepicker\ImagePickerDelegate.java:72: error: cannot find symbol
@VisibleForTesting static final int REQUEST_CODE_CHOOSE_VIDEO_FROM_GALLERY = 2352;
^
symbol: class VisibleForTesting
location: class ImagePickerDelegate
D:\mobileProject\flutter.pub-cache\hosted\pub.dartlang.org\image_picker-0.4.12+1\android\src\main\java\io\flutter\plugins\imagepicker\ImagePickerDelegate.java:73: error: cannot find symbol
@VisibleForTesting static final int REQUEST_CODE_TAKE_VIDEO_WITH_CAMERA = 2353;
^
symbol: class VisibleForTesting
location: class ImagePickerDelegate
D:\mobileProject\flutter.pub-cache\hosted\pub.dartlang.org\image_picker-0.4.12+1\android\src\main\java\io\flutter\plugins\imagepicker\ImagePickerDelegate.java:74: error: cannot find symbol
@VisibleForTesting static final int REQUEST_EXTERNAL_VIDEO_STORAGE_PERMISSION = 2354;
^
symbol: class VisibleForTesting
location: class ImagePickerDelegate
D:\mobileProject\flutter.pub-cache\hosted\pub.dartlang.org\image_picker-0.4.12+1\android\src\main\java\io\flutter\plugins\imagepicker\ImagePickerDelegate.java:75: error: cannot find symbol
@VisibleForTesting static final int REQUEST_CAMERA_VIDEO_PERMISSION = 2355;
^
symbol: class VisibleForTesting
location: class ImagePickerDelegate
D:\mobileProject\flutter.pub-cache\hosted\pub.dartlang.org\image_picker-0.4.12+1\android\src\main\java\io\flutter\plugins\imagepicker\ImagePickerDelegate.java:77: error: cannot find symbol
@VisibleForTesting final String fileProviderName;
^
symbol: class VisibleForTesting
location: class ImagePickerDelegate
D:\mobileProject\flutter.pub-cache\hosted\pub.dartlang.org\image_picker-0.4.12+1\android\src\main\java\io\flutter\plugins\imagepicker\ImagePickerDelegate.java:164: error: cannot find symbol
@VisibleForTesting
^
symbol: class VisibleForTesting
location: class ImagePickerDelegate
D:\mobileProject\flutter.pub-cache\hosted\pub.dartlang.org\image_picker-0.4.12+1\android\src\main\java\io\flutter\plugins\imagepicker\ImagePickerPlugin.java:40: error: cannot find symbol
@VisibleForTesting
^
symbol: class VisibleForTesting
location: class ImagePickerPlugin
D:\mobileProject\flutter.pub-cache\hosted\pub.dartlang.org\image_picker-0.4.12+1\android\src\main\java\io\flutter\plugins\imagepicker\ImagePickerDelegate.java:122: error: cannot find symbol
return ActivityCompat.checkSelfPermission(activity, permissionName)
^
symbol: variable ActivityCompat
D:\mobileProject\flutter.pub-cache\hosted\pub.dartlang.org\image_picker-0.4.12+1\android\src\main\java\io\flutter\plugins\imagepicker\ImagePickerDelegate.java:128: error: cannot find symbol
ActivityCompat.requestPermissions(activity, new String[] {permissionName}, requestCode);
^
symbol: variable ActivityCompat
D:\mobileProject\flutter.pub-cache\hosted\pub.dartlang.org\image_picker-0.4.12+1\android\src\main\java\io\flutter\plugins\imagepicker\ImagePickerDelegate.java:140: error: cannot find symbol
return FileProvider.getUriForFile(activity, fileProviderName, file);
^
symbol: variable FileProvider
20 errors

FAILURE: Build failed with an exception.

  • What went wrong:
    Execution failed for task ':image_picker:compileDebugJavaWithJavac'.

Compilation failed; see the compiler error output for details.

  • Try:
    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

  • Get more help at https://help.gradle.org

BUILD FAILED in 2s
AndroidX incompatibilities may have caused this build to fail. See https://goo.gl/CP92wY.
Finished with error: Gradle task assembleDebug failed with exit code 1

Step-by-step Android Firebase setup

Seen that some devs are having issues with the Android setup #16

I'd love is someone can write a step-by-step documentation on the /android/README.md file on how to register the Timy Messenger app on Firebase:

  • Add the app on Firebase.
  • Be sure that the app id is correct
  • Where to put the google services json.
  • Plus adding some sort of troubleshooting / FAQ.

Android: Fix app compatibility with "master channel"

UPDATE

Due to the dependency with the stryder-dev/flutter_platform_widgets#90 issue, we cannot currently support master. I will update the README.md accordingly.


Currently the app won't build with the Flutter master channel, but it still works with stable or beta.

Flutter Doctor:

Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel master, v1.10.6-pre.19, on Mac OS X 10.15 19A583, locale
    en-DE)

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
[✓] Xcode - develop for iOS and macOS (Xcode 11.1)
[✓] Chrome - develop for the web
[✓] Android Studio (version 3.5)
[✓] IntelliJ IDEA Ultimate Edition (version 2019.2.1)
[✓] Connected device (3 available)

• No issues found!

Error logs

/Users/miquel/dev/projects/timy-messenger/android/app/src/debug/AndroidManifest.xml:22:18-91 Error:
	Attribute application@appComponentFactory value=(android.support.v4.app.CoreComponentFactory) from [com.android.support:support-compat:28.0.0] AndroidManifest.xml:22:18-91
	is also present at [androidx.core:core:1.0.2] AndroidManifest.xml:22:18-86 value=(androidx.core.app.CoreComponentFactory).
	Suggestion: add 'tools:replace="android:appComponentFactory"' to <application> element at AndroidManifest.xml:9:5-36:19 to override.

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:processDebugManifest'.
> Manifest merger failed : Attribute application@appComponentFactory value=(android.support.v4.app.CoreComponentFactory) from [com.android.support:support-compat:28.0.0] AndroidManifest.xml:22:18-91
  	is also present at [androidx.core:core:1.0.2] AndroidManifest.xml:22:18-86 value=(androidx.core.app.CoreComponentFactory).
  	Suggestion: add 'tools:replace="android:appComponentFactory"' to <application> element at AndroidManifest.xml:9:5-36:19 to override.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 16s
AndroidX incompatibilities may have caused this build to fail. See https://goo.gl/CP92wY.
Finished with error: Gradle task assembleDebug failed with exit code 1

TODO:

  • Update Android project to fix issue.

Flutter version 1.10.5 gave error - Because circles_app depends on flutter_platform_widgets >=0.32.0 which requires SDK version >=2.6.0 <3.0.0, version solving failed.

punreachrany@Punreachs-MacBook-Pro timy-messenger-master % flutter version 1.10.5
Switching Flutter to version 1.10.5

Downloading engine...
Downloading Android Maven dependencies... 0,9s

Flutter 1.10.5 • channel unknown • unknown source
Framework • revision 3cf88fed6d (10 months ago) • 2019-09-18 23:09:41 -0400
Engine • revision 33ad6757e8
Tools • Dart 2.6.0 (build 2.6.0-dev.0.0 cb80ea7ba9)

The current Dart SDK version is 2.6.0-dev.0.0.flutter-cb80ea7ba9.

Because circles_app depends on flutter_platform_widgets >=0.32.0 which requires SDK version >=2.6.0 <3.0.0, version solving failed.
Running "flutter pub upgrade" in timy-messenger-master...
pub upgrade failed (1)
punreachrany@Punreachs-MacBook-Pro timy-messenger-master %

Doesn't work after reloading "No matching client found for package name 'de.janoodle.circlesApp'"

Describe the bug

I reloaded the project (actually updated, but after that it became unworking)

  • What went wrong:
    Execution failed for task ':app:processDebugGoogleServices'.
    No matching client found for package name 'de.janoodle.circlesApp'

(yeah, yeah, it seems like the problem is in google-services.json, but...
I cannot understand where it goes from)
(because I tried everything, changing apps in firebase, editing the config, changing all the names in the project, DELETING the project in firebase)

To Reproduce

Steps to reproduce the behavior:

  1. Clone the project
  2. Set up firebase
  3. Put JSON where it should be
  4. Debug

Expected behavior

Run the project :D

Device Information:

  • Device: Xiaomi 9
  • OS: Android 9

Flutter Information

[√] Flutter (Channel stable, v1.9.1+hotfix.4, on Microsoft Windows [Version 10.0.18990.1], locale en-US)
   • Flutter version 1.9.1+hotfix.4 at C:\src\flutter\flutter
   • Framework revision cc949a8e8b (2 weeks ago), 2019-09-27 15:04:59 -0700
   • Engine revision b863200c37
   • Dart version 2.5.0


[√] Android toolchain - develop for Android devices (Android SDK version 29.0.0)
   • Android SDK at C:\Users\****\AppData\Local\Android\sdk
   • Android NDK location not configured (optional; useful for native profiling support)
   • Platform android-29, build-tools 29.0.0
   • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
   • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b03)
   • All Android licenses accepted.

[√] Android Studio (version 3.5)
   • Android Studio at C:\Program Files\Android\Android Studio
   • Flutter plugin version 40.1.2
   • Dart plugin version 191.8423
   • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b03)

[√] VS Code (version 1.39.1)
   • VS Code at C:\Users\****\AppData\Local\Programs\Microsoft VS Code
   • Flutter extension version 3.5.1

[√] Connected device (1 available)
   • MI 9 • cbfecdcd • android-arm64 • Android 9 (API 28)

• No issues found!

Logs

Launching lib\main.dart on MI 9 in debug mode...
Initializing gradle...
Resolving dependencies...
Running Gradle task 'assembleDebug'...
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:processDebugGoogleServices'.
> No matching client found for package name 'de.janoodle.circlesApp'

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 20s
Finished with error: Gradle task assembleDebug failed with exit code 1

Additional context

Maybe i'm just a dumb, or cannot find what changed
Sorry for disturbing again, but i'm confused 😥 (especially after the new changes)

════════ Exception caught by widgets library ═════════════════════════════════════════════════

Simulator Screen Shot - iPhone 11 Pro Max - 2020-01-29 at 19 54 37
The following NoSuchMethodError was thrown building LayoutBuilder:
The method 'toDouble' was called on null.
Receiver: null
Tried calling: toDouble()

The relevant error-causing widget was:
LayoutBuilder file:///Users/lib/presentation/calendar/calendar_screen.dart:214:12
When the exception was thrown, this was the stack:
#0 Object.noSuchMethod (dart:core-patch/object_patch.dart:53:5)
#1 double.* (dart:core-patch/double.dart:38:23)
#2 CalendarScreen._buildCalendarList (package:circles_app/presentation/calendar/calendar_screen.dart:149:37)
#3 CalendarScreen._calendar. (package:circles_app/presentation/calendar/calendar_screen.dart:221:20)
#4 _LayoutBuilderElement._layout. (package:flutter/src/widgets/layout_builder.dart)
...
════════════════════════════════════════════════════════════════════════════════════════════════════

════════ (2) Exception caught by rendering library ═════════════════════════════════════════════════
A RenderFlex overflowed by 99768 pixels on the right.
The relevant error-causing widget was:
Row file:///Users/lib/presentation/home/circles_drawer.dart:54:14
════════════════════════════════════════════════════════════════════════════════════════════════════
[VERBOSE-2:ui_dart_state.cc(157)] Unhandled Exception: 'package:flutter/src/widgets/scroll_controller.dart': Failed assertion: line 110 pos 12: '_positions.isNotEmpty': ScrollController not attached to any scroll views.
#0 _AssertionError._doThrowNew (dart:core-patch/errors_patch.dart:42:39)
#1 _AssertionError._throwNew (dart:core-patch/errors_patch.dart:38:5)
#2 ScrollController.position (package:flutter/src/widgets/scroll_controller.dart:110:12)
#3 ScrollController.offset (package:flutter/src/widgets/scroll_controller.dart:118:24)
#4 CalendarScreen.build.. (package:circles_app/presentation/calendar/calendar_screen.dart:313:35)
#5 new Future.delayed. (dart:async/future.dart:316:39)
#6 _rootRun (dart:async/zone.dart:1122:38)
#7 _CustomZone.run (dart:async/zone.dart:1023:19)
#8 _CustomZone.runGuarded (dart:async/zone.dart:925:7)
#9 _CustomZone.bindCallbackGuarded. (dart:async/z<…>

NB!!!! And does the emoji reactions, do they work cos i can't still figured it out.
Simulator Screen Shot - iPhone 11 Pro Max - 2020-01-29 at 19 54 37

SSL Handshake exception.

I am trying to build the app using android studio I am repeatedly getting the following error. I am confused on how to fix this.

Exception in thread "main" javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:994)
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1367)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1395)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1379)
at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:559)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1564)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1492)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:263)
at org.gradle.wrapper.Download.downloadInternal(Download.java:58)
at org.gradle.wrapper.Download.download(Download.java:44)
at org.gradle.wrapper.Install$1.call(Install.java:61)
at org.gradle.wrapper.Install$1.call(Install.java:48)
at org.gradle.wrapper.ExclusiveFileAccessManager.access(ExclusiveFileAccessManager.java:65)
at org.gradle.wrapper.Install.createDist(Install.java:48)
at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:128)
at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:61)
Caused by: java.io.EOFException: SSL peer shut down incorrectly
at sun.security.ssl.InputRecord.read(InputRecord.java:505)
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:975)
... 16 more
Command: C:\Users\gopal\Desktop\timy-messenger-master\android\gradlew.bat -v

The user tab (to show user details and logout button), the guest list in an event and the members list in a group is not visible.

Before reporting a bug, be sure that you followed the README.md instructions.

If you still had a bug after following the instructions, please go ahead filling this template.

All incomplete bug reports will be marked as 'invalid' and closed.

Describe the bug

A clear and concise description of what the bug is.

To Reproduce

Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior

A clear and concise description of what you expected to happen.

Screenshots

If applicable, add screenshots to help explain your problem.

Device Information:

  • Device: [e.g. iPhone6]
  • OS: [e.g. iOS8.1]

Flutter Information

  • flutter doctor output

Logs

Paste relevant output logs inside this quotes

Additional context

Add any other context about the problem here.

need new user registration ui and backend

We need a simple way of registering a new user on the app, and creating groups. You are expecting the coders to create this ui and functionality ourselves which is a large task if we are new to coding and trying to understand, implement, and adapt your code. Please take a few days and create registration and create-group options to help us out. Without these key functionalities, I can't use your app as a base for the instant messaging section of my flutter app.

Move localization to client

The issue has been raised after a new locale has been added in #8.
When it comes to localization we're currently using a server and client-side approach.

Currently only remote (push) notifications are localized on server-side. E.g. in

* Building notification title for RSVP update for event author.

We should consider replacing the server-side approach with localizing solely on our clients.

FYI: Previously also system messages were localized in our backend but have been moved back to our clients using the approach described in #8 (comment)

[Request] Blank Screen : Flutter version Flutter 1.10.5 Dart 2.6.0 [Failure]

what is the solution?

first: I have followed all instructions and created all firebase requirements as attached...

with Flutter as:
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, v1.17.0-4.0.pre.3, on Mac OS X 10.14.6 18G87, locale en-US)

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
[✓] Xcode - develop for iOS and macOS (Xcode 11.3.1)
[✓] Android Studio (version 3.5)
[✓] VS Code (version 1.45.1)
[✓] Connected device (1 available)

Result:

1- Blank Screen after successful login
2- get the following warnings:
I. "message": "'body1' is deprecated and shouldn't be used. The modern term is
bodyText2
II. "message": "'inheritFromWidgetOfExactType' is deprecated and shouldn't be used.
Use dependOnInheritedWidgetOfExactType instead.

Second: i downgraded flutter to version 1.10.5 by running flutter version v1.10.5

so flutter doctor result is:
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel unknown, v1.10.5, on Mac OS X 10.14.6 18G87, locale en-US)

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
[✓] Xcode - develop for iOS and macOS (Xcode 11.3.1)
[✓] Android Studio (version 3.5)
[✓] VS Code (version 1.45.1)
[✓] Connected device (1 available)

• No issues found!

Result: Running [flutter pub get ] failed with the following messege:

The current Dart SDK version is 2.6.0-dev.0.0.flutter-cb80ea7ba9.
Because circles_app depends on flutter_platform_widgets >=0.32.0 which requires SDK version >=2.6.0 <3.0.0, version solving failed.
pub get failed (1)
Exited (1)
------------------------------------------------attachments
Authontication
functions
channels
groups-doc
groups
users

FAILURE: Build failed with an exception. Running Gradle task 'assembleDebug'

Description:

Hi I'm new to Flutter and Dart. I installed the environment as described in the documetation and resolved a a few errors related to;

1) FirebaseStorage unresolved reference:

I've updated the dependencies as follows;
Firebase dependencies
firebase_core: ^0.4.0+9
firebase_analytics: ^5.0.2
cloud_firestore: ^0.12.9+5
firebase_auth: ^0.14.0+5
google_sign_in: ^4.0.1
firebase_storage: ^3.0.5
firebase_messaging: ^5.1.3
firebase_crashlytics: ^0.1.0+2

2) Execution failed for task ':app:compileDebugKotlin'

Updated the kotlin_version by upgrading to 1.3.50. Resolved some errors, others in the logs remains.

Any assistance or pointing in the right direction would be greatly appreciated.
Thanks!

To Reproduce

Steps to reproduce the behavior:

  1. In Android Studion. Go to 'Run,
  2. Click on Run main,dart
  3. Select console window.
  4. See error

Expected behavior

Application should launch on Android emulator

Device Information:

  • Device: Emulator Pixel 3 API 20
  • OS: Android 10.0

Flutter Information

  • flutter doctor output
    Doctor summary (to see all details, run flutter doctor -v):
    [√] Flutter (Channel unknown, v1.10.5, on Microsoft Windows [Version 6.1.7601]
    ,
    locale en-US)
    [√] Android toolchain - develop for Android devices (Android SDK version 29.0.

[√] Android Studio (version 3.5)
[√] VS Code, 64-bit edition (version 1.40.1)
[√] Connected device (1 available)

ΓÇó No issues found!

Logs

C:\flutter\packages\circles_app>flutter run
Using hardware rendering with device Android SDK built for x86. If you get
graphics artifacts, consider enabling software rendering with
"--enable-software-rendering".
Launching lib\main.dart on Android SDK built for x86 in debug mode...
Initializing gradle...                                              1.2s
Resolving dependencies...                                          30.5s
Running Gradle task 'assembleDebug'...
e: C:\flutter\packages\circles_app\android\app\src\main\kotlin\com\example\circl
es_app\UploadPlatform.kt: (15, 36): Unresolved reference: FirebaseStorage

e: C:\flutter\packages\circles_app\android\app\src\main\kotlin\com\example\circl
es_app\UploadPlatform.kt: (16, 36): Unresolved reference: StorageReference

e: C:\flutter\packages\circles_app\android\app\src\main\kotlin\com\example\circl
es_app\UploadPlatform.kt: (298, 19): Unresolved reference: FirebaseStorage

e: C:\flutter\packages\circles_app\android\app\src\main\kotlin\com\example\circl
es_app\UploadPlatform.kt: (333, 13): Unresolved reference: StorageReference

e: C:\flutter\packages\circles_app\android\app\src\main\kotlin\com\example\circl
es_app\UploadPlatform.kt: (334, 28): Cannot infer a type for this parameter. Ple
ase specify it explicitly.

e: C:\flutter\packages\circles_app\android\app\src\main\kotlin\com\example\circl
es_app\UploadPlatform.kt: (342, 57): Cannot infer a type for this parameter. Ple
ase specify it explicitly.



FAILURE: Build failed with an exception.



* What went wrong:

Execution failed for task ':app:compileDebugKotlin'.

> Compilation error. See log for more details

* Try:

Run with --stacktrace option to get the stack trace. Run with --info or --debug
option to get more log output. Run with --scan to get full insights.



* Get more help at https://help.gradle.org



BUILD FAILED in 1m 27s
Running Gradle task 'assembleDebug'...                             88.4s
Gradle task assembleDebug failed with exit code 1

C:\flutter\packages\circles_app>

Additional context

Add any other context about the problem here.

firebase error

[+215578 ms] FAILURE: Build failed with an exception.
[ +6 ms] * What went wrong:
[ +2 ms] A problem occurred configuring project ':firebase_crashlytics'.
[ +358 ms] > Could not resolve all artifacts for configuration ':firebase_crashlytics:classpath'.
[ +902 ms] > Could not download gradle.jar (com.android.tools.build:gradle:3.3.2)
[ +805 ms] > Could not get resource 'https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/3.3.2/gradle-3.3.2.jar'.
[ +340 ms] > Could not GET 'https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/3.3.2/gradle-3.3.2.jar'.
[ +8 ms] > dl.google.com
[ +305 ms] > Could not download builder.jar (com.android.tools.build:builder:3.3.2)
[ +1 ms] > Could not get resource 'https://dl.google.com/dl/android/maven2/com/android/tools/build/builder/3.3.2/builder-3.3.2.jar'.
[ +1 ms] > Could not GET 'https://dl.google.com/dl/android/maven2/com/android/tools/build/builder/3.3.2/builder-3.3.2.jar'.
[ +3 ms] > dl.google.com
[ +644 ms] > Could not download crash.jar (com.android.tools.analytics-library:crash:26.3.2)
[ +701 ms] > Could not get resource 'https://dl.google.com/dl/android/maven2/com/android/tools/analytics-library/crash/26.3.2/crash-26.3.2.jar'.
[ +417 ms] > Could not GET 'https://dl.google.com/dl/android/maven2/com/android/tools/analytics-library/crash/26.3.2/crash-26.3.2.jar'.
[ +564 ms] > dl.google.com
[ +435 ms] > Could not download gradle-api.jar (com.android.tools.build:gradle-api:3.3.2)
[ +355 ms] > Could not get resource 'https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle-api/3.3.2/gradle-api-3.3.2.jar'.
[ +347 ms] > Could not GET 'https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle-api/3.3.2/gradle-api-3.3.2.jar'.
[ +472 ms] > dl.google.com
[ +471 ms] > Could not download databinding-compiler-common.jar (androidx.databinding:databinding-compiler-common:3.3.2)
[ +511 ms] > Could not get resource
'https://dl.google.com/dl/android/maven2/androidx/databinding/databinding-compiler-common/3.3.2/databinding-compiler-common-3.3.2.jar'.
[ +863 ms] > Could not GET
'https://dl.google.com/dl/android/maven2/androidx/databinding/databinding-compiler-common/3.3.2/databinding-compiler-common-3.3.2.jar'.
[ +700 ms] > dl.google.com
[ +372 ms] > Could not download manifest-merger.jar (com.android.tools.build:manifest-merger:26.3.2)
[ +509 ms] > Could not get resource
'https://dl.google.com/dl/android/maven2/com/android/tools/build/manifest-merger/26.3.2/manifest-merger-26.3.2.jar'.
[ +541 ms] > Could not GET 'https://dl.google.com/dl/android/maven2/com/android/tools/build/manifest-merger/26.3.2/manifest-merger-26.3.2.jar'.
[ +522 ms] > dl.google.com
[ +402 ms] > Could not download sdk-common.jar (com.android.tools:sdk-common:26.3.2)
[ +147 ms] > Could not get resource 'https://dl.google.com/dl/android/maven2/com/android/tools/sdk-common/26.3.2/sdk-common-26.3.2.jar'.
[ +644 ms] > Could not GET 'https://dl.google.com/dl/android/maven2/com/android/tools/sdk-common/26.3.2/sdk-common-26.3.2.jar'.
[ +345 ms] > dl.google.com
[ +346 ms] > Could not download builder-test-api.jar (com.android.tools.build:builder-test-api:3.3.2)
[ +340 ms] > Could not get resource
'https://dl.google.com/dl/android/maven2/com/android/tools/build/builder-test-api/3.3.2/builder-test-api-3.3.2.jar'.
[ +327 ms] > Could not GET 'https://dl.google.com/dl/android/maven2/com/android/tools/build/builder-test-api/3.3.2/builder-test-api-3.3.2.jar'.
[ +4 ms] > dl.google.com
[ +135 ms] > Could not download ddmlib.jar (com.android.tools.ddms:ddmlib:26.3.2)
[ +929 ms] > Could not get resource 'https://dl.google.com/dl/android/maven2/com/android/tools/ddms/ddmlib/26.3.2/ddmlib-26.3.2.jar'.
[ +417 ms] > Could not GET 'https://dl.google.com/dl/android/maven2/com/android/tools/ddms/ddmlib/26.3.2/ddmlib-26.3.2.jar'.
[ +7 ms] > dl.google.com
[ +354 ms] > Could not download sdklib.jar (com.android.tools:sdklib:26.3.2)
[ +345 ms] > Could not get resource 'https://dl.google.com/dl/android/maven2/com/android/tools/sdklib/26.3.2/sdklib-26.3.2.jar'.
[ +345 ms] > Could not GET 'https://dl.google.com/dl/android/maven2/com/android/tools/sdklib/26.3.2/sdklib-26.3.2.jar'.
[ +1 ms] > dl.google.com
[ +473 ms] > Could not download layoutlib-api.jar (com.android.tools.layoutlib:layoutlib-api:26.3.2)
[ +570 ms] > Could not get resource
'https://dl.google.com/dl/android/maven2/com/android/tools/layoutlib/layoutlib-api/26.3.2/layoutlib-api-26.3.2.jar'.
[ +616 ms] > Could not GET 'https://dl.google.com/dl/android/maven2/com/android/tools/layoutlib/layoutlib-api/26.3.2/layoutlib-api-26.3.2.jar'.
[ +594 ms] > dl.google.com
[ +371 ms] > Could not download dvlib.jar (com.android.tools:dvlib:26.3.2)
[ +2 ms] > Could not get resource 'https://dl.google.com/dl/android/maven2/com/android/tools/dvlib/26.3.2/dvlib-26.3.2.jar'.
[ +1 ms] > Could not GET 'https://dl.google.com/dl/android/maven2/com/android/tools/dvlib/26.3.2/dvlib-26.3.2.jar'.
[ +1 ms] > dl.google.com
[ +1 ms] > Could not download repository.jar (com.android.tools:repository:26.3.2)
[ +1 ms] > Could not get resource 'https://dl.google.com/dl/android/maven2/com/android/tools/repository/26.3.2/repository-26.3.2.jar'.
[ +413 ms] > Could not GET 'https://dl.google.com/dl/android/maven2/com/android/tools/repository/26.3.2/repository-26.3.2.jar'.
[ +582 ms] > dl.google.com
[ +2 ms] > Could not download common.jar (com.android.tools:common:26.3.2)
[ +377 ms] > Could not get resource 'https://dl.google.com/dl/android/maven2/com/android/tools/common/26.3.2/common-26.3.2.jar'.
[ +4 ms] > Could not GET 'https://dl.google.com/dl/android/maven2/com/android/tools/common/26.3.2/common-26.3.2.jar'.
[ +615 ms] > dl.google.com
[ +691 ms] > Could not download builder-model.jar (com.android.tools.build:builder-model:3.3.2)
[ +365 ms] > Could not get resource 'https://dl.google.com/dl/android/maven2/com/android/tools/build/builder-model/3.3.2/builder-model-3.3.2.jar'.
[ +584 ms] > Could not GET 'https://dl.google.com/dl/android/maven2/com/android/tools/build/builder-model/3.3.2/builder-model-3.3.2.jar'.
[ +406 ms] > dl.google.com
[ +4 ms] > Could not download protos.jar (com.android.tools.analytics-library:protos:26.3.2)
[ +407 ms] > Could not get resource 'https://dl.google.com/dl/android/maven2/com/android/tools/analytics-library/protos/26.3.2/protos-26.3.2.jar'.
[ +3 ms] > Could not GET 'https://dl.google.com/dl/android/maven2/com/android/tools/analytics-library/protos/26.3.2/protos-26.3.2.jar'.
[ +1 ms] > dl.google.com
[ +1 ms] > Could not download apkzlib.jar (com.android.tools.build:apkzlib:3.3.2)
[ +1 ms] > Could not get resource 'https://dl.google.com/dl/android/maven2/com/android/tools/build/apkzlib/3.3.2/apkzlib-3.3.2.jar'.
[ +786 ms] > Could not GET 'https://dl.google.com/dl/android/maven2/com/android/tools/build/apkzlib/3.3.2/apkzlib-3.3.2.jar'.
[ +575 ms] > dl.google.com
[ +696 ms] > Could not download apksig.jar (com.android.tools.build:apksig:3.3.2)
[ +26 ms] > Could not get resource 'https://dl.google.com/dl/android/maven2/com/android/tools/build/apksig/3.3.2/apksig-3.3.2.jar'.
[ +2 ms] > Could not GET 'https://dl.google.com/dl/android/maven2/com/android/tools/build/apksig/3.3.2/apksig-3.3.2.jar'.
[ +1 ms] > dl.google.com
[ +1 ms] > Could not download annotations.jar (com.android.tools:annotations:26.3.2)
[ +1 ms] > Could not get resource 'https://dl.google.com/dl/android/maven2/com/android/tools/annotations/26.3.2/annotations-26.3.2.jar'.
[ +1 ms] > Could not GET 'https://dl.google.com/dl/android/maven2/com/android/tools/annotations/26.3.2/annotations-26.3.2.jar'.
[ +1 ms] > dl.google.com
[ +1 ms] > Could not download databinding-common.jar (androidx.databinding:databinding-common:3.3.2)
[ +3 ms] > Could not get resource
'https://dl.google.com/dl/android/maven2/androidx/databinding/databinding-common/3.3.2/databinding-common-3.3.2.jar'.
[+1182 ms] > Could not GET 'https://dl.google.com/dl/android/maven2/androidx/databinding/databinding-common/3.3.2/databinding-common-3.3.2.jar'.
[ +357 ms] > dl.google.com
[ +1 ms] > Could not download baseLibrary.jar (com.android.databinding:baseLibrary:3.3.2)
[ +1 ms] > Could not get resource 'https://dl.google.com/dl/android/maven2/com/android/databinding/baseLibrary/3.3.2/baseLibrary-3.3.2.jar'.
[ +1 ms] > Could not GET 'https://dl.google.com/dl/android/maven2/com/android/databinding/baseLibrary/3.3.2/baseLibrary-3.3.2.jar'.
[ ] > dl.google.com
[ +1 ms] > Could not get unknown property 'android' for project ':firebase_crashlytics' of type org.gradle.api.Project.
[ +2 ms] * Try:
[ +1 ms] Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full
insights.
[ +895 ms] * Get more help at https://help.gradle.org
[ +435 ms] BUILD FAILED in 3m 47s

Configure CI

Configure some sort of free CI that can check test and analyze on PRs.

Maybe Bitrise is the best option.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.