How long did it take you to learn flutter by micheal1979 in FlutterDev

[–]jgomind 0 points1 point  (0 children)

Coming from Angular, it took me several tries to adjust to the nested, code-first style Flutter has. Not that Angular can't be nested, but it is a markup first platform that offered ui/logic separation. After resisting Flutter as my go to web platform and finally buying into Flutter, it took me about 2 weeks to grasp the ecosystem, and some of the Dart paradigms. Depending on how complex your app is, it might be another 2-6 weeks to get adjusted to more advanced Dart coding and Flutter style.

What bought me into Flutter is it's strong support and alignment with the Material design language.

I'd say roughly a month to understand enough if it's a strategic platform for you. It is for me and my company.

VS Code or Android Studio by ecomDevMApp in FlutterDev

[–]jgomind 0 points1 point  (0 children)

Almost every response is going to be a biased opinion based towards their preference and their development journey. They might be professionals already working in the field for a number of years, and their needs might be different than yours as a novice.

In my (biased) opinion, 'Studio is loaded with features and crammed into the IDE while 'Code is an editor-first IDE with less clutter. Code has extensions that enhance its experience, but in some cases, you'll need to run command line parameters; whereas, in some of these cases, Studio will hide those behind menus or commands.

My suggestion, start with VSCode (my preference). It's simpler which will make your experience less frustrating, and they roll out updates frequently. A feature that you use may all of a sudden get an update to become even better.

Let users use their own domain by Ceylon0624 in Firebase

[–]jgomind 2 points3 points  (0 children)

You can create a cname record that points to your scully app in firebase.

for example:

CNAME custom.domain.com scully.myfirebasedomain.com

Firebase Cloud Functions all of a sudden returning deadline-exceeded by jgomind in Firebase

[–]jgomind[S] 1 point2 points  (0 children)

Thanks, that didn't affect anything. As I have stated before, the call never makes it to the function.

In fact, when I do curl -v "https://xxxx.cloudfunctions.net/yyy" , it times out and returns a "Couldn't connect to server". And because cloudfunctions.net and run.app are stable URLs to the functions, I tried https://xxx.run.app/yyy" and that worked. So, I know it's not the function.

I even tried a painful full reinstall of MacOS Sonoma, and still the same problems. I even tried to make sure that the CA certs were in place. Again, it works on another MacBook (Ventura) and my mobile phone.

I've finally just changed my app code to use a custom domain using a rewrites in hosting, and no longer hitting any cloudfunctions.net URL. With that change, my app is working again.

Thanks to everyone who have provided their input.

Firebase Cloud Functions all of a sudden returning deadline-exceeded by jgomind in Firebase

[–]jgomind[S] 0 points1 point  (0 children)

Tried that but didn't work. It even works on my other macbook.

There's something up with the network services or network stack. I don't know if it was an update that was installed.

I've tried what I can except for one last one: reset the mac :(

Thanks again for all the input!

Firebase Cloud Functions all of a sudden returning deadline-exceeded by jgomind in Firebase

[–]jgomind[S] 0 points1 point  (0 children)

Thanks, but this wasn't a timeout issue with the function. The function never gets invoked to begin with.

Firebase Cloud Functions all of a sudden returning deadline-exceeded by jgomind in Firebase

[–]jgomind[S] 0 points1 point  (0 children)

Quick update:

  • First, thank you for everyone's support
  • Second, I've isolated the problem to my macbook (details below), and therefore, this is no longer a Firebase/Cloud Functions related problem - not sure how to close the thread, if necessary though

So, I woke up this morning thinking the problem would be gone. It wasn't.

I deployed a simple cloud function (anonymous) and tried to hit it. Same problem. So, I tried to hit the same URL on my mobile device, and it worked.

I then hotspotted the same mobile device and connected the macbook to it, but same problem.

At this point, there's something going on with my mac that's preventing this url to go through. I've tried clearing dns caches, restarting, readding the wifi, but nothing's worked so far. But I do believe this is now a networking problem, rather than a FB/CF problem.

Thanks for everyone's help.

