-
Notifications
You must be signed in to change notification settings - Fork 106
Firebase Issues: grammatical errors fixed, improved formatting, added assets #374
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from 10 commits
Commits
Show all changes
12 commits
Select commit
Hold shift + click to select a range
e17f637
grammatical errors fixed, improved formating, added assets
mrdavidorok 96fcf48
improved formating
mrdavidorok 2697fc5
improved formatting, internal links updated, updated content
mrdavidorok 15499f2
Merge branch 'main' into david/firebase-issues
PoojaB26 19cf602
Update docs/troubleshooting/firebase-issues/unable_to_validate_firest…
mrdavidorok 05b3bdf
improved formatting, added new asset
mrdavidorok aa787aa
Merge branch 'david/firebase-issues' of https://github.com/FlutterFlo…
mrdavidorok d838f3b
Update docs/troubleshooting/firebase-issues/client_access_to_firestor…
mrdavidorok 315c372
correct asset updated, improved formatting
mrdavidorok f1bbc66
Merge branch 'david/firebase-issues' of https://github.com/FlutterFlo…
mrdavidorok efa23d1
updated content
mrdavidorok 1452a12
Merge branch 'main' into david/firebase-issues
PoojaB26 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
{ | ||
"label": "Firebase Troubleshooting" | ||
} |
53 changes: 53 additions & 0 deletions
53
docs/troubleshooting/firebase-issues/client_access_to_firestore_expired.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
--- | ||
keywords: ['database', 'firebase', 'client'] | ||
slug: /client-access-to-firestore-expired | ||
title: Client Access to Firestore Expired | ||
--- | ||
# Client Access to Firestore Expired | ||
|
||
You may receive an email from Firebase with the subject: | ||
|
||
**"Client access to your Cloud Firestore database expired"** | ||
|
||
This message typically appears when your Firestore database is in **Test Mode** and the access duration has expired. | ||
|
||
You are seeing this error message because of the following: | ||
|
||
When setting up Firestore for the first time, Firebase offers two rule options: | ||
|
||
1. **Test Mode** – Temporarily allows open access (expires after 30 days). | ||
2. **Production Mode** – Starts off restricted and requires secure rules. | ||
|
||
 | ||
|
||
If you selected **Test Mode** during setup, Firestore access will automatically expire after the preset period. To continue using Firestore, you'll need to update the rules using one of the following options: | ||
|
||
- **Option 1: Manage Firestore Rules From FlutterFlow** | ||
|
||
You can **[manage and deploy Firestore rules](/integrations/database/cloud-firestore/firestore-rules/)** directly from FlutterFlow. | ||
|
||
- **Option 2: Manually Update Firestore Rules in Firebase Console** | ||
|
||
Follow these steps to manually update the rules: | ||
|
||
1. Go to the **[Firebase Console](https://console.firebase.google.com/)**. | ||
2. Open your project and navigate to **Firestore Database**. | ||
3. Select the **Rules** tab. | ||
|
||
From here, you have two options: | ||
|
||
- **Option A: Extend Test Mode** | ||
|
||
Update the expiration timestamp to a future date if you're still in development. | ||
|
||
 | ||
|
||
- **Option B: Secure Your Rules for Production** | ||
|
||
Update your rules to enforce proper authentication and access controls. | ||
|
||
|
||
 | ||
|
||
|
||
If the issue persists, contact us at [[email protected]](mailto:[email protected]) for further assistance. |
67 changes: 67 additions & 0 deletions
67
docs/troubleshooting/firebase-issues/configuring_cors_for_firebase_storage.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,67 @@ | ||
--- | ||
keywords: ['storage', 'firebase', 'cors'] | ||
slug: /configuring-cors-for-firebase-storage | ||
title: Configuring CORS for Firebase Storage | ||
--- | ||
# Configuring CORS for Firebase Storage | ||
|
||
When you deploy your web app to a custom domain, the domain and the Firebase Storage bucket are hosted on different servers. This means that the browser will block requests to the Firebase Storage bucket from your web app, because the origins (the domains and ports) of the two servers are different. | ||
|
||
**What is CORS?** | ||
|
||
CORS stands for **Cross-Origin Resource Sharing**. It allows you to specify which origins are allowed to access your resources. By configuring CORS, you can tell the browser that your web app is allowed to make requests to the Firebase Storage bucket, even though the two servers are hosted on different domains. | ||
|
||
Follow these steps to configure CORS for your Firebase Storage bucket: | ||
|
||
1. Open **[Google Cloud Console](https://console.cloud.google.com)**. | ||
|
||
2. **Launch the Cloud Shell**: | ||
|
||
Click the **Activate Cloud Shell** icon in the top-right corner. | ||
|
||
 | ||
|
||
Wait for the terminal to load. | ||
|
||
 | ||
| ||
|
||
3. **Run the following Command:** | ||
|
||
```jsx | ||
gcloud config set project <your-project-id> | ||
``` | ||
|
||
4. **Navigate to your Firebase Storage bucket:** | ||
|
||
```jsx | ||
cd gs://<your-bucket-name> | ||
``` | ||
|
||
5. **Run the `cors` Command to Configure CORS:** | ||
|
||
```jsx | ||
gsutil cors set cors.json gs://<your-bucket-name> | ||
``` | ||
|
||
You can also specify a list of allowed headers by running the following command: | ||
|
||
```jsx | ||
gsutil cors set cors.json gs://<your-bucket-name> --allowed-headers="Content-Type, Authorization" | ||
``` | ||
|
||
The `cors.json` file contains a list of origins that are allowed to access your resources. Each origin is a string that identifies a domain or port. For example, the following origin allows access from the domain `www.example.com`: | ||
|
||
```jsx | ||
"origins": ["https://www.example.com"] | ||
``` | ||
|
||
You can also specify a list of allowed headers. The following example allows access to the `Content-Type` and `Authorization` headers: | ||
|
||
```jsx | ||
"origins": ["https://www.example.com"], "allowedHeaders": ["Content-Type", "Authorization"] | ||
``` | ||
|
||
For more information on configuring CORS in Firebase Storage, please see the **[official documentation](https://firebase.google.com/docs/storage/web/download-files#cors_configuration)**. | ||
|
||
|
90 changes: 90 additions & 0 deletions
90
docs/troubleshooting/firebase-issues/content_manager_firestore_error.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,90 @@ | ||
--- | ||
keywords: ['security', 'error', 'firebase', 'permissions'] | ||
slug: /content-manager-firestore-error | ||
title: Content Manager Firestore Error | ||
--- | ||
|
||
# Content Manager Firestore Error | ||
|
||
You may see the following error message when accessing the **FlutterFlow Content Management System (CMS)**: | ||
|
||
 | ||
|
||
This error typically occurs when Firebase permissions or authentication settings are not properly configured. Follow the steps below to resolve it. | ||
|
||
1. **Enable Email/Password Sign-In** | ||
|
||
1. Open the **[Firebase Console](https://console.firebase.google.com/)**. | ||
2. Select your project. | ||
3. From the left-hand menu, click **Authentication**. | ||
4. Click **Get started** (if not already started). | ||
5. Go to the **Sign-in method** tab. | ||
6. Ensure **Email/Password** is listed and marked as **Enabled** ✅. | ||
|
||
 | ||
|
||
:::note | ||
If Email/Password is not enabled, turn it on by clicking the pencil icon and toggling the setting. | ||
::: | ||
|
||
|
||
2. **Add Required Firebase Project Permissions** | ||
|
||
FlutterFlow requires the following roles to be granted to `[email protected]` for proper functionality: | ||
|
||
- Editor | ||
- Cloud Functions Admin | ||
- Service Account Admin | ||
|
||
To add these permissions: | ||
|
||
1. In the **[Firebase Console](https://console.firebase.google.com/)**, open your project. | ||
2. Navigate to **Project Settings** > **Users & Permissions**. | ||
3. Check if `[email protected]` has the roles listed above. | ||
|
||
 | ||
|
||
:::info | ||
If these roles are missing, the integration is incomplete. Make sure to add all three roles. | ||
::: | ||
|
||
|
||
3. **Update Firestore Rules in FlutterFlow** | ||
|
||
1. In your FlutterFlow project, go to **Firestore** > **Settings**. | ||
2. Scroll down to the **Firestore Rules** section. | ||
3. Click **Deploy/Redeploy** to apply your latest rules. | ||
|
||
 | ||
|
||
|
||
4. **Define Your Firebase Schema** | ||
|
||
Make sure your Firebase schema is fully defined. The Content Manager only displays fields that are already defined in your Firebase schema. | ||
|
||
|
||
5. **Ensure You're Using the Latest FlutterFlow Version** | ||
|
||
Press `Ctrl + R` (on Windows) or `Cmd + R` (on macOS) to refresh and ensure you’re on the latest version of FlutterFlow. | ||
|
||
|
||
6. **Clear Cache and Re-Login** | ||
|
||
After completing the above steps: | ||
|
||
- Clear your browser cache. | ||
- Log out and log back into FlutterFlow. | ||
|
||
|
||
|
||
|
||
:::info[Still not working?] | ||
Try reconfiguring permissions from scratch. | ||
|
||
If none of the steps resolve the issue: | ||
1. Remove existing Firebase permissions. | ||
2. Re-add all necessary roles from scratch. | ||
3. Follow the full setup instructions in the **[official FlutterFlow Firebase integration guide](/integrations/firebase/connect-to-firebase/)**. | ||
::: | ||
|
||
By following the steps above, you should be able to resolve the error and continue using FlutterFlow CMS without interruptions. |
38 changes: 38 additions & 0 deletions
38
docs/troubleshooting/firebase-issues/firebase_android_config_file_missing.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
--- | ||
keywords: ['firebase', 'android', 'configuration'] | ||
slug: /firebase-android-config-file-missing | ||
title: Firebase Android Config File Missing | ||
--- | ||
|
||
# Firebase Android Config File Missing | ||
|
||
You may see the following warning in FlutterFlow, as shown in the image below: | ||
|
||
 | ||
|
||
This typically means that the Firebase Android configuration file (`google-services.json`) has not been generated or uploaded to your FlutterFlow project. | ||
|
||
Follow the steps below to fix the issue: | ||
|
||
1. **Verify your Firebase Setup** | ||
|
||
Make sure that Firebase has been fully configured for your project. Follow the **[Firebase setup guide](/integrations/firebase/connect-to-firebase/)** to ensure all required steps have been completed. | ||
|
||
2. **Open Project Settings in FlutterFlow** | ||
|
||
- Navigate to your FlutterFlow project. | ||
- From the left menu, select **Settings > Firebase**. | ||
|
||
 | ||
|
||
3. **Regenerate your Firebase Configuration Files** | ||
|
||
- In the Firebase Settings screen, click **Regenerate Firebase Files** to create new configuration files and upload them automatically. | ||
|
||
4. **Contact Support if Needed** | ||
|
||
If you continue to experience issues, reach out to [FlutterFlow Support](mailto:[email protected]) for further assistance. | ||
|
||
:::note | ||
The configuration file is required for successful builds and deployment on Android. Make sure it remains up-to-date if you make changes in your Firebase project. | ||
::: |
49 changes: 49 additions & 0 deletions
49
docs/troubleshooting/firebase-issues/firebase_storage_limits_in_flutterflow.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,49 @@ | ||
--- | ||
keywords: ['storage', 'firebase', 'flutterflow'] | ||
slug: /firebase-storage-limits-in-flutterflow | ||
title: Firebase Storage Limits in FlutterFlow | ||
--- | ||
|
||
# Firebase Storage Limits in FlutterFlow | ||
|
||
Managing Firebase Storage properly is essential for controlling your app's file storage and associated costs in FlutterFlow. This article summarizes the key limits and best practices. | ||
|
||
## Firebase Storage Plans and Limits | ||
|
||
- **Spark Plan** | ||
|
||
- Includes up to **[1 GB](https://firebase.google.com/pricing)** of Firestore storage. | ||
mrdavidorok marked this conversation as resolved.
Show resolved
Hide resolved
|
||
- Exceeding this limit requires upgrading to a paid plan. | ||
|
||
- **Blaze Plan (Pay-as-you-go)** | ||
|
||
- Charges are based on the amount of storage used. | ||
- Pricing adjusts based on storage volume. | ||
- Refer to the **[Firebase Pricing page](https://firebase.google.com/pricing)** for current rates. | ||
|
||
## Firebase Storage Operations Limits | ||
|
||
- Firebase limits the number of operations (uploads, downloads, deletes) per day. | ||
- These limits are stricter on the Spark plan. | ||
- Review your app’s usage patterns and plan functionality accordingly. | ||
|
||
## Best Practices for Managing Firebase Storage | ||
|
||
- Regularly delete unnecessary files. | ||
- Compress images and videos before uploading. | ||
- Monitor storage usage in the Firebase Console. | ||
- For high-volume apps, consider automated file cleanup routines. | ||
|
||
:::tip | ||
Proactive storage management helps reduce costs and prevent usage issues. | ||
::: | ||
|
||
|
||
:::info[Additional Resources] | ||
- [Firebase Pricing](https://firebase.google.com/pricing) | ||
- [Firebase Storage Documentation](https://firebase.google.com/docs/storage) | ||
- [FlutterFlow Docs: Storage](/integrations/firebase-storage/storage-rules/) | ||
::: | ||
|
||
Review your Firebase plan limits, monitor storage usage, and apply storage optimization techniques to ensure efficient and cost-effective storage management for your FlutterFlow app. | ||
|
52 changes: 52 additions & 0 deletions
52
...oubleshooting/firebase-issues/get_the_sum_of_firebase_document_or_api_values.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
--- | ||
keywords: ['firebase', 'api', 'document'] | ||
slug: /get-the-sum-of-firebase-document-or-api-values | ||
title: Get the Sum of Firebase Document or API Values | ||
--- | ||
# Get the Sum of Firebase Document or API Values | ||
|
||
Sometimes you need to display a total, such as a subtotal or count based on data fetched from Firebase or an API. This guide walks you through the steps to calculate and display that sum in FlutterFlow. | ||
|
||
:::info[Prerequisites] | ||
- A working Firebase collection or API that returns numeric values. | ||
- A FlutterFlow UI component (example, **Text**) where the sum will be displayed. | ||
::: | ||
|
||
**Steps to Calculate the Sum of Firebase Document or API Values** | ||
|
||
1. **Identify where to Display the Total** | ||
|
||
Decide where in your app the total will appear. For example, insert a **Text** widget that will show the computed sum. | ||
|
||
 | ||
mrdavidorok marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
2. **Prepare your Data Type** | ||
|
||
Next, you need to specify what kind of data you're adding up. For example, if you're working with numbers with decimal points, you'll classify your data as double. Make sure to indicate that you're dealing with a list of these values. | ||
|
||
 | ||
|
||
|
||
3. **Retrieve and Map your Data** | ||
|
||
When fetching data from Firebase or an API, extract the values you want to sum. Use the `map()` function to create a list of those values. | ||
|
||
 | ||
|
||
4. **Calculate the Sum** | ||
|
||
With your list of values ready, store them in a variable (let's call it `var1`). Then, decide on the format you want for your result. Use the `reduce` function to add up all the values in your list, `var1`, to get your total sum. | ||
|
||
 | ||
|
||
5. **Checking Your Results** | ||
|
||
After completing these steps, you should have the total sum displayed where you need it. If it looks right, you've successfully calculated the sum! | ||
|
||
[](../assets/20250430121220338400.png) | ||
|
||
:::tip[Trobleshooting] | ||
- Use `.isNotEmpty` to prevent errors when the list is empty. | ||
- Format the output using `.toStringAsFixed(2)` to show 2 decimal places if needed. | ||
- Optional: Store the sum in a global variable for use across multiple pages. | ||
::: |
35 changes: 35 additions & 0 deletions
35
...bleshooting/firebase-issues/missing_firebase_storage_in_flutterflow_settings.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
--- | ||
keywords: ['storage', 'firebase', 'missing'] | ||
slug: /missing-firebase-storage-in-flutterflow-settings | ||
title: Missing Firebase Storage in FlutterFlow Settings | ||
--- | ||
|
||
# Missing Firebase Storage in FlutterFlow Settings | ||
|
||
When setting up Firebase Storage in your FlutterFlow project, you may notice that the **Firebase Storage** option is missing from the **Firebase Settings** tab. | ||
|
||
 | ||
|
||
This usually happens when Firebase Storage has not been enabled for your project in the Firebase Console. Until it’s enabled there, the option won’t appear in FlutterFlow. | ||
|
||
Follow these steps to enable Firebase Storage and make it available in your FlutterFlow settings: | ||
|
||
1. In your FlutterFlow project, click **Firebase** from the left menu, then click **Open Firebase Console**. | ||
|
||
 | ||
|
||
2. In the Firebase Console, go to the **Build** menu and select **Storage**. | ||
|
||
 | ||
|
||
3. Click **Get started** and complete the setup process. | ||
|
||
 | ||
|
||
4. After successfully creating the storage bucket, return to FlutterFlow. You should now see the **Rules** option under **Firebase Settings**. | ||
|
||
 | ||
|
||
:::note | ||
After setting up Firebase Storage, it may take up to one hour for the changes to appear in FlutterFlow. | ||
::: |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.