[Solved] All published Apps stop Working! Urgent help please!

Hi @lamagalhaes @vincent.pappollakvt - appreciate your patience as we looked into this matter.

Our dev team just released some updates that caused this issue. They’ve reversed the release and we’re continuing to investigate what exactly caused this.

Let me know if you have any further questions!

2 Likes

Thanks for you reply @cassandra

What I don’t quite understand is how some Thunkable updates, wherever it is… servers, live companion, etc… affects already published apps on the stores.
Could you please enlight us?

3 Likes

We released a major security update on the platform. There was a minor bug and caching issue that affect the web apps. I expected this impacted web apps or apps with data viewers or data sources as they depend on our platform. Sorry for the inconvenience.

Best,
Wei

4 Likes

Thanks for the update.
has it affected thunkable live too?
I’m still unable to test my app (blank) live on the device (android).

I don’t think so. Can you try to sign out and sign in again?

just tried it several times.
still not working.
tried on different android devices.
i enter the code and get stuck on the blank screen with the thunkable logo.
it was not working 2 hours ago and the service got back working for less than a hour.

Dear wei,
i tried thunkable live with my google account. It’s working fine.
Usually I’m logged in via e-mail (Pro membership) and in combination with this account it’s not working.

@wei @domhnallohanlon Would someone mind clarifying what this means? Why would a published app depend on something from you after it’s published? How would it work if there was no internet available? I was told early on that apps were NOT dependent on your platform after it was published. Please clarify.

1 Like

Who told you this?

It was over a year ago when I was first considering the platform. I was asking questions either here or via chat. I’ll see if I can find. I was wanting to know if I ever ended my subscription or if the company (Thunkable) went away, would my apps keep working. I was told yes.

For privacy reasons alone, the apps should not be dependent on the platform.

PS. And I’m not talking about using Airtable or those types of data sources. I understand there may be some interdependency there. I don’t use those sources. My data sources are in-house or stored on the device itself.

one of my apps uses Airtable and was affected by this outage. I spent some time trying to contact Airtable as I too had no idea that after an app is published it is still reliant on thunkable?
Does firebase also rely on Thunkable servers?

Most, possibly all, apps built using Thunkable and similar builders rely on the builder.

apk / aab files contain code from the builder which tells the builder about things like usage stats, crashes etc.

If you are connecting to your Firebase DB using Web API calls and you manage your own user token and authorization tokens then Thunkable platform would not impact your published app.

In the other hand, if you are using Thunkable components then somewhere in the net someone is making it easy for you by providing the connection service and generating these tokens on your behalf.

In the end, Firebase needs these tokens to provide you with information and you either generate them yourself or have someone generate these tokens every time you access Firebase.

Hope this clarifies the situation.

1 Like

Out of curiosity, if I may ask, how do you manage the Firebase tokens via Web API the way you described? I’ve been just using the standard Firebase components in Thunkable. Would be nice to have a short description or an example if you care to share @muneer

Thank you!

/ Heikki

2 Likes

When you access Firebase using Thunkable you supply API key and Database URL.

The API key is used to create either an Auth token or a User token or both. however, these tokens are only required if you set the Rules in Firebase to deny anonymous access but if you allow access without any authentication then you can actually use the Web API component to get data from the database.

For Example, I have a test database that I do not use any security in it. See the rules:

{
  "rules": {
    ".read": "true", 
    ".write": "true", 
  }
}

So, I allow everyone to read or write to this database. In this case, I can get data just by using the Database URL and add to it the keys I want to retrieve and add to the end .json

Example:
My test database is my-demodb and I want to retrieve the key myBook/Students so the full URL will be

https://my-demodb-9d875-default-rtdb.firebaseio.com/myBook/Students.json

I used this code to get a list of the students key

This is the output from my mobile

Now, when you have security in place then you will need one of the methods to generate a token to access your data. I might write a more descriptive post about how to access using tokens.

To read about Auth API see this
https://firebase.google.com/docs/reference/rest/auth

2 Likes

Thank you @muneer ! What I was very much wondering about was how you use those tokens for security, indeed, so would be really interesting to hear you to elaborate on this if you find time & inspiration to do it. So, for example, I’ve been using the basic Thunkable components for user authentication with Firebase and then for setting special permissions, say, a user can edit only a folder associated with her username. But now I started to wonder if I could somehow do this manually so I could have more control over these tokens / understand how they function better.

2 Likes

@ethosworkfi

To use the token you need first to sign in to Firebase. The Sign In component does this for you and use the token internally.

If you want to do it yourself then you need to setup Web API with the following:

  • Header should have Content-Type set to application/json
  • URL should be https://identitytoolkit.googleapis.com/v1/accounts:signInWithPassword?key= and add your Firebase API Key to it.
  • Use Web API POST block to get the information

See this as an example

Of course instead of displaying the response to a label you will get the token from the response and use it with other blocks.

The response will have lots of information including localId, idToken, refreshToken, expiresIn

Use the localId in place of the UserID in the Sign In block and use the idToken to add it to the URL to get info. So the previous URL which gets information from the database will now be:
https://my-demodb-9d875-default-rtdb.firebaseio.com/myBook/Students.json?token=[your token]

Google will keep this token valid for 3600 seconds and when expires you will need the refreshToken to issue another API to get extra time with new values.

Hope this will give you a good start.

2 Likes

Oh, many, many thanks for this @muneer ! This really helps me out. Thank you again!

1 Like

I’m still waiting on an official reply to this question. @wei @domhnallohanlon

If you use any of the data viewer/source components in the apps, they are dependent on the Thunkable platform. If you use the UI components (such as buttons, labels) and others in the apps, they are not dependent on the Thunkable platform.

Wei

1 Like