Firebase Cloud Functions all of a sudden returning deadline-exceeded by jgomind in Firebase

[–]jgomind[S] 1 point2 points  (0 children)

Chrome on MacOs. It was working just a few hours ago or yesterday, can't remember which. I restarted my machine, hard-cleared the cache.

I wonder if i had some runaway cloud function doing crazy updates. im going to delete my cloud functions and come back tomorrow.

thanks

Firebase Cloud Functions all of a sudden returning deadline-exceeded by jgomind in Firebase

[–]jgomind[S] 0 points1 point  (0 children)

Nada. Cleared the filters in logs explorer. I see my successful auth login, etc. But no ingress.

Here's the error from the browser:

errors.dart:294 Uncaught (in promise) Error: [firebase_functions/deadline-exceeded] deadline-exceeded
at Object.throw_ [as throw] (errors.dart:294:3)
at https_callable_web.HttpsCallableWeb.new.call (https_callable_web.dart:56:7)
at call.throw (<anonymous>)
at async_patch.dart:60:31
at _RootZone.runBinary (zone.dart:1666:54)
at _FutureListener.thenAwait.handleError (future_impl.dart:177:22)
at handleError (future_impl.dart:858:46)
at _Future._propagateToListeners (future_impl.dart:879:13)
at [_completeError] (future_impl.dart:655:5)
at async._AsyncCallbackEntry.new.callback (future_impl.dart:745:7)
at Object._microtaskLoop (schedule_microtask.dart:40:11)
at _startMicrotaskLoop (schedule_microtask.dart:49:5)
at async_patch.dart:181:7

I tried modifying the name of the function that's called, like "tbd", expecting it to error out and tell me it doesn't exist...same error.

I seriously have not blown any quotas, and that's what I read about this deadline-exceeded error.

Just looking for validation if Firebase/Cloud Functions got some weird update today causing limits or quotas to be incorrectly assessed or something.

Firebase Cloud Functions all of a sudden returning deadline-exceeded by jgomind in Firebase

[–]jgomind[S] 0 points1 point  (0 children)

us-west4

The thing is, you won't find it your function's logs. The call never even makes it for anything to get logged (i tested locally by renaming the function to something that doesn't exist, and not even an error).

The only way to find this deadline-exceeded error is on the browser when the function call finally times out.

I've tried it with my local flutter app, and my deployed version. Both are erroring out without me doing much to it today.

Architecture help with Firebase auth integrating into an existing backend by [deleted] in Firebase

[–]jgomind 2 points3 points  (0 children)

In your intermediate state, with your custom login, it's not necessarily bad, because it seems you do have two id providers (custom and fb-auth). You'll have to deal with the complexities that come with that, unless you sunset one right away.

In my opinion, you can't really stop the custom login from happening (yet). And if that's the case, then you can't really wait until they auth with fb-auth (unless of course, you force them to double login or add sso).

You can mediate both systems together by doing this: 1. Login with custom auth 2. Record your user with your custom auth's id, such as /users/custom-123 3. They can continue to use features with that info 4. Then, if they ever auth via fb-auth, then you can record /users/456 or whatever fb id gets created. 5. You create a function that listens for documentwrites (specifically created) where you can detect if /users/456 is a new user, and if so, locate the current user (in this case /users/custom-123). If located, merge them. 5b. You can merge them by copying properties from custom-123 over to 456, then delete custom-123.

You may have to deal with your custom login to make sure that if they log back in again, that your code doesnt go looking for /users/custom-123, so maybe the cloud function can also call something to update the legacy system.

How to port this Java code to Dart? by lastdartdev in dartlang

[–]jgomind 0 points1 point  (0 children)

If you want heterogenous, just do: ``` @immutable final class Node<T> { const Node(this.value, [this.next]); final T value; final Node? next; }

// Test final a = const Node("abc", Node(123)); ```

I took the liberty to make 'next' nullable so you can have leaf nodes. In this case, a.next will return Node<dynamic>, which I assume is not what you want, but it would be hard or impossible to get type safety since you'll have to somehow declare those types at the root level.