diff --git a/docs/troubleshooting/uncategorized/APK specifies a version code that has already been used..md b/docs/troubleshooting/uncategorized/APK specifies a version code that has already been used..md new file mode 100644 index 00000000..e5ef8c8b --- /dev/null +++ b/docs/troubleshooting/uncategorized/APK specifies a version code that has already been used..md @@ -0,0 +1,34 @@ +--- +keywords: ['error', 'deployment', 'build'] +author: Unknown +created_at: '1690345994' +slug: /apk-specifies-a-version-code-that-has-already-been-used +title: APK specifies a version code that has already been used. +updated_at: '1705248556' +url: None +--- +# APK specifies a version code that has already been used. + +Full Error Message +``` +Publishing failed :|Google Play failed to upload artefacts. APK specifies a version code that has already been used.: {"error": {"code": 403,"message": "APK specifies a version code that has already been used.","status": "PERMISSION_DENIED"}} +``` +​**What Does This Error Mean?** +The version of the application published conflicts with an earlier version that was already published and will need to be updated​​**How do I Resolve This Issue?** + +**When Deploying Directly From FlutterFlow. ** +Navigate to the **Settings And Integrations > Mobile deployment. **​ +![](../assets/20250430121158393454.png) +**App Version**: This refers to the version that the application will be set to. Setting a version number is optional, but may be required for specified cases. +​**Build Number**: The build number is used for deployment. Each time it is successfully deployed this should increase by 1 until a new version is set (at which point it will be reset to 1) +If left empty, it will automatically increment the build number each time it is deployed. ​​**After incrementing the app version and build number from the previous one, you can deploy it once more.**​​**2. Deploying From GitHub ** +Step 1: Open the `pubspec.yaml` file. +Step 2: Locate the **`version`** tag. +Step 3: Update the build name and number such as `version: ^1.0.2+2`.NB: Use the latest Flutter `version `package +Step 4: Open the terminal and hit the **`flutter clean`** command. +Step 5: Build the app. + +**The Issue Is Not Resolved** +If this issue is not resolved, `please contact support@flutterflow.io` + +​ \ No newline at end of file diff --git a/docs/troubleshooting/uncategorized/Adding dependencies in pubspec.yaml file for entire Project.md b/docs/troubleshooting/uncategorized/Adding dependencies in pubspec.yaml file for entire Project.md new file mode 100644 index 00000000..055a2b42 --- /dev/null +++ b/docs/troubleshooting/uncategorized/Adding dependencies in pubspec.yaml file for entire Project.md @@ -0,0 +1,21 @@ +--- +keywords: ['dependencies', 'entire', 'yaml'] +author: Unknown +created_at: '1678984299' +slug: /adding-dependencies-in-pubspec-yaml-file-for-entire-project +title: Adding dependencies in pubspec.yaml file for entire Project +updated_at: '1678988901' +url: https://intercom.help/flutterflow/en/articles/7152626-adding-dependencies-in-pubspec-yaml-file-for-entire-project +--- +# Adding dependencies in pubspec.yaml file for entire Project + +FlutterFlow does not support adding dependencies to the entire project yet, but here is the workaround, you can add dependencies in your Custom widgets or Custom Actions which will be added in the pubspec.yaml file.​ +To add dependencies in your Custom widgets or Custom Actions you can follow the steps mentioned below: + +Step 1: Add the dependencies + +Step 2: Click on the Refresh icon to update the dependencies + +Step 3: Import it inside the code + +![](../assets/20250430121235199536.png) \ No newline at end of file diff --git a/docs/troubleshooting/uncategorized/Advanced Push Notification Troubleshooting.md b/docs/troubleshooting/uncategorized/Advanced Push Notification Troubleshooting.md new file mode 100644 index 00000000..2e464f9d --- /dev/null +++ b/docs/troubleshooting/uncategorized/Advanced Push Notification Troubleshooting.md @@ -0,0 +1,49 @@ +--- +keywords: ['notification', 'firebase', 'troubleshooting'] +author: Unknown +created_at: '1656527168' +slug: /advanced-push-notification-troubleshooting +title: Advanced Push Notification Troubleshooting +updated_at: '1678372324' +url: None +--- +# Advanced Push Notification Troubleshooting + +If push notifications are not sending as expected, this article will help you identify and correct the most common issues. + +**Please note that push notifications will not work in these situations:** + +Push notifications will not work on an iOS simulator. To test you will need to use a real device. Here are instructions on how to do this. + +Push notifications will not work if the user is not logged in to your app. + +Push notifications will not work if you have the app open on your device. + +**Ensure you have created a push notification key for Apple.** +Apple requires developers to create a key for the push notifications inside the Apple Developer Console to verify the push notification's sender. + +Head to your Apple Developer account and select Certificates, Identifiers & Profiles > Keys. + +![](../assets/20250430121405271522.png)If you haven't added a push notification key, you will need to add this. + +Here are instructions on how to add a push notification key.​ +**Ensure you have added the APN key to Firebase.** +Head to the Firebase Console and open the project dashboard for your project (click the project tile). Select Project Settings > Project Settings > Cloud Messaging. + +Scroll down to the iOS section. If you have no files listed under APNs Authentication Key (like the photo below), you need to upload the APN Key. + +![](../assets/20250430121405587477.png)Here are the instructions on how to upload the APN key to Firebase.​ +**Ensure you have added a push notification identifier for Apple.** +You must add an Identifier to be able to send the push notifications to the iOS devices after you deploy your app to the app store. + +Head to your Apple Developer account and select Certificates, Identifiers & Profiles. + +![](../assets/20250430121405921022.png)If you haven't created a push notification identifier, you will need to add this. + +Here are instructions on how to create your push notification identifier. + +**Ensure you are using the latest version of FlutterFlow** +To upgrade to the latest version of FlutterFlow select Ctrl + R on Windows or Cmd + R on Mac. + +After you have done this, clear your browser cache and log out/in to FlutterFlow. + diff --git a/docs/troubleshooting/uncategorized/App Store Deploy Button Not Working when Clicked.md b/docs/troubleshooting/uncategorized/App Store Deploy Button Not Working when Clicked.md new file mode 100644 index 00000000..90c20497 --- /dev/null +++ b/docs/troubleshooting/uncategorized/App Store Deploy Button Not Working when Clicked.md @@ -0,0 +1,31 @@ +# App Store Deploy Button Not Working + +--- + +**Problem:** +When attempting to deploy your application to the App Store, the deploy button may become unresponsive. If you inspect the browser's console, you might see the following error: + +```text +POST https://api.flutterflow.io/v1/codemagicBuildRequest 503 +``` + +--- + +## Why Does This Happen? +This error typically occurs when your project contains very large assets (such as videos or large images). If the total project size exceeds the recommended limit, the deployment request is rejected by Codemagic. + +- **Recommended project size:** 50 MB or less + +--- + +## How to Fix +1. **Remove Large Assets:** + - Identify and remove large files (especially videos or high-resolution images) from your project assets. + - Instead, host these files externally (e.g., on a CDN or cloud storage) and access them via network URLs. +2. **Check Project Size:** + - Ensure your project remains under the 50 MB limit. + +--- + +## Still Not Working? +If you have reduced your project size and the issue persists, please contact FlutterFlow support via [Chat](https://flutterflow.io/support) or email: [support@flutterflow.io](mailto:support@flutterflow.io). \ No newline at end of file diff --git a/docs/troubleshooting/uncategorized/Backend query don't return any results even though I have data in my database.md b/docs/troubleshooting/uncategorized/Backend query don't return any results even though I have data in my database.md new file mode 100644 index 00000000..6ae08aa5 --- /dev/null +++ b/docs/troubleshooting/uncategorized/Backend query don't return any results even though I have data in my database.md @@ -0,0 +1,46 @@ +--- +keywords: ['database', 'query', 'though'] +author: Unknown +created_at: '1678196336' +slug: /backend-query-don-t-return-any-results-even-though-i-have-data-in-my-database +title: Backend query don't return any results even though I have data in my database +updated_at: '1689891518' +url: https://intercom.help/flutterflow/en/articles/7058101-backend-query-don-t-return-any-results-even-though-i-have-data-in-my-database +--- +# Backend query don't return any results even though I have data in my database + +Issue +You have data in your Firestore database, but your backend query is not returning any results. +There are a number of issues that may cause this issue. Here are some of the most common issues to check for:​ +You've not deployed the correct rules for that particular collection that is not returning the data +In some cases, when you create a new collection in the project, the user forgets to setup and deploy the rules for that collection. Please take a look at the firebase section and deploy the correct rules​ +![](../assets/20250430121237764753.png) +You've enabled the Ignore Empty Filter Values Option and have missing or Null Data +In the example below, we have a filter on created_time and have enabled the Ignore Empty Filter Values Option. This means the query will ignore all the documents that: + +Don't have the created_time field + +Have the created_time field, but it is null + +![](../assets/20250430121238081846.png)To troubleshoot this: + +Check to see if your query has the Ignore Empty Filter Value Option enabled + +Review your database or CMS to make sure that your documents have the field you are using on your filters. + +**You have Ordering on your query and the field you selected as order doesn't exist or is null** +If you use a field for order, and that is null or does not exist in the document, FlutterFlow will ignore that document and not load it. + +In the example below, signinDate is set to be order by Increasing. + +If my list returns no documents, this means none of my documents doesn't have the signinDate field or it is null + +If my list only returns 99/100 documents, this means that one document doesn't have the signinDate or it is null + +![](../assets/20250430121238384085.png) +**In case of APIs returning empty results** +If the APIs are working fine in test mode but do not return any data in the deployed app, mostly it is due to the CORS issue, please take a look at the browser's console to see if it shows any errors regarding CORS (check the screenshot for reference). If yes, please take a look at this article to understand and resolve the problem.​ +![](../assets/20250430121238656194.png)**The issue was not resolved.** + +If the error still persists after following the outlined steps, please contact support via Chat or Email at support@flutterflow.io. + diff --git a/docs/troubleshooting/uncategorized/Build Failed Error loading project for test or run mode..md b/docs/troubleshooting/uncategorized/Build Failed Error loading project for test or run mode..md new file mode 100644 index 00000000..2aec9155 --- /dev/null +++ b/docs/troubleshooting/uncategorized/Build Failed Error loading project for test or run mode..md @@ -0,0 +1,41 @@ +--- +keywords: ['error', 'build', 'failed'] +author: Unknown +created_at: '1678098239' +slug: /build-failed-error-loading-project-for-test-or-run-mode +title: 'Build Failed: Error loading project for test or run mode.' +updated_at: '1678308554' +url: None +--- +# Build Failed: Error loading project for test or run mode. + +Issue +You receive this error when you try to create a new build in Run or Test mode, but you don't have any identified issues in your FlutterFlow project.​ +![](../assets/20250430121245553425.png)**What does this error mean?** +There is an issue in your FlutterFlow project that is stopping your code from compiling. + +We typically try to notify you of potential project issues using the debug menu (example below). However, sometimes there are new error types that our system does not catch. + +https://downloads.intercomcdn.com/i/o/684852344/3789bec88e632c06739287a4/image.png"/>Example Issues That Can Cause A Build Failure + +copy/paste a widget with lots of actions and visibility rules on it + +copy/paste a widget with animations and animation actions on it + +copy/paste a whole page or component + +select a wrong data source that doesn't exist at the time of build, for example, you do a condition on a periodic action on a page load when the periodic is not exist yet. + +Flutterflow Bug, It may be a bug and you need to report it in our github issue tracker if you find it. + +Troubleshooting This Error Type + +If you have the ability to download your code, run the code in your local machine. You can check the last code and see the error in the code. With this information, you can return to the FlutterFlow editor and fix the issue. + +You can also review your previous snapshots to identify the changes made that caused the error. For example, if the last thing you did was duplicate the page bookings and change some of it.Go to that page, check all the actions, Visibility rules, and open them one by one to find a red noticed item there.**Example of how an error could be hidden:** + +![](../assets/20250430121246143405.png)Here in this visibility rule, you can't see any error. but let's see after opening the condition what we could see + +![](../assets/20250430121246510364.png) +You could see after opening the second value, we could see it's unset and red. Simply it could cause a build failure when we run the project.​ +If with all above attempts the issue persists, Then please reach to the support@flutterflow.io. \ No newline at end of file diff --git a/docs/troubleshooting/uncategorized/Build Your First App.md b/docs/troubleshooting/uncategorized/Build Your First App.md new file mode 100644 index 00000000..80d91488 --- /dev/null +++ b/docs/troubleshooting/uncategorized/Build Your First App.md @@ -0,0 +1,37 @@ +--- +keywords: ['build', 'first'] +author: Unknown +created_at: '1651098551' +slug: /build-your-first-app +title: Build Your First App +updated_at: '1651102798' +url: None +--- +# Build Your First App + +Welcome to FlutterFlow, we're so glad you're here! In this tutorial we'll show you how to build this app in less than 10 minutes! + +**Create Your Project** +To create a new project, select** Create New.** + +![](../assets/20250430121504394651.png)A popup will appear. Enter a name for your project (e.g. MyFirstProject) and then select Create New under the Blank App. + +![](../assets/20250430121504664904.png)**Change The Page Title** +Click where it says Page Title. +From the Properties Panel on the right side of the screen, change the text from Page Title to Home. + +![](../assets/20250430121505082721.png)**Style Your Container** +Select the Container widget and drag it onto your app canvas.​ +![](../assets/20250430121505335691.gif)Head to the right Properties Panel and locate the Padding & Alignment section. Click the lock and then enter 16 where it says L. This will apply a padding of 16px on all sides. + +Next, locate the Container Properties section. Under width select ∞ (the original value is set to 100). Under Fill Color Click on the white square. A pop-up will appear showing the color selector. Select Secondary BG and click Use Color. + +In the Container Properties section, locate the Border Radius section. Click the lock and enter 8 where it says TL. + +**Add Content To Your Container** + +Drag a Column inside your container. Head to the Properties Panel. Under Padding & Alignment, select the lock and enter 12. +Drag a Row inside the Column. Drag a Text widget inside the Row. +In the Properties Panel, change the text from Hello World to Active Projects. Scroll down to the Text Properties section. Click the dropdown under Theme Text Style and select Body Text 2. + +![](../assets/20250430121505662806.gif) diff --git a/docs/troubleshooting/uncategorized/Can I import my source code in FlutterFlow after manually making edits to the source code using an IDE (Integrated Development Environment) like Android Studio or VS Code.md b/docs/troubleshooting/uncategorized/Can I import my source code in FlutterFlow after manually making edits to the source code using an IDE (Integrated Development Environment) like Android Studio or VS Code.md new file mode 100644 index 00000000..9dfcb3e7 --- /dev/null +++ b/docs/troubleshooting/uncategorized/Can I import my source code in FlutterFlow after manually making edits to the source code using an IDE (Integrated Development Environment) like Android Studio or VS Code.md @@ -0,0 +1,20 @@ +--- +keywords: ['android', 'flutterflow', 'import'] +author: Unknown +created_at: '1650491235' +slug: /import-modified-source-code-flutterflow +title: Importing Modified Source Code Back into FlutterFlow +updated_at: '1713554288' +url: https://intercom.help/flutterflow/en/articles/6157061-can-i-import-my-source-code-in-flutterflow-after-manually-making-edits-to-the-source-code-using-an-ide-integrated-development-environment-like-android-studio-or-vs-code +--- +# Can I Import Modified Source Code Back into FlutterFlow? + +Currently, FlutterFlow does **not** support importing source code that has been manually edited in an IDE (such as Android Studio or VS Code) back into the FlutterFlow platform. + +> **Note:** +> You can still run your modified source code from GitHub in Test Mode, but you cannot sync those changes back into the FlutterFlow visual builder. + +--- + +If you need to make custom code changes, it's recommended to maintain those changes outside of FlutterFlow and manage your workflow accordingly. + diff --git a/docs/troubleshooting/uncategorized/Can't Download APK or Code in FlutterFlow.md b/docs/troubleshooting/uncategorized/Can't Download APK or Code in FlutterFlow.md new file mode 100644 index 00000000..b65e6361 --- /dev/null +++ b/docs/troubleshooting/uncategorized/Can't Download APK or Code in FlutterFlow.md @@ -0,0 +1,41 @@ +--- +keywords: ['permissions', 'download', 'code'] +author: Unknown +created_at: '1650311880' +slug: /can-t-download-apk-or-code-in-flutterflow +title: Can't Download APK or Code in FlutterFlow +updated_at: '1713554284' +url: https://intercom.help/flutterflow/en/articles/6150279-can-t-download-apk-or-code-in-flutterflow +--- +# Can't Download APK or Code in FlutterFlow + +**Check Your Browser Permissions** +The most common cause of issues downloading APKs or project code is insufficient permissions in your web browser. To download your code, you'll need to give FlutterFlow permission for pop-ups and redirects. + +For Chrome, please follow these steps: + +Select the **lock icon** in the website address bar. + +A popup will appear. Ensure it says **Allow **next to pop-ups and redirects. + +Additionally, we recommend you **Allow Clipboard **as well. You need this to copy-paste widgets within FlutterFlow. + +Once done, try downloading the APK again. + +***Tip: The download will be saved in your default download folder. ***​​ +![](../assets/20250430121527145863.png) + +**Resolve Project Errors** + +You won't be able to download your APK or code if your project has errors. If you see a red indicator (example below) in your project issues, this means you have unresolved errors you need to address. It should also show an error mentioning to fix the errors before building the APK.​ +After resolving all the issues, you should be able to download the APK + +![](../assets/20250430121527462964.png) +By following these steps, you can troubleshoot and resolve common issues you may encounter while downloading the code. If you still face challenges, don't hesitate to reach out to our support team by emailing support@flutterflow.io/ + +**Additional Resources:** + +YouTube Tutorial: Download Code + + + diff --git a/docs/troubleshooting/uncategorized/Can't deploy Firestore Database rules.md b/docs/troubleshooting/uncategorized/Can't deploy Firestore Database rules.md new file mode 100644 index 00000000..c303fb45 --- /dev/null +++ b/docs/troubleshooting/uncategorized/Can't deploy Firestore Database rules.md @@ -0,0 +1,39 @@ +--- +keywords: ['database', 'firebase', 'permissions'] +author: Unknown +created_at: '1677245210' +slug: /can-t-deploy-firestore-database-rules +title: Can't deploy Firestore Database rules +updated_at: '1677274905' +url: https://intercom.help/flutterflow/en/articles/7030020-can-t-deploy-firestore-database-rules +--- +# Can't deploy Firestore Database rules + +This article will walk you through troubleshooting steps if you are unable to deploy your Firebase Rules. + +**1. Validate that you have created your Firestore Database** +Without a database created in the Firebase project, there is no way for FlutterFlow to deploy your rules. ​ +Open the Firebase Console for your project and select Create database. + +Video: +Create a firebase firestore database in Firebase to start [ time: 1:50 to 2:05 ] + +![](../assets/20250430121312243075.png) +**2. Validate that the three necessary permissions are granted** + +In order to deploy Firebase Rules, you will need to add the following cloud permissions for firebase@flutterflow.io: Editor, Cloud Functions Admin, and Service Account. + +Head to the Firebase Console and open the project dashboard for your project (click the project tile). Select Project Settings > Users & Permissions. + +If you don't have Cloud Functions Admin, Editor, and Service Account listed next to fireabse@flutterflow.io, you have not completed this step. + +Here is a video you can watch to see how you can add the permission + +![](../assets/20250430121312626400.png)![](../assets/20250430121312919242.png)![](../assets/20250430121313117339.png)**3. Validate that you have selected the GCP location for your Firebase project**Head to the Firebase Console and open the project dashboard for your project (click the project tile). Select Project Settings > General. + +If you see **Not yet selected,** you have not completed this step. + +![](../assets/20250430121313453827.png)Select the pencil and complete setup. + +Tip: Once created, this can not be changed. You can learn more about selecting locations here.​ +**After checking these 3 steps, you should be able to successfully deploy your database rules. ** \ No newline at end of file diff --git a/docs/troubleshooting/uncategorized/Can't deploy firestore database indexes..md b/docs/troubleshooting/uncategorized/Can't deploy firestore database indexes..md new file mode 100644 index 00000000..b95196b4 --- /dev/null +++ b/docs/troubleshooting/uncategorized/Can't deploy firestore database indexes..md @@ -0,0 +1,28 @@ +--- +keywords: ['database', 'firestore', 'deploy'] +author: Unknown +created_at: '1677502144' +slug: /can-t-deploy-firestore-database-indexes +title: Can't deploy firestore database indexes. +updated_at: '1677879784' +url: https://intercom.help/flutterflow/en/articles/7034528-can-t-deploy-firestore-database-indexes +--- +# Can't deploy firestore database indexes. + +Whenever you add or edit a query with different filters, FlutterFlow will prompt you to deploy your indexes. By deploying indexes, FlutterFlow creates your database indexes on your behalf in the Firebase project's Firestore database indexes. + +Before deploying indexes, it is important to read this documentation about indexes provided by FlutterFlow.​ +![](../assets/20250430121307457486.png)​ +If you are unable to deploy indexes, please complete these troubleshooting steps: + +Ensure you have **email sign-in enabled. **Here are instructions on how to do this. + +Ensure you have added the following cloud permissions for firebase@flutterflow.io: **Editor**, **Cloud Functions Admin**, and **Service Account User**. Here are instructions on how to do this. + +Update your Firebase rules. Here are instructions on how to do this. + +Ensure you are on the latest version of FlutterFlow by selecting (ctrl/cmd + R). After you have done this, clear your browser cache and log out/in to FlutterFlow.​ + +In the event that the troubleshooting guide does not help you solve the issue, it is possible that you have reached the limit for the number of indexes allowed.To confirm this, go to your Firebase project, navigate to Firestore database, and select Indexes. If you see any notifications or error messages regarding the limitation of indexes, you will need to delete some indexes. In most projects, the maximum number of allowed indexes is 200, although this can vary depending on the plan and project.​ + +**Note: When you modify, add, or remove queries in the FlutterFlow project, FlutterFlow will once again prompt you to deploy the necessary indexes. This ensures that your application continues to function efficiently.**​ \ No newline at end of file diff --git a/docs/troubleshooting/uncategorized/Can't publish to Flutterflow.app as a subdomain. Error Error reserving subdomain. You have exceeded the quota for subdomains..md b/docs/troubleshooting/uncategorized/Can't publish to Flutterflow.app as a subdomain. Error Error reserving subdomain. You have exceeded the quota for subdomains..md new file mode 100644 index 00000000..2087956c --- /dev/null +++ b/docs/troubleshooting/uncategorized/Can't publish to Flutterflow.app as a subdomain. Error Error reserving subdomain. You have exceeded the quota for subdomains..md @@ -0,0 +1,29 @@ +--- +keywords: ['error', 'exceeded', 'subdomains'] +author: Unknown +created_at: '1677756386' +slug: /can-t-publish-to-flutterflow-app-as-a-subdomain-error-error-reserving-subdomain-you-have-exceeded-the-quota-for-subdomains +title: 'Can''t publish to Flutterflow.app as a subdomain. Error: Error reserving subdomain. + You have exceeded the quota for subdomains.' +updated_at: '1678233842' +url: https://intercom.help/flutterflow/en/articles/7044258-can-t-publish-to-flutterflow-app-as-a-subdomain-error-error-reserving-subdomain-you-have-exceeded-the-quota-for-subdomains +--- +# Can't publish to Flutterflow.app as a subdomain. Error: Error reserving subdomain. You have exceeded the quota for subdomains. + +Issue +You are trying to publish your web app to .flutterflow.app domain and face this error: + +``` +Error reserving subdomain. You have exceeded the quota for subdomains. +``` +![](../assets/20250430121255479960.png)Why You Are Seeing This Error +There is a limit to the number of sub-domains you can publish on the flutterflow.app domain. Free users can publish to 3 subdomains, while paid plans can publish to 10 subdomains. + +Tip: It only counts “custom” subdomains. By default your subdomain is your project id - these don’t count towards the quota​ +**Solutions** +Change the subdomain name (“Site URL” in the UI) to the project id. +When the name of the sub-domain is the same with the project name, it is not count as a sub-domain for you.​ +![](../assets/20250430121255810538.png) +Unpublish Some Of Your Other Projects +Use the unpublish button in the web publishing page.​ +![](../assets/20250430121256121119.png) \ No newline at end of file diff --git a/docs/troubleshooting/uncategorized/Can't see Text when using my app on mobile devices, but Text is visible in RUNTEST mode..md b/docs/troubleshooting/uncategorized/Can't see Text when using my app on mobile devices, but Text is visible in RUNTEST mode..md new file mode 100644 index 00000000..4acfe016 --- /dev/null +++ b/docs/troubleshooting/uncategorized/Can't see Text when using my app on mobile devices, but Text is visible in RUNTEST mode..md @@ -0,0 +1,27 @@ +--- +keywords: ['mode', 'mobile', 'text'] +author: Unknown +created_at: '1677758942' +slug: /can-t-see-text-when-using-my-app-on-mobile-devices-but-text-is-visible-in-runtest-mode +title: Can't see Text when using my app on mobile devices, but Text is visible in + RUN/TEST mode. +updated_at: '1678232534' +url: https://intercom.help/flutterflow/en/articles/7044347-can-t-see-text-when-using-my-app-on-mobile-devices-but-text-is-visible-in-run-test-mode +--- +# Can't see Text when using my app on mobile devices, but Text is visible in RUN/TEST mode. + +Issue +Text widget is not showing when I am testing on a real device, but this text is visible in Run/Test Mode (example below). + +![](../assets/20250430121253789974.png)Troubleshooting This Issue +If you encounter this issue, there are two specific areas to investigate:​ +Check Light/Dark Mode Text Colors +It's possible that the color scheme for the dark mode is leading to poor visibility of text against the background colors. This issue can be resolved by either disabling dark mode if it is unnecessary or adjusting the color scheme for the dark mode to a suitable setting. + +Navigate to Settings > Theme > colors to check the color settings.​ +![](../assets/20250430121254079048.png)Ensure No Translations Have Been Missed +If a translation has been missed, then the text will appear as an empty string when the application is run in a non-default language setting. To address this issue, you can use the FlutterFlow automatic translator to ensure all pages are translated when a new language is added. + +![](../assets/20250430121254348087.png)Alternatively, you can open the translations and look for any empty cells (example below) + +![](../assets/20250430121254635672.png) \ No newline at end of file diff --git a/docs/troubleshooting/uncategorized/Can't upload photo to Content Manager.md b/docs/troubleshooting/uncategorized/Can't upload photo to Content Manager.md new file mode 100644 index 00000000..4ffcd959 --- /dev/null +++ b/docs/troubleshooting/uncategorized/Can't upload photo to Content Manager.md @@ -0,0 +1,35 @@ +--- +keywords: ['content', 'upload', 'photo'] +author: Unknown +created_at: '1657225806' +slug: /can-t-upload-photo-to-content-manager +title: Can't upload photo to Content Manager +updated_at: '1659057829' +url: https://intercom.help/flutterflow/en/articles/6369337-can-t-upload-photo-to-content-manager +--- +# Can't upload photo to Content Manager + +Our default rules don't allow for upload in CMS. In order to do this, you will need to update your Firestore Rules. + +Open your FlutterFlow project and click Settings & Integrations > Firebase > Open Firebase Console + +![](../assets/20250430121356207178.png) + +Next click Storage > Rules + +![](../assets/20250430121356535681.png) + +Replace the code with the following and then click **publish**: + +```js +rules_version = '2'; +service firebase.storage { + match /b/{bucket}/o { + match /{allPaths=**} { + allow read, write: if request.auth != null; + } + } +} +``` + +**Important:** We recommend reviewing your Firebase rules before deploying your app. Please see this link for additional information on Firestore security rules. \ No newline at end of file diff --git a/docs/troubleshooting/uncategorized/Codemagic build error Format Exception Could not find End of Central Directory Record.md b/docs/troubleshooting/uncategorized/Codemagic build error Format Exception Could not find End of Central Directory Record.md new file mode 100644 index 00000000..73b769a0 --- /dev/null +++ b/docs/troubleshooting/uncategorized/Codemagic build error Format Exception Could not find End of Central Directory Record.md @@ -0,0 +1,19 @@ +--- +keywords: ['error', 'build', 'format'] +author: Unknown +created_at: '1678978452' +slug: /codemagic-build-error-format-exception-could-not-find-end-of-central-directory-record +title: 'Codemagic build error: Format Exception: Could not find End of Central Directory + Record' +updated_at: '1679121584' +url: None +--- +# Codemagic build error: Format Exception: Could not find End of Central Directory Record + +Tip: Not sure which type of error your project has? Check out this article on how to identify your Codemagic error.**What does this error mean?** +If you see this error message, it means that the user have entered wrong branch name for for the Github repo**Full error message**Codemagic build error: Format Exception: Could not find End of Central Directory Record**How to resolve this issue?**​ +To resolve this error, user just have to write the **branch name** instead of **repo-name/branch-name** (As shown below) or any other way, because the project has been already connected with the repo and just needs the branch-name to deploy. + +![](../assets/20250430121235746050.png)Here is the right way to write the **branch name** for the project: + +![](../assets/20250430121235981602.png)**The issue was not resolved**If this does not resolve the issue, contact FlutterFlow Support at support@flutterflow.io \ No newline at end of file diff --git a/docs/troubleshooting/uncategorized/Could not create an account as firebase@flutterflow.io to your firebase project, in CMS - content management.md b/docs/troubleshooting/uncategorized/Could not create an account as firebase@flutterflow.io to your firebase project, in CMS - content management.md new file mode 100644 index 00000000..05445cb7 --- /dev/null +++ b/docs/troubleshooting/uncategorized/Could not create an account as firebase@flutterflow.io to your firebase project, in CMS - content management.md @@ -0,0 +1,20 @@ +--- +keywords: ['firebase', 'error', 'content'] +author: Unknown +created_at: '1677251582' +slug: /could-not-create-an-account-as-firebase-flutterflow-io-to-your-firebase-project-in-cms-content-management +title: Could not create an account as firebase@flutterflow.io to your firebase project, + in CMS - content management +updated_at: '1677251836' +url: https://intercom.help/flutterflow/en/articles/7030277-could-not-create-an-account-as-firebase-flutterflow-io-to-your-firebase-project-in-cms-content-management +--- +# Could not create an account as firebase@flutterflow.io to your firebase project, in CMS - content management + +**If you believe all your configurations are correct, Or it was working before and you see this error now.** + +![](../assets/20250430121311458158.png)1- Please go to firebase project > Authentication and search for firebase@flutterflow.io user​ +![](../assets/20250430121311730523.png)2- Load the user by typing the firebase@flutterflow.io email and hit reload, After that you need to remove it from the authentication table + +3- Please back to CMS. and refresh the page, now you should be able to see your database content + +**Why this is happening?**When you connect more than 1 Flutterflow project to a firestore database and manage the data in more than one place. sometimes permissions got conflicted and when you open the CMS from project one, it works, but when you open CMS from the inside project two it does not work. so you need to remove the email and let it be created again. \ No newline at end of file diff --git a/docs/troubleshooting/uncategorized/Could we embed a Flutterflow web app into iFrames.md b/docs/troubleshooting/uncategorized/Could we embed a Flutterflow web app into iFrames.md new file mode 100644 index 00000000..8e41a5e9 --- /dev/null +++ b/docs/troubleshooting/uncategorized/Could we embed a Flutterflow web app into iFrames.md @@ -0,0 +1,13 @@ +--- +keywords: ['could', 'embed', 'iframes'] +author: Unknown +created_at: '1677842812' +slug: /could-we-embed-a-flutterflow-web-app-into-iframes +title: Could we embed a Flutterflow web app into iFrames? +updated_at: '1678244479' +url: None +--- +# Could we embed a Flutterflow web app into iFrames? + +FlutterFlow web applications may not load within iframes due to their use of local storage. However, it is possible to load these applications within iframes by enabling third-party cookies from the subdomain of the FlutterFlow app.​ +![](../assets/20250430121251224097.png)It is important to note that while this workaround may allow the application to load within an iframe, not all features may function properly. Additionally, it is worth noting that many reputable websites refuse to load within iframes as a security measure.Therefore, it is recommended to exercise caution when loading a FlutterFlow web application within an iframe and to thoroughly test all features to ensure proper functionality. \ No newline at end of file diff --git a/docs/troubleshooting/uncategorized/Create an alert if a user's email address or password is invalid.md b/docs/troubleshooting/uncategorized/Create an alert if a user's email address or password is invalid.md new file mode 100644 index 00000000..4d96cb0f --- /dev/null +++ b/docs/troubleshooting/uncategorized/Create an alert if a user's email address or password is invalid.md @@ -0,0 +1,16 @@ +--- +keywords: ['email', 'address', 'alert'] +author: Unknown +created_at: '1650489334' +slug: /create-an-alert-if-a-user-s-email-address-or-password-is-invalid +title: Create an alert if a user's email address or password is invalid +updated_at: '1721942919' +url: https://intercom.help/flutterflow/en/articles/6156971-create-an-alert-if-a-user-s-email-address-or-password-is-invalid +--- +# Create an alert if a user's email address or password is invalid + +You don't need to take care of these alert dialogs. FlutterFlow automatically shows the error messages generated in a SnackBar widget. + +![](../assets/20250430121519975010.gif) + + diff --git a/docs/troubleshooting/uncategorized/DeploymentBuild for mobile error NoDecoderForImageFormatException.md b/docs/troubleshooting/uncategorized/DeploymentBuild for mobile error NoDecoderForImageFormatException.md new file mode 100644 index 00000000..03833a8a --- /dev/null +++ b/docs/troubleshooting/uncategorized/DeploymentBuild for mobile error NoDecoderForImageFormatException.md @@ -0,0 +1,14 @@ +--- +keywords: ['error', 'deployment', 'build'] +author: Unknown +created_at: '1677591886' +slug: /deploymentbuild-for-mobile-error-nodecoderforimageformatexception +title: 'Deployment/Build for mobile error: NoDecoderForImageFormatException' +updated_at: '1677592263' +url: https://intercom.help/flutterflow/en/articles/7038400-deployment-build-for-mobile-error-nodecoderforimageformatexception +--- +# Deployment/Build for mobile error: NoDecoderForImageFormatException + +The issue is your icon file, the builder can not make the icon launcher file from your icon file selected.It could be the file format, For example, if you selected an SVG file for your icon.​ +![](../assets/20250430121258715184.png)Go to the Setting/App assets and change the icon and splash image**Make sure **1- The size of the asset you selected is not too big 2- Select a PNG/JPEG file icon, not SVG or something else​ +Try to use a 1024x1024 pixel size icon for the size at least.Note: Because Flutterflow uses the same icon asset to generate the ios and android icons, it is important that the asset you selected meets the guide lines of the two devices.For example, for ios better, you don't use PNG assets with transparent parts in it.Useful links:https://developer.android.com/distribute/google-play/resources/icon-design-specificationshttps://developer.apple.com/design/human-interface-guidelines/foundations/app-icons/ \ No newline at end of file diff --git a/docs/troubleshooting/uncategorized/Don't see Cloud Functions Admin in the Firebase Console.md b/docs/troubleshooting/uncategorized/Don't see Cloud Functions Admin in the Firebase Console.md new file mode 100644 index 00000000..b325889c --- /dev/null +++ b/docs/troubleshooting/uncategorized/Don't see Cloud Functions Admin in the Firebase Console.md @@ -0,0 +1,34 @@ +--- +keywords: ['firebase', 'cloud', 'console'] +author: Unknown +created_at: '1677585504' +slug: /don-t-see-cloud-functions-admin-in-the-firebase-console +title: Don't see Cloud Functions Admin in the Firebase Console +updated_at: '1678226378' +url: https://intercom.help/flutterflow/en/articles/7038084-don-t-see-cloud-functions-admin-in-the-firebase-console +--- +# Don't see Cloud Functions Admin in the Firebase Console + +Issue: I am trying to add firebase@flutterflow.io as a Cloud Functions Admin, but I can't find the option to add this. + +Background +Cloud Functions Admin permissions are required for several FlutterFlow features (e.g. Push Notifications). Adding this Cloud Functions Admin is optional, but not doing so will prevent you from using any functions that require Cloud Functions​ +Adding the Cloud Functions Admin role requires that you have a Firebase Blaze plan. + +How To Add A Blaze Plan To Your Firebase Account + +![](../assets/20250430121301671136.png) +To activate the Blaze plan on your Firebase project and enable this permission, follow the steps below: + +Open your Firebase project and navigate to the settings menu. + +Select the Usage and Billing option from the settings menu. + +In the Usage and Billing page, open the Details and Settings tab. + +Confirm that an active Blaze plan is associated with your project and that your billing account is properly connected.​ +![](../assets/20250430121302032059.png) + +Once these steps have been completed, you will be able to grant FlutterFlow permission to access and manage backend functions, allowing you to take full advantage of the platform's features. + +![](../assets/20250430121302300256.png)​ \ No newline at end of file diff --git a/docs/troubleshooting/uncategorized/Error Failed to create server directory. Please contact support@flutterflow.io.md b/docs/troubleshooting/uncategorized/Error Failed to create server directory. Please contact support@flutterflow.io.md new file mode 100644 index 00000000..beb2740b --- /dev/null +++ b/docs/troubleshooting/uncategorized/Error Failed to create server directory. Please contact support@flutterflow.io.md @@ -0,0 +1,43 @@ +--- +keywords: ['error', 'directory', 'server'] +author: Unknown +created_at: '1688586948' +slug: /error-failed-to-create-server-directory-please-contact-support-flutterflow-io +title: 'Error: Failed to create server directory. Please contact support@flutterflow.io' +updated_at: '1688591114' +url: https://intercom.help/flutterflow/en/articles/8098182-error-failed-to-create-server-directory-please-contact-support-flutterflow-io +--- +# Error: Failed to create server directory. Please contact support@flutterflow.io + +**Background** + +When trying to deploy Firebase storage rules, you might encounter `Error: Failed to create server directory. Please contact support@flutterflow.io`. This error can occur even after you have enabled Firebase storage in your Firebase Project linked to your FlutterFlow Project. This is likely because you have not set up Cloud Firestore correctly in your Firebase Project. + +![](../assets/20250430121206889627.png) +**How to resolve this issue?** +Step 1: Set Default GCP Resource Location. +Open your Firebase project and navigate to project settings, then set `Default CGP resource location` to the region that you prefer. + +![](../assets/20250430121207161508.png)Step 2: Enable Firebase Storage +In your Firebase project, navigate to the Build section and select Storage. Click get started and then set the rules to testing. In the location segment, set the same location as the one in the project settings. + +![](../assets/20250430121207438234.png)![](../assets/20250430121207744686.png)Step 3: Enable Cloud Firestore +In your Firebase project, navigate to the Build section and select Firestore Database. In some cases, cloud firebase is set to Data Store Mode, which is not recommended when working with FlutterFlow, so you will need to change Cloud Firestore from Data Store Mode to Native Mode. + +![](../assets/20250430121208035279.png)Change to Cloud Firestore to Native Mode + +Click on `Go to Google Cloud Console` + +Click `Switch To Native Mode` + +![](../assets/20250430121208288087.png) + +After switching the mode, navigate back to Firebase and reload Cloud Firestore. + +![](../assets/20250430121208489158.png) + +Step 4: Deploy Firebase Storage Rules in FlutterFlow +Open your FlutterFlow Project and re-deploy Firebase Storage Rules. + +![](../assets/20250430121208698400.png)![](../assets/20250430121208913054.png)**The issue was not resolved.** +If the error still persists after following the outlined steps, please contact support via Chat or Email at support@flutterflow.io. \ No newline at end of file diff --git a/docs/troubleshooting/uncategorized/Error Package name in Firebase Android config must match your app's package name..md b/docs/troubleshooting/uncategorized/Error Package name in Firebase Android config must match your app's package name..md new file mode 100644 index 00000000..9d068b0e --- /dev/null +++ b/docs/troubleshooting/uncategorized/Error Package name in Firebase Android config must match your app's package name..md @@ -0,0 +1,15 @@ +--- +keywords: ['firebase', 'android', 'error'] +author: Unknown +created_at: '1651199180' +slug: /error-package-name-in-firebase-android-config-must-match-your-app-s-package-name +title: 'Error: Package name in Firebase Android config must match your app''s package + name.' +updated_at: '1651241585' +url: None +--- +# Error: Package name in Firebase Android config must match your app's package name. + +Regenerate config files + +If this doesn't work, reconfigure Firebase \ No newline at end of file diff --git a/docs/troubleshooting/uncategorized/Error The bundle version must be higher than the previously uploaded version.md b/docs/troubleshooting/uncategorized/Error The bundle version must be higher than the previously uploaded version.md new file mode 100644 index 00000000..cad538df --- /dev/null +++ b/docs/troubleshooting/uncategorized/Error The bundle version must be higher than the previously uploaded version.md @@ -0,0 +1,47 @@ +--- +keywords: ['error', 'deployment', 'previously'] +author: Unknown +created_at: '1718224962' +slug: /error-the-bundle-version-must-be-higher-than-the-previously-uploaded-version +title: 'Error: The bundle version must be higher than the previously uploaded version' +updated_at: '1727117531' +url: None +--- +# Error: The bundle version must be higher than the previously uploaded version + +Tip: Not sure which type of error your project has? Check out this article on how to identify your Codemagic error. + +**What does this error mean?** +The error you are encountering occurs because the version and build number of the app you are trying to deploy are the same as the previously deployed version. Each new deployment must have a higher build number than the last one to be accepted by the Apple Store. + +Error message +NSLocalizedFailureReason=The bundle version must be higher than the previously uploaded version.; or +"NSLocalizedDescription": "The provided entity includes an attribute with a value that has already been used" + +How to resolve the issue +You need to ensure that the build number is higher than the last deployed version. In FlutterFlow, you can configure the build number to automatically increment with each deployment attempt. + +**Here’s what to do:** + +Check the latest version and build number uploaded to TestFlight. For example, if your last version was 1.0.1 with build number 12. + +Navigate to **FlutterFlow > Settings > Deployment** and find the section where you specify the version and build number (see image below this section). + +You have two options: + +**Option 1:** Keep the version the same and leave the build number field empty, allowing FlutterFlow to automatically increment it for you. + +**Option 2:** Manually increment the build number by 1. For example, if the last build number was 12, change it to 13. + +If manually incrementing the build number does not resolve the issue, try incrementing the version number as well. For instance, change it to 1.0.2 and leave the build number field empty, then attempt the deployment again. + +![](../assets/20250430121110741307.png) +Preventing Future Errors +To avoid this error in future deployments: + +If you prefer to **manually** increment the build number, be sure to increase it by one (1) before each new deployment. + +Alternatively, leave the build number field empty altogether, allowing FlutterFlow to handle the increment automatically. + +The issue was not resolved +If this does not resolve the issue, contact FlutterFlow Support at support@flutterflow.io \ No newline at end of file diff --git a/docs/troubleshooting/uncategorized/Execution failed for task 'appprocessReleaseGoogleServices'..md b/docs/troubleshooting/uncategorized/Execution failed for task 'appprocessReleaseGoogleServices'..md new file mode 100644 index 00000000..e5363335 --- /dev/null +++ b/docs/troubleshooting/uncategorized/Execution failed for task 'appprocessReleaseGoogleServices'..md @@ -0,0 +1,35 @@ +--- +keywords: ['firebase', 'error', 'failed'] +author: Unknown +created_at: '1661723973' +slug: /execution-failed-for-task-appprocessreleasegoogleservices +title: Execution failed for task ':app:processReleaseGoogleServices'. +updated_at: '1713554292' +url: https://intercom.help/flutterflow/en/articles/6509730-execution-failed-for-task-app-processreleasegoogleservices +--- +# Execution failed for task ':app:processReleaseGoogleServices'. + +Tip: Not sure which type of error your project has? Check out this article on how to identify your Codemagic error. + +**What does this error mean?** +This error usually means that there is some mismatch with the package name and that it needs to be checked. + +**Full error message** +``` +FAILURE: Build failed with an exception.* What went wrong:Execution failed for task ':app:processReleaseGoogleServices'.> No matching client found for package name '[app.app.app]' +``` + +**How to resolve this issue?** +To resolve this issue, please follow the following steps. + +You'll need to Regenerate the config files from FlutterFlow. To do this, open your app in **FlutterFlow** and then click on **Settings** **>** **Firebase**.​ +![](../assets/20250430121329008679.png) + +Here, Click on the **Regenerate Config Files **button, Enter the new package name and then Click on **Generate File.**​ +![](../assets/20250430121329460301.png) + +This issue should now be resolved. You can now re-deploy to confirm that the issue has been fixed. + +**Issue was not resolved after following the given steps** +If you are deploying from FlutterFlow and still getting this error after following all the steps outlined above, then please report this issue to support via Chat or Email at support@flutterflow.io. + diff --git a/docs/troubleshooting/uncategorized/Firebase project not configured.Make sure you set up Firebase for your project under Settings Firebase.md b/docs/troubleshooting/uncategorized/Firebase project not configured.Make sure you set up Firebase for your project under Settings Firebase.md new file mode 100644 index 00000000..9efa143c --- /dev/null +++ b/docs/troubleshooting/uncategorized/Firebase project not configured.Make sure you set up Firebase for your project under Settings Firebase.md @@ -0,0 +1,18 @@ +--- +keywords: ['firebase', 'sure', 'settings'] +author: Unknown +created_at: '1688966657' +slug: /firebase-project-not-configured-make-sure-you-set-up-firebase-for-your-project-under-settings-firebase +title: Firebase project not configured.Make sure you set up Firebase for your project + under Settings Firebase +updated_at: '1710092417' +url: None +--- +# Firebase project not configured.Make sure you set up Firebase for your project under Settings Firebase + +Background +In some cases, FlutterFlow Content Manager (CMS) fails to sync with the project data that is held by FlutterFlow. This results in CMS not being able to access data from Cloud Firesstore . + +![](../assets/20250430121204990541.png)Steps To Fix +To fix this issue, you need to make some changes in your FlutterFlow project that wouldn't affect your project design; this will update the project appropriately, and then you can access the CMS. +If the error still persists after following the outlined steps, please contact support via Chat or Email at support@flutterflow.io. \ No newline at end of file diff --git a/docs/troubleshooting/uncategorized/Get Address From Current Device Location.md b/docs/troubleshooting/uncategorized/Get Address From Current Device Location.md new file mode 100644 index 00000000..3dc872d8 --- /dev/null +++ b/docs/troubleshooting/uncategorized/Get Address From Current Device Location.md @@ -0,0 +1,73 @@ +--- +keywords: ['device', 'address', 'current'] +author: Unknown +created_at: '1679051423' +slug: /get-address-from-current-device-location +title: Get Address From Current Device Location +updated_at: '1679492282' +url: https://intercom.help/flutterflow/en/articles/7155954-get-address-from-current-device-location +--- +# Get Address From Current Device Location + +Use Case +FlutterFlow enables users to get the current device location or make calls to google maps API were you can get location meta data and details. You may want to get the location name to display in your FlutterFlow project , from the current device location or from an API call. This articles details a step by step instructions on how to achieve this. +Background +You can get formatted addresses from latitude and longitude in a few ways. + +Using the google maps API `https://maps.googleapis.com/maps/api/geocode/json?latlng=[latlang]&key=insertAPIkeyhere` + +Using dart package `Geocoding` + +We'll show you step-by-step how to set this up in FlutterFlow. +Sample Project +We've created a sample project to demonstrate how to build this in FlutterFlow: +https://app.flutterflow.io/project/geo-track-rvndyeKeep reading for step-by-step instructions to learn how you can build what we have created in our sample project. + +Using Google Maps API +To use the Google Maps API to get a user's current device location: + +Visit google cloud platforms and enable Maps for your project application +Here are detailed instructions on how to do this. Enabling the map's API +![](../assets/20250430121231440026.gif) +2. Add the API key to the local App State + +![](../assets/20250430121231812590.png)3. Set up and configure your APIs +- Navigate to API calls +- Create an API call +- Ensure you add the base URL and set the request method to Get +- Under the variables section, create +- create a variable name that latlng, set the data type to a string +- create another variable name it apiKey, and set the data type to string + +![](../assets/20250430121232082585.png)Here are detailed instructions on how to do this. +- Creating API Call +- Adding API call query + +**4. Create A Custom Function To Convert The Device Location To A String**To convert the current device location from global properties to string, create a custom function that will return a string. + +The custom functions take one parameter of type LatLng which is the type of the `current device location`. + +This Custom function will return a string of latitude and longitude to be passed to our API variables. + +![](../assets/20250430121232452872.png)In the UI builder create a button and set an action the performs a backend call + +5. Head back to API's run and test if the API is working well. +From the result create a JSON path.JSON path makes it possible to retrieve specific data out of the whole JSON response. + +![](../assets/20250430121232796431.gif) + +5. You can now show the City name in the UI builder by passing the JSON Path as a variable to the text. +To target a specific data we will pass array index of the long name to the json path + +`$.results[0].address_components[1].long_name` + +Head to JSON paths to get more detailed instructions on how to create JSON paths. + +![](../assets/20250430121233518615.png)You should have such results. +![](../assets/20250430121233994234.png)Using the Geocoding package +You also can use a custom action that receives the user's current device location from the global properties as parameters and relies on a dart plugin like (geocoding) to convert the coordinates to the city name. ** ** +Here is a sample of the custom action. + +![](../assets/20250430121234284106.png)Set the text variable from the custom action and pass the current device location.​ +![](../assets/20250430121234607888.png)To learn more about adding dependencies to your FlutterFlow project, read this article https://intercom.help/flutterflow/en/articles/7152626-adding-dependencies-in-pubspec-yaml-file-for-entire-project . + diff --git a/docs/troubleshooting/uncategorized/Google Phone Authentication Not Working on Real Devices APK Downloaded from Flutterflow, SHA1 Key Error.md b/docs/troubleshooting/uncategorized/Google Phone Authentication Not Working on Real Devices APK Downloaded from Flutterflow, SHA1 Key Error.md new file mode 100644 index 00000000..b343ff12 --- /dev/null +++ b/docs/troubleshooting/uncategorized/Google Phone Authentication Not Working on Real Devices APK Downloaded from Flutterflow, SHA1 Key Error.md @@ -0,0 +1,41 @@ +--- +keywords: ['authentication', 'error', 'real'] +author: Unknown +created_at: '1677593844' +slug: /google-phone-authentication-not-working-on-real-devices-apk-downloaded-from-flutterflow-sha1-key-error +title: 'Google / Phone Authentication Not Working on Real Devices: APK Downloaded + from Flutterflow, SHA1 Key Error' +updated_at: '1713210685' +url: https://intercom.help/flutterflow/en/articles/7038485-google-phone-authentication-not-working-on-real-devices-apk-downloaded-from-flutterflow-sha1-key-error +--- +# Google / Phone Authentication Not Working on Real Devices: APK Downloaded from Flutterflow, SHA1 Key Error + +If you face difficulties setting up social login and phone sign-in features, particularly when testing APKs downloaded directly from FlutterFlow, this guide will help you add SHA-1 and SHA-256 keys to your Firebase project to ensure smooth authentication in your app. + +Issue +Downloading an APK for testing from FlutterFlow's source code menu may sometimes result in the SHA-1 keys not auto-generating as expected. This is a significant problem because Firebase uses these keys to authorize and authenticate user access for services like Google authentication and phone sign-in. Incorrect or missing keys can disrupt these features, preventing user login. + +Solution: Manual Key Generation +To address this, you need to manually generate SHA-1 and SHA-256 keys related to the APK and add them to your Firebase project. Follow these steps: + +Step 1: Download the APK +Start by downloading your app's APK file from FlutterFlow. Navigate to the source code menu and select your project to download the APK to your local machine. + +Step 2: Generate SHA-1 and SHA-256 Keys +With the APK downloaded, open a terminal or command prompt and navigate to the directory containing the APK file. Then, execute the following command:​ +``` +keytool -printcert -jarfile app.apk +``` +This command outputs both the SHA-1 and SHA-256 keys required by Firebase for authentication purposes. + +Step 3: Add Keys to Firebase +Once you have the keys, the next step is to add them to your Firebase project. This is done through the Firebase console: + +Log in to the Firebase console. + +Select your project and navigate to the settings page. + +Under the "Your apps" section, find your Android app listing. + +Add the SHA-1 and SHA-256 keys to your app's Firebase configuration.​ + diff --git a/docs/troubleshooting/uncategorized/Google Play Store deployment error Failed to read key from store tmpkeystore.keystore.md b/docs/troubleshooting/uncategorized/Google Play Store deployment error Failed to read key from store tmpkeystore.keystore.md new file mode 100644 index 00000000..7feda909 --- /dev/null +++ b/docs/troubleshooting/uncategorized/Google Play Store deployment error Failed to read key from store tmpkeystore.keystore.md @@ -0,0 +1,25 @@ +--- +keywords: ['deployment', 'error', 'store'] +author: Unknown +created_at: '1689674708' +slug: /google-play-store-deployment-error-failed-to-read-key-from-store-tmpkeystore-keystore +title: 'Google Play Store deployment error: Failed to read key from keystore' +updated_at: '1689891723' +url: https://intercom.help/flutterflow/en/articles/8140880-google-play-store-deployment-error-failed-to-read-key-from-store-tmp-keystore-keystore +--- +**Background:** +The Google Play Store deployment is unsuccessful and displays the error below:​ + +``` +Error: Failed to read key ******** from store "/tmp/keystore.keystore" +``` + +**Solution:** +This error occurs due to issues with the keystore file used for Android app deployment. Here are the steps to resolve it: + +1. First, ensure your keystore file is correctly set up in your FlutterFlow project settings. +2. Check that your keystore password is correct. +3. If issues persist, try creating a new keystore file in FlutterFlow. +4. Make sure you've uploaded the correct keystore file. + +For more details on setting up Android keystores properly, consult the [FlutterFlow documentation on publishing Android apps](https://docs.flutterflow.io). \ No newline at end of file diff --git a/docs/troubleshooting/uncategorized/Google Play failed to upload artefacts. The Android App Bundle was signed with the wrong key. Found SHA1 XXXXXXXX. Expected YYYYYYYY.md b/docs/troubleshooting/uncategorized/Google Play failed to upload artefacts. The Android App Bundle was signed with the wrong key. Found SHA1 XXXXXXXX. Expected YYYYYYYY.md new file mode 100644 index 00000000..6ea1cc3c --- /dev/null +++ b/docs/troubleshooting/uncategorized/Google Play failed to upload artefacts. The Android App Bundle was signed with the wrong key. Found SHA1 XXXXXXXX. Expected YYYYYYYY.md @@ -0,0 +1,43 @@ +--- +keywords: ['android', 'release', 'build'] +author: Unknown +created_at: '1659986363' +slug: /google-play-failed-to-upload-artefacts-the-android-app-bundle-was-signed-with-the-wrong-key-found-sha1-xxxxxxxx-expected-yyyyyyyy +title: 'Google Play failed to upload artefacts. The Android App Bundle was signed + with the wrong key. Found: SHA1: XX:XX:XX:XX. Expected YY:YY:YY:YY' +updated_at: '1662047693' +url: https://intercom.help/flutterflow/en/articles/6454854-google-play-failed-to-upload-artefacts-the-android-app-bundle-was-signed-with-the-wrong-key-found-sha1-xx-xx-xx-xx-expected-yy-yy-yy-yy +--- +# Google Play failed to upload artefacts. The Android App Bundle was signed with the wrong key. Found: SHA1: XX:XX:XX:XX. Expected YY:YY:YY:YY + +Tip: Not sure which type of error your project has? Check out this article on how to identify your Codemagic error. + +**What does this error mean?** +One of the most common causes of a publishing error when deploying to the Google Play Store is attempting to deploy using the wrong Keystore file. + +**Full error message** + +``` +Google Play failed to upload artefacts. The Android App Bundle was signed with the wrong key. Found: SHA1: XX:XX:XX:XX. Expected YY:YY:YY:YY +``` + +**How to resolve this issue?** +If you are not using GitHub, contact support@flutterflow.io​ +**Verify That The Correct Keystore File Was Submitted For Signing** + +To create a new keystore, please run the following commands in your Integrated Development Environment`keytool -genkey -v -keystore ~/upload-keystore.jks -keyalg RSA -keysize 2048 -validity 10000 -alias upload` +If the application was already deployed and the previous keystore was misplaced, contact Google Support for further assistance. + +**Verify That Build.Grade File Was Correctly Modified** + +It is helpful to check the build.gradle file was modified to include the changes illustrated in the Google Play deployment documentation. + +**Verify your application was submitted in Release Mode** +Debug mode is when the application is still in development. In debug mode, the source code is not optimized for production, and the performance of the application might not be optimal. The application should be signed in Release Mode when it is ready to be published to the app stores. Signing the application in Release Mode will result in code optimization and much better application performance. To check: + +Check whether the application is signed in Release Mode instead of Debug Mode +If you see debug mode, you need to use these steps to fix it +![](../assets/20250430121350004885.png) + +**The issue was not resolved** +If you are deploying from FlutterFlow and still getting this error after following all the steps outlined in our documentation, then please report this issue to support via Chat or Email at support@flutterflow.io.​ diff --git a/docs/troubleshooting/uncategorized/Google Sign-In Doesn't Work In RunTest Mode And Published Web application on web.md b/docs/troubleshooting/uncategorized/Google Sign-In Doesn't Work In RunTest Mode And Published Web application on web.md new file mode 100644 index 00000000..5258b8e0 --- /dev/null +++ b/docs/troubleshooting/uncategorized/Google Sign-In Doesn't Work In RunTest Mode And Published Web application on web.md @@ -0,0 +1,30 @@ +--- +keywords: ['application', 'mode', 'sign'] +author: Unknown +created_at: '1653065856' +slug: /google-sign-in-doesn-t-work-in-runtest-mode-and-published-web-application-on-web +title: Google Sign-In Doesn't Work In Run/Test Mode And Published Web application + on web +updated_at: '1712706549' +url: https://intercom.help/flutterflow/en/articles/6236300-google-sign-in-doesn-t-work-in-run-test-mode-and-published-web-application-on-web +--- +# Google Sign-In Doesn't Work In Run/Test Mode And Published Web application on web + +​If you want to use social login features such as Google sign-in, Facebook, Microsoft, etc. on RUN or TEST mode or for your published web application, you need to add your domain to Firebase Authentication/Authorized Domain. + +![](../assets/20250430121454943811.png) +By doing this, you will whitelist your domain for Firebase authentication and give permission to the social login performed from the domain as an origin. +Here are the steps to follow: + +Open your Firebase project. + +Go to Authentication > Settings. + +Select Authorized Domains. + +You should now see a list of domains that are already authorized. To add your domain, click on the Add Domain button.​ +For instance, if you want to use social login in RUN mode in Flutterflow builds, you can whitelist this domain: app.flutterflow.io. If you published your app to **yourapp.flutterflow.app**, you need to add the same URL to your Authorized domains. +Side note: Specifically for the Test mode, you need to add our debug session URL to your authorized domains as well, as we explained here in test mode in the known issues panel.You can copy the URL from the known issues menu. + +![](../assets/20250430121455245967.png) + diff --git a/docs/troubleshooting/uncategorized/How To Create An SwipeableStack In FlutterFlow.md b/docs/troubleshooting/uncategorized/How To Create An SwipeableStack In FlutterFlow.md new file mode 100644 index 00000000..f5f08a77 --- /dev/null +++ b/docs/troubleshooting/uncategorized/How To Create An SwipeableStack In FlutterFlow.md @@ -0,0 +1,37 @@ +--- +keywords: ['swipeablestack', 'create', 'flutterflow'] +author: Unknown +created_at: '1688142189' +slug: /how-to-create-an-swipeablestack-in-flutterflow +title: How To Create An SwipeableStack In FlutterFlow +updated_at: '1690348154' +url: None +--- +# How To Create An SwipeableStack In FlutterFlow + +**WHEN TO USE A SWIPEABLESTACK WIDGET **A swipeable stack widget is typically used when you want to create a user interface where multiple cards or elements are stacked on top of each other, and the user can swipe horizontally to navigate through them. This pattern is commonly seen in apps that display a series of cards or pages that users can easily navigate through by swiping left or right. Some common scenarios where you might use a swipeable stack widget include: + +Tinder-like card swiping: When you want to implement a UI similar to the popular dating app Tinder, where users can swipe left or right to like or dislike cards, a swipeable stack widget can be used. + +Image carousel or gallery: If you have a set of images or content that you want to display one at a time and allow users to swipe through them horizontally, a swipeable stack widget can be a great choice. + +Onboarding screens: In apps with onboarding processes that introduce the app's features or functionality, a swipeable stack can be used to present different screens to the user, one at a time, with the ability to swipe through them sequentially. + +Content exploration: If your app has content items, such as articles or products, that users can explore, a swipeable stack can provide an engaging and intuitive way for users to navigate through the content.**NB**: Keep in mind that while a swipeable stack can offer an appealing and interactive user experience, it's essential to consider the context of your app and ensure that this navigation style aligns with your overall design and usability goals. Additionally, be mindful of performance implications, especially if you have a large number of elements in the stack, as rendering multiple widgets with animations can impact performance on lower-end devices.***Widgets*** + +SwipeableStack Widget +***Action (User Interaction)*** + +Control SwipeableStack View +Step 1: ​ +![](../assets/20250430121211148785.png)Add a **Swipeable Widget** to the canvas or displayed screen.Step 2: Add an action to the scaffold, on '**page load**' +![](../assets/20250430121211468522.png)Step 3: Under, '**define actions**', select '**Control Swipeable Stack**' ​ +![](../assets/20250430121211781606.png)Step 4: Select the Swipeable Stack type among the options shown in the attached image. +1. **Trigger Left Swipe**: This will initiate a swipe to the left +2. **Trigger Right Swipe:** This will initiate a swipe to the right +3. **Trigger Up Swipe**: This will initiate a swipe upwards +4. **Trigger Down Swipe**: This will initiate a swipe downwards. ​ +![](../assets/20250430121212153377.png)That way it will proceed to use the selected trigger type. + +**Do You Have Questions?** +If you have any questions, please reach out to support via Chat or Email at support@flutterflow.io. \ No newline at end of file diff --git a/docs/troubleshooting/uncategorized/How To Resolve 404 API Call Errors.md b/docs/troubleshooting/uncategorized/How To Resolve 404 API Call Errors.md new file mode 100644 index 00000000..877bc4ad --- /dev/null +++ b/docs/troubleshooting/uncategorized/How To Resolve 404 API Call Errors.md @@ -0,0 +1,15 @@ +--- +keywords: ['api', 'call', 'errors'] +author: Unknown +created_at: '1657199361' +slug: /how-to-resolve-404-api-call-errors +title: 'How To: Resolve 404 API Call Errors' +updated_at: '1657200607' +url: None +--- +# How To: Resolve 404 API Call Errors + +Standard API status codes are returned when unsuccessful API calls are made in FlutterFlow. Outlined below are some of the common responses for 404 HTTP API calls and how to solve them. +**404 (Resource Not Found)** +​ +![](../assets/20250430121358370953.png) \ No newline at end of file diff --git a/docs/troubleshooting/uncategorized/How To Resolve [Advanced] Could not sign in as firebase@flutterflow.io to your Firebase project. Make sure Email Sign-In is turned on for your Firebase project, and try again..md b/docs/troubleshooting/uncategorized/How To Resolve [Advanced] Could not sign in as firebase@flutterflow.io to your Firebase project. Make sure Email Sign-In is turned on for your Firebase project, and try again..md new file mode 100644 index 00000000..d11b8d86 --- /dev/null +++ b/docs/troubleshooting/uncategorized/How To Resolve [Advanced] Could not sign in as firebase@flutterflow.io to your Firebase project. Make sure Email Sign-In is turned on for your Firebase project, and try again..md @@ -0,0 +1,17 @@ +--- +keywords: ['firebase', 'configuration', 'troubleshooting'] +author: Unknown +created_at: '1676786926' +slug: /how-to-resolve-advanced-could-not-sign-in-as-firebase-flutterflow-io-to-your-firebase-project-make-sure-email-sign-in-is-turned-on-for-your-firebase-project-and-try-again +title: 'Firebase Sign-in Troubleshooting: Email Sign-In Configuration' +updated_at: '1678125895' +url: None +--- +**Could not sign in as firebase@flutterflow.io to your Firebase project. Make sure "Email Sign-In" is turned on for your Firebase project, and try again.** +​ +How To Resolve + +1. Make sure Email Sign-In is enabled for your Firebase Authentication and that you've properly set up your Auth configuration. +2. To verify this, go to the Firebase console, select your project, then go to Authentication → Sign-in methods → Email/Password and ensure it's enabled. +3. Also verify that you have granted the necessary permissions to the FlutterFlow service account. + diff --git a/docs/troubleshooting/uncategorized/How To Wrap Text.md b/docs/troubleshooting/uncategorized/How To Wrap Text.md new file mode 100644 index 00000000..c8181c15 --- /dev/null +++ b/docs/troubleshooting/uncategorized/How To Wrap Text.md @@ -0,0 +1,18 @@ +--- +keywords: ['wrap', 'text'] +author: Unknown +created_at: '1651531374' +slug: /how-to-wrap-text +title: How To Wrap Text +updated_at: '1651531459' +url: None +--- +# How To Wrap Text + +I suspect a lot of people are confused on how to wrap text in a container and just in general. + +Example: + +I've got a container in a listview. How do I wrap this text? + +![](../assets/20250430121501151202.png)Also, would be good to outline any other use cases where text would overflow and it might not be clear how to wrap it \ No newline at end of file diff --git a/docs/troubleshooting/uncategorized/How can i access to Page link [ after activating the dynamic link ].md b/docs/troubleshooting/uncategorized/How can i access to Page link [ after activating the dynamic link ].md new file mode 100644 index 00000000..c719e592 --- /dev/null +++ b/docs/troubleshooting/uncategorized/How can i access to Page link [ after activating the dynamic link ].md @@ -0,0 +1,33 @@ +--- +keywords: ['access', 'dynamic', 'activating'] +author: Unknown +created_at: '1653992808' +slug: /how-can-i-access-to-page-link-after-activating-the-dynamic-link +title: How can i access to Page link [ after activating the dynamic link ] +updated_at: '1654002703' +url: https://intercom.help/flutterflow/en/articles/6261879-how-can-i-access-to-page-link-after-activating-the-dynamic-link +--- +# How can i access to Page link [ after activating the dynamic link ] + +**After you enabled the deep linking & Routing**​ +You can also turn on Firebase dynamic links. +Want o know more about firebase dynamic links? + +![](../assets/20250430121453205914.png)Now when you **activated dynamic links**, you have access to the **page link** [ a specific link for each page ]​ +**Notice**: if you enable dynamic link you need to pu "HTTPS" for URL scheme How to setup dynamic link + +**Next step:** +Access the page link + +**when you want to use the page URL:** +In this example, we want to share the page URL, you need to first add an action [ Generate current page link } + +then after that, you can access the page URL throw the **widget state**/**Current page link** + +in this example I add 2 actions on my share button: + +**Generate the current page link action** + +**Share action: I select widget state/ current page link as the source of my action** + +![](../assets/20250430121453493755.png) \ No newline at end of file diff --git a/docs/troubleshooting/uncategorized/How to Retrieve and Upload Your Keystore File in FlutterFlow for an Existing Google Play Project.md b/docs/troubleshooting/uncategorized/How to Retrieve and Upload Your Keystore File in FlutterFlow for an Existing Google Play Project.md new file mode 100644 index 00000000..0fae6568 --- /dev/null +++ b/docs/troubleshooting/uncategorized/How to Retrieve and Upload Your Keystore File in FlutterFlow for an Existing Google Play Project.md @@ -0,0 +1,89 @@ +--- +keywords: ['upload', 'existing', 'file'] +author: Unknown +created_at: '1689844796' +slug: /how-to-retrieve-and-upload-your-keystore-file-in-flutterflow-for-an-existing-google-play-project +title: How to Retrieve and Upload Your Keystore File in FlutterFlow for an Existing + Google Play Project +updated_at: '1712706525' +url: https://intercom.help/flutterflow/en/articles/8154282-how-to-retrieve-and-upload-your-keystore-file-in-flutterflow-for-an-existing-google-play-project +--- +# How to Retrieve and Upload Your Keystore File in FlutterFlow for an Existing Google Play Project + +Introduction +Publishing an updated version of your app using FlutterFlow can be a challenging task, especially when the app was initially published on Google Play using another platform. + +This guide aims to walk you through the process of obtaining or resetting keys from Google Play, creating a new keystore on your local machine, uploading it to FlutterFlow, and successfully deploying the app to your existing Google Play project. + +If you run into any roadblocks, we recommend reaching out to Google Play support or FlutterFlow Support for further assistance. +![](../assets/20250430121201175857.png) +![](../assets/20250430121201415199.png) +![](../assets/20250430121201673795.png)Create the new keystorekeytool -genkeypair -alias allyou -keyalg RSA -keysize 2048 -validity 10000 -keystore allyou.keystoreExport the pem public key from itkeytool -export -rfc -lkeystore allyou.keystore -alias allyou -file allyou.pem Provide it to the google play requestWait for them to approveThen next steps is to use the keystore to deploy to google play + +Step 1: Create a New Keystore + +Begin by generating a new keystore. Open your command line tool and enter the following command: +``` +bashCopy codekeytool -genkeypair -alias allyou -keyalg RSA -keysize 2048 -validity 10000 -keystore allyou.keystore +``` +This command creates a new keystore named 'allyou.keystore' with an RSA key pair, a key size of 2048 bits, and a validity period of 10,000 days. The alias for your key should be 'allyou'. +Step 2: Export the PEM Public Key + +Once your keystore is created, you need to export the public key. Use the following command to do so: +``` +bashCopy codekeytool -export -rfc -keystore allyou.keystore -alias allyou -file allyou.pem +``` +This command exports the public key into a file named 'allyou.pem'. Ensure you have access to the keystore ('allyou.keystore') as it is required for this step. +Step 3: Provide the PEM Public Key to Google Play + +After exporting the PEM public key, you need to provide it to Google Play. Log in to your Google Play Console and follow the necessary steps to submit your 'allyou.pem' file. This process is typically required for app signing or other verification purposes. +Step 4: Wait for Approval from Google Play + +After submitting your PEM public key, wait for approval from Google Play. This process can vary in time, so check your Google Play Console regularly for updates. Approval is necessary before you can proceed with deploying your app. +Step 3: Deploy to Google Play Using the Keystore + +Once your PEM public key is approved, you can use your keystore ('allyou.keystore') to deploy your app to Google Play. + +Proceed with the app upload process in the Google Play Console, ensuring that you select the 'allyou.keystore' file when prompted for your keystore details. + +------Step 1: Requesting a New Upload Key from Google Play (If Necessary) +If you've lost your original upload key, or it has been compromised, you can request a new one from Google Play. Here's how: + +Sign in to your Google Play Console. + +Select the app you want to manage. + +On the left menu, click on "Setup" and then "App Integrity." + +Look for the "Request upload key reset" option. + +Note: If you can't find the app integrity you can use the search bar on top of the Google Play console​ +![](../assets/20250430121201908772.png) +![](../assets/20250430121202201523.png) +**Note**: You'll see a lock icon next to this option, indicating that you need special permission to perform this action. If you don't have the necessary permission, you will need to get it from the account owner. + +Follow the on-screen instructions to complete the request. +This process will generate a new upload key for you, but remember, it takes about 48 hours for the new key to become available for use.​ +**Important**: Keep this new key safe and back it up immediately. Losing your upload key can severely complicate the app update process on Google Play.​ +​ +Step 2: After Receiving the New Upload Key + +Once Google Play has approved your request and provided you with a new upload key, you'll typically receive it in a **`.jks`** or **`.p12`** format. Here's what to do next: +​**Verify the Key**: Open a terminal and use the following command to list the key's details:​ +``` +keytool -list -v -keystore path/to/your_new_key.jks +``` +Replace **`path/to/your_new_key.jks`** with the actual path to your new key. This command will display the key's fingerprint, which should match the one provided by Google Play. +​**Prepare for FlutterFlow**: Make sure the key is in **`.jks`** format as FlutterFlow requires this specific type. If your key is in **`.p12`** format, you can convert it using:​ +``` +keytool -importkeystore -srckeystore your-key.p12 -srcstoretype pkcs12 -destkeystore your-key.jks -deststoretype JKS +``` +​**Upload to FlutterFlow**: Log in to your FlutterFlow account, go to the 'Deploy' section, and upload the new **`.jks`** key under Android settings. Make sure to input the keystore password, key alias, and key password that are associated with the new key.​ +![](../assets/20250430121202456192.png)![](../assets/20250430121202663162.png) +**Deploying to the Google Play Store:** Before deploying your app to Google Play, consider running a test build within FlutterFlow using the newly uploaded key. This will help you identify any issues before the final deployment. +​Note: Your key store file Flutterflow used to sign your app, is accessible on the deploy page with the orange key button.​ +![](../assets/20250430121202861692.png) + +Conclusion +We hope this guide assists you in deploying your app using FlutterFlow. Managing keystores is an essential part of app development. Always back up your keystore and remember the passwords you set for it. A lost keystore can create severe complications for your app's updates on Google Play.​ +For further assistance, feel free to contact FlutterFlow Support or Google Play Support. \ No newline at end of file diff --git a/docs/troubleshooting/uncategorized/How to Take an email from textField [ user input ] and update the same user record.md b/docs/troubleshooting/uncategorized/How to Take an email from textField [ user input ] and update the same user record.md new file mode 100644 index 00000000..cbbf4f16 --- /dev/null +++ b/docs/troubleshooting/uncategorized/How to Take an email from textField [ user input ] and update the same user record.md @@ -0,0 +1,36 @@ +--- +keywords: ['email', 'input', 'update'] +author: Unknown +created_at: '1652692514' +slug: /how-to-take-an-email-from-textfield-user-input-and-update-the-same-user-record +title: 'How to: Take an email from textField [ user input ] and update the same user + record?' +updated_at: '1652696048' +url: https://intercom.help/flutterflow/en/articles/6220372-how-to-take-an-email-from-textfield-user-input-and-update-the-same-user-record +--- +# How to: Take an email from textField [ user input ] and update the same user record? + +Sometimes you need to update/delete a record and the record related to the user choice. for example, you want the user to type an email address and if a user exists with that email address you want to update that user or maybe put the user reference on a document.But how? as we do not have any action that does a query. + +![](../assets/20250430121457209095.gif) +Trick: we need to load the document before any action, so how?As a pre-requisite you will need to: + +Complete Firebase setup + +Create a Firebase collection + +Have some users documents in your database1: We need a textField widget to take the email from the user + +we need to turn on the Update page on change functionality so this way every time users type a character the page will be refreshed and we can access the value.​ +![](../assets/20250430121457646837.png)2: now we need another widget to show the result and the button that we want to use to raise the action.this widget should be hidden when we do not have any results. the query will take care of that.so we do a single query on the widget and make sure to turn on the Hide widget if no match. simply here we are hiding the entire widget when we do not find any user with that email. +so if this widget is shown it means we find the user and we have a result on our query. now let's go for the action on the button + +![](../assets/20250430121457985825.png)3: in the action panel, we just do an update on the query result that is a user document. and after that, we show a snack bar + +![](../assets/20250430121458204938.png) +That's it.* You can instead turn on the Update page on change for the text field. use localState and a button to set the localState value from textField. and use the localState value to filter your query. + +You can open this project [ https://app.flutterflow.io/project/flutterflow-adcdi2 ] page "UpdateUser" and see how we did this. replicate the process then. + +. +​ \ No newline at end of file diff --git a/docs/troubleshooting/uncategorized/How to change modes in Firestore; from Datastore to Native mode.md b/docs/troubleshooting/uncategorized/How to change modes in Firestore; from Datastore to Native mode.md new file mode 100644 index 00000000..f1500915 --- /dev/null +++ b/docs/troubleshooting/uncategorized/How to change modes in Firestore; from Datastore to Native mode.md @@ -0,0 +1,24 @@ +--- +keywords: ['mode', 'firestore', 'datastore'] +author: Unknown +created_at: '1688966253' +slug: /how-to-change-modes-in-firestore-from-datastore-to-native-mode +title: How to change modes in Firestore; from Datastore to Native mode +updated_at: '1688966586' +url: None +--- +# How to change modes in Firestore; from Datastore to Native mode + +**Background**In some cases, Cloud Firestore is set to Data Store Mode by default, which is not recommended when working with FlutterFlow.In this case, you will need to change Cloud Firestore from Data Store Mode to Native Mode.​ +![](../assets/20250430121205509269.png)Steps To ChangeCloud Firestore to Native Mode + +Click on `Go to Google Cloud Console` + +Click `Switch To Native Mode` + +![](../assets/20250430121205798445.png) + +After switching the mode, navigate back to Firebase and reload Cloud Firestore. + +- ![](../assets/20250430121206162085.png) +If the error still persists after following the outlined steps, please contact support via Chat or Email at support@flutterflow.io. \ No newline at end of file diff --git a/docs/troubleshooting/uncategorized/I can't copy-paste widgets..md b/docs/troubleshooting/uncategorized/I can't copy-paste widgets..md new file mode 100644 index 00000000..638a0c96 --- /dev/null +++ b/docs/troubleshooting/uncategorized/I can't copy-paste widgets..md @@ -0,0 +1,20 @@ +--- +keywords: ['paste', 'widgets', 'copy'] +author: Unknown +created_at: '1650491272' +slug: /i-can-t-copy-paste-widgets +title: I can't copy-paste widgets. +updated_at: '1713554288' +url: https://intercom.help/flutterflow/en/articles/6157063-i-can-t-copy-paste-widgets +--- +# I can't copy-paste widgets. + +Check to ensure that **Clipboard** is allowed for FlutterFlow in your browser. For Chrome, please follow these steps: + +Select the **lock icon** in the website address bar. + +A popup will appear. Ensure it says **Allow **next to Clipboard. + +![](../assets/20250430121511630414.png) + +Once done, try copy-pasting the widget again. diff --git a/docs/troubleshooting/uncategorized/I can't upload an image in the app via the image upload action..md b/docs/troubleshooting/uncategorized/I can't upload an image in the app via the image upload action..md new file mode 100644 index 00000000..449be9e3 --- /dev/null +++ b/docs/troubleshooting/uncategorized/I can't upload an image in the app via the image upload action..md @@ -0,0 +1,23 @@ +--- +keywords: ['storage', 'upload', 'image'] +author: Unknown +created_at: '1650488987' +slug: /i-can-t-upload-an-image-in-the-app-via-the-image-upload-action +title: I can't upload an image in the app via the image upload action. +updated_at: '1713554286' +url: https://intercom.help/flutterflow/en/articles/6156955-i-can-t-upload-an-image-in-the-app-via-the-image-upload-action +--- +# I can't upload an image in the app via the image upload action. + +This is a common issue that may arise due to the misconfiguration in Firebase Storage. This can be fixed by updating the Firebase Storage rules. + +Here are the instructions on how to do this. + +Head over to the **Storage **section in your Firebase project and click on the **Rules **tab. +![](../assets/20250430121520677214.gif) +Here you would need to replace the current rules with the rules given below. +``` +rules_version = '2';service firebase.storage{ match /b/{bucket}/o{ match /{allPaths=**}{ allow read, write: if request.auth != null; } }} +``` + +![](../assets/20250430121520979751.gif)This should fix the issue with uploading media in the application. If you still face this issue then please make sure to re-upload all the previously uploaded images from the application. \ No newline at end of file diff --git "a/docs/troubleshooting/uncategorized/I get this error The operation couldn\342\200\231t be completed. Unable to locate a Java Runtime..md" "b/docs/troubleshooting/uncategorized/I get this error The operation couldn\342\200\231t be completed. Unable to locate a Java Runtime..md" new file mode 100644 index 00000000..c3e6958f --- /dev/null +++ "b/docs/troubleshooting/uncategorized/I get this error The operation couldn\342\200\231t be completed. Unable to locate a Java Runtime..md" @@ -0,0 +1,13 @@ +--- +keywords: ['error', 'java', 'couldn'] +author: Unknown +created_at: '1650489369' +slug: /i-get-this-error-the-operation-couldn-t-be-completed-unable-to-locate-a-java-runtime +title: 'I get this error: The operation couldn’t be completed. Unable to locate a + Java Runtime.' +updated_at: '1718382894' +url: None +--- +# I get this error: The operation couldn’t be completed. Unable to locate a Java Runtime. + +You will need to install Java Runtime on your machine. Please visit http://www.java.com and download Java based on your OS. diff --git "a/docs/troubleshooting/uncategorized/ITMS-90683 Missing purpose string in Info.plist - The Info.plist file for the \342\200\234Runner.app\342\200\235 bundle should contain a NSPhotoLibraryUsageDescription key.md" "b/docs/troubleshooting/uncategorized/ITMS-90683 Missing purpose string in Info.plist - The Info.plist file for the \342\200\234Runner.app\342\200\235 bundle should contain a NSPhotoLibraryUsageDescription key.md" new file mode 100644 index 00000000..725b3308 --- /dev/null +++ "b/docs/troubleshooting/uncategorized/ITMS-90683 Missing purpose string in Info.plist - The Info.plist file for the \342\200\234Runner.app\342\200\235 bundle should contain a NSPhotoLibraryUsageDescription key.md" @@ -0,0 +1,36 @@ +--- +keywords: ['error', 'runner', 'purpose'] +author: Unknown +created_at: '1679254771' +slug: /itms-90683-missing-purpose-string-in-info-plist-the-info-plist-file-for-the-runner-app-bundle-should-contain-a-nsphotolibraryusagedescription-key +title: 'ITMS-90683: Missing purpose string in Info.plist - The Info.plist file for + the “Runner.app” bundle should contain a NSPhotoLibraryUsageDescription key' +updated_at: '1679297179' +url: None +--- +# ITMS-90683: Missing purpose string in Info.plist - The Info.plist file for the “Runner.app” bundle should contain a NSPhotoLibraryUsageDescription key + +**Full Error Message**`Dear Developer,` +`We identified one or more issues with a recent delivery for your app, "Gral Wind Orchestra App" 1.0.1 (1). Please correct the following issues, then upload again.` +`ITMS-90683: Missing purpose string in Info.plist - Your app’s code references one or more APIs that access sensitive user data, or the app has one or more entitlements that permit such access. The Info.plist file for the “Runner.app” bundle should contain a NSPhotoLibraryUsageDescription key with a user-facing purpose string explaining clearly and completely why your app needs the data. If your app supports multiple locales, you’re now required to provide a purpose string value in the Info.plist file in addition to a valid localized string across each of your app’s localization folders. If you’re using external libraries or SDKs, they may reference APIs that require a purpose string. While your app might not use these APIs, a purpose string is still required. For details, visit: https://developer.apple.com/documentation/uikit/protecting_the_user_s_privacy/requesting_access_to_protected_resources.` + +Background +This error occurs when you have not provided a permission usage description for the requested permission. + +**How To Resolve This Issue?** + +Navigate to `Settings and Intergrations` + +Scroll to `Project setup` and click `Permissions` + +Locate the permission requested without a usage description and add the description. + +![](../assets/20250430121227744579.png) + +![](../assets/20250430121227989568.png) + +**The issue was not resolved.** + +If the error persists after following the outlined steps, please report this issue to support via Chat or Email at support@flutterflow.io. + +​ \ No newline at end of file diff --git a/docs/troubleshooting/uncategorized/Invalid Pre-Release Train. The train version 'X.X.X' is closed for new build submissions.md b/docs/troubleshooting/uncategorized/Invalid Pre-Release Train. The train version 'X.X.X' is closed for new build submissions.md new file mode 100644 index 00000000..a77a48ac --- /dev/null +++ b/docs/troubleshooting/uncategorized/Invalid Pre-Release Train. The train version 'X.X.X' is closed for new build submissions.md @@ -0,0 +1,50 @@ +--- +keywords: ['release', 'build', 'deployment'] +author: Unknown +created_at: '1658238366' +slug: /invalid-pre-release-train-the-train-version-x-x-x-is-closed-for-new-build-submissions +title: Invalid Pre-Release Train. The train version 'X.X.X' is closed for new build + submissions +updated_at: '1713554290' +url: https://intercom.help/flutterflow/en/articles/6398258-invalid-pre-release-train-the-train-version-x-x-x-is-closed-for-new-build-submissions +--- +# Invalid Pre-Release Train. The train version 'X.X.X' is closed for new build submissions + +Tip: Not sure which type of error your project has? Check out this article on how to identify your Codemagic error. + +**What does this error mean?** +This error means that the app that you're trying to submit to the App Store is closed for new build submissions. You can't submit it again with the same app version, even if the build number has changed. + +**How to resolve this issue?** +You'll need to increment the app version in the FlutterFlow deployment settings. +In order to do this, please follow these steps: + +Press **Cmd/Ctrl + k**, type **"deployment"** and hit enter. It will take you to the deployment page. + +![](../assets/20250430121353111041.png) + +You can also navigate to the Deployment section by clicking **Project Settings** > **Deployment** (under App Settings).​ +![](../assets/20250430121353323352.png) + +Click on the Expand icon in front of the **Version.** + +![](../assets/20250430121353635504.png) + +Here you'll need to update the version number to the next increment version number. For example, if you have 1.2.0, you will need to upgrade to 1.2.1 +***Learn more about when to increment version numbers after the 4th step.*** + +![](../assets/20250430121353926967.gif) + +After this, you can try deploying your app once again, and it will succeed. + +When to increment the app version number? +The best versioning scheme is to choose what makes sense to you or your team. But here's a common versioning method called **Semantic Versioning (Major.Minor.Build)** + +Major Version +The first number in the sequence `(1.x.x)` is the major version and this semantically means that the software has a breaking change that could affect any other software that depends on it. For example, you could have an API that completely changes the URI path in an upgraded version from `1.x.x` to `2.x.x`. + +Minor Version +Minor versions are changes to the code that do not reflect breaking changes but are significant enough to warrant a version increase. More often than not, this includes additions to the code that add functionality and does not break it. So if you added a new endpoint to an existing API and kept all other endpoints the same, then the API's version could be increased from `x.1.x` to `x.2.x`. + +Bug/Build Version +The last number in the scheme stands for the bug/build version depending on how you want to look at it. This could be used for bug fixes and hotfixes that come up in the lifecycle of your application. For example, `x.x.1` to `x.x.2`. \ No newline at end of file diff --git a/docs/troubleshooting/uncategorized/Is low performance of Flutterflow editor could affect the app performance we create with Flutterflow.md b/docs/troubleshooting/uncategorized/Is low performance of Flutterflow editor could affect the app performance we create with Flutterflow.md new file mode 100644 index 00000000..a871ccba --- /dev/null +++ b/docs/troubleshooting/uncategorized/Is low performance of Flutterflow editor could affect the app performance we create with Flutterflow.md @@ -0,0 +1,27 @@ +--- +keywords: ['affect', 'could', 'performance'] +author: Unknown +created_at: '1677761836' +slug: /is-low-performance-of-flutterflow-editor-could-affect-the-app-performance-we-create-with-flutterflow +title: Is low performance of Flutterflow editor could affect the app performance we + create with Flutterflow? +updated_at: '1678230957' +url: None +--- +# Is low performance of Flutterflow editor could affect the app performance we create with Flutterflow? + +When working with a drag-and-drop interface to develop a code-based application, a considerable amount of code is generated in the background. Flutterflow is a popular low-code platform that uses a drag-and-drop interface to simplify app development, and some users may have concerns about the potential impact of the generated code on their app's performance.​ + +However, it's important to note that any sluggishness experienced when working with Flutterflow does not necessarily impact the app's performance. Users may worry that the large amount of code generated in the background may slow their apps down, but this is not the case. +For instance, if someone complains that Adobe Photoshop is slow on their computer, they may worry that this could cause their images to become blurry. However, this isn't a direct correlation - using Photoshop doesn't inherently make images blurry, and it's not slow for everyone.​ + +The same concept applies to Flutterflow. While a large amount of code is generated in the background when working in the platform, this doesn't automatically translate into sluggish app performance. When working with Flutterflow, it's worth keeping in mind that any issues with speed and performance are likely to be limited to the Flutterflow editor itself. +One potential issue to be aware of is the CPU usage when typing long texts in text fields directly in Flutterflow. Each character typed triggers a real-time action throughout the editor to apply the changes, which could cause CPU usage to spike. However, this issue can be resolved by writing the text in a separate application and copying and pasting it into Flutterflow.​ + +Despite these minor issues, Flutterflow remains an excellent platform for developing apps. Users can create their first prototype and run it on a real device to experience impressive app performance firsthand. For those who need further inspiration or guidance, Flutterflow has a community of experts who have developed apps using the platform, which can be accessed at **https://experts.flutterflow.io/**.​ +**In addition to this, there are a couple of factors that may cause slow performance in the Flutterflow editor.**The first is related to project size, where larger projects with numerous pages and components or a high volume of text fields could take up more memory and cause slower performance.​ + +Another factor is working on a project for a prolonged period without exiting or restarting the browser. Browsers have cache limits, and if the cache reaches its limit, it could slow down the Flutterflow editor significantly.​ + +To mitigate these issues, it's recommended to use the macOS version of Flutterflow if you are only working on UI elements. Additionally, it's a good idea to restart and hard refresh the browser periodically if you notice that the browser is slowing down. +By keeping these suggestions in mind, users can optimize their experience with the Flutterflow platform and continue developing high-quality apps efficiently.​ \ No newline at end of file diff --git a/docs/troubleshooting/uncategorized/Missing Data Types in App State Variable List.md b/docs/troubleshooting/uncategorized/Missing Data Types in App State Variable List.md new file mode 100644 index 00000000..97fa51e9 --- /dev/null +++ b/docs/troubleshooting/uncategorized/Missing Data Types in App State Variable List.md @@ -0,0 +1,30 @@ +--- +keywords: ['list', 'missing', 'state'] +author: Unknown +created_at: '1687434002' +slug: /missing-data-types-in-app-state-variable-list +title: Missing Data Types in App State Variable List +updated_at: '1687443902' +url: https://intercom.help/flutterflow/en/articles/8041158-missing-data-types-in-app-state-variable-list +--- +# Missing Data Types in App State Variable List + +Under normal circumstances, when you're creating an app state variable in FlutterFlow, you should be able to see the data type as an option. However, there may be instances where this option is not visible. **This can be particularly prevalent in older projects.** + +The root cause of this issue often lies in the Deep Linking settings of your project. If Deep Linking is not enabled, the data types may not appear in the app state variable creation list. + +To resolve this issue, follow the steps outlined below: + +1. Navigate to your FlutterFlow project settings page. +2. Locate the 'App Details' section. +3. Within this section, find the 'Deep Linking & Route' settings. +**4. Ensure that the Deep Linking option is turned on.** + +**Conclusion**: +By following these steps, you should now be able to see the data types when creating an app state variable in FlutterFlow. This simple yet effective solution ensures that your app development process remains smooth and efficient. + +![](../assets/20250430121217509964.png) +Remember, troubleshooting is an integral part of the development process. Stay patient, stay persistent, and happy coding! + +Please note: This solution is particularly effective for older projects. If you're still facing issues after implementing these steps, please reach out to FlutterFlow support for further assistance. + diff --git a/docs/troubleshooting/uncategorized/Missing Purpose String in Info.plist.md b/docs/troubleshooting/uncategorized/Missing Purpose String in Info.plist.md new file mode 100644 index 00000000..df2e13a8 --- /dev/null +++ b/docs/troubleshooting/uncategorized/Missing Purpose String in Info.plist.md @@ -0,0 +1,57 @@ +--- +keywords: ['permissions', 'error', 'missing'] +author: Unknown +created_at: '1662262810' +slug: /missing-purpose-string-in-info-plist +title: Missing Purpose String in Info.plist +updated_at: '1721943989' +url: https://intercom.help/flutterflow/en/articles/6528895-missing-purpose-string-in-info-plist +--- +# Missing Purpose String in Info.plist + +**Full Error Message** +``` +ITMS-90683: Missing Purpose String in Info.plist - Your app‘s code references one or more APIs that access sensitive user data. The app‘s Info.plist file should contain a [permission] key with a user-facing purpose string explaining clearly and completely why your app needs the data. If you're using external libraries or SDKs, they may reference APIs that require a purpose string. While your app might not use these APIs, a purpose string is still required. +``` + +Quick Summary of the Solution + +The error indicates that your app needs to provide clear explanations for why it uses certain data. To resolve this issue: + +**Navigate to Settings**: Start by going to the settings menu in FlutterFlow. + +**Adjust Permissions**: Click on 'Permissions'. Here, you need to either: + +Add clear descriptions for why each permission is needed. For instance, if your app accesses the photo library, include a purpose string like: "We need access to your photo library to upload images directly from your device." + +Ensure all necessary permissions your app requires are enabled. + +Implementing transparent fixes like these helps build trust and smoothens the process for App Store approval. +More on the **`ITMS-90683`** Error +The **`ITMS-90683`** error occurs when your app's code references APIs that require user permission to access sensitive data, but your **`Info.plist`** lacks the necessary purpose strings. These strings are essential for informing users about why your app needs access to certain data, contributing to a trustworthy user experience. This requirement applies even if your app indirectly references these APIs through external libraries or SDKs. + +![](../assets/20250430121321604645.png) +How to Fix the Error +To resolve this issue, you need to update your **`Info.plist`** file with the missing purpose strings for each permission your app requires. Here's a step-by-step guide: + +**Identify Required Permissions**: Review your app and note down all the features that require access to sensitive user data, such as the camera, microphone, location services, etc. + +**Navigate to Setting & Integrations**: In your project settings, find the section labeled Permissions. This is where you'll define and explain the permissions your app requires. + +**Add Permissions and Purpose Strings**: For each required permission, add an entry in your **`Info.plist`** with the appropriate key and a detailed description of why your app needs this access. The description should be clear, user-friendly, and comprehensive, explaining not just that your app needs this access, but how it will be used to enhance the user's experience. +For example, if your app needs microphone access, you might add the **`NSMicrophoneUsageDescription`** key with a value like "Our app requires microphone access to allow you to record audio notes within the app." + +**Review Guidelines**: Before finalizing your purpose strings, review the guidelines provided by Apple for requesting access to protected resources. Ensure your purpose strings align with these guidelines to avoid submission issues. + +**Test**: Before submitting your app, test it to ensure that the permission prompts appear as expected and that the purpose strings are displayed correctly to the user. + +**Submission**: Once you've added all necessary purpose strings and tested them, you can resubmit your app for review. + +Why It's Important +Providing clear and honest purpose strings is not just about compliance; it's about building trust with your users. By transparently explaining why your app needs certain permissions, you encourage users to grant those permissions, enabling them to fully experience your app's features. + +![](../assets/20250430121321961623.png) +Remember, privacy is a critical concern for many users, and how you handle their data can significantly impact their perception of your app. By addressing the ITMS-90683 error thoughtfully, you demonstrate your commitment to user privacy and trust.​ + + +​​ \ No newline at end of file diff --git a/docs/troubleshooting/uncategorized/My app colors aren't correct when running my application on a real device.md b/docs/troubleshooting/uncategorized/My app colors aren't correct when running my application on a real device.md new file mode 100644 index 00000000..8e7683f0 --- /dev/null +++ b/docs/troubleshooting/uncategorized/My app colors aren't correct when running my application on a real device.md @@ -0,0 +1,37 @@ +--- +keywords: ['application', 'device', 'real'] +author: Unknown +created_at: '1677856915' +slug: /my-app-colors-aren-t-correct-when-running-my-application-on-a-real-device +title: My app colors aren't correct when running my application on a real device +updated_at: '1721944648' +url: https://intercom.help/flutterflow/en/articles/7048075-my-app-colors-aren-t-correct-when-running-my-application-on-a-real-device +--- +# My app colors aren't correct when running my application on a real device + +Issue Overview +You are testing your application on a phone and the colors are not appearing as expected. + +Common Causes +Real devices have their own configurations in terms of theme and color. Devices typically have light mode, dark mode, or automatic (which switches between light and dark mode). For example, if your device is set to dark mode - your application will display in Dark Mode. + +This issue typically arises when Dark Mode is enabled, but set up has not been completed or conflicting colors have been selected. + +Basic Troubleshooting Steps +Step 1: Check If You Have Dark Mode Enabled In Your App +Head to **Settings > Theme** and check if the Dark Mode toggle is turned on. If it is, you have dark mode enabled (example below). + +Turn dark mode off and redownload your application. If it works as expected, the Dark Mode Settings are the issue.​ +![](../assets/20250430121247111572.png) +To correct this issue you can: + +Turn dark mode off + +Update your colors so that the Dark Mode Theme is complete / visible by the user + +You can preview how the colors will work by selecting the **Explore Themes** button in the Theme Section (example below) + +![](../assets/20250430121247467739.png)After you have completed these steps, your colors should appear as expected. + + +​ \ No newline at end of file diff --git a/docs/troubleshooting/uncategorized/Onboarding.md b/docs/troubleshooting/uncategorized/Onboarding.md new file mode 100644 index 00000000..8a8eaa50 --- /dev/null +++ b/docs/troubleshooting/uncategorized/Onboarding.md @@ -0,0 +1,19 @@ +--- +keywords: ['onboarding'] +author: Unknown +created_at: '1652451873' +slug: /onboarding +title: Onboarding +updated_at: '1652452010' +url: None +--- +# Onboarding + +Local State + Persisted Value + On PageLoad Action + +Check to make sure if user completed onboarding profile + +Before going to next screen + +Before doing something late (like check-out) + diff --git a/docs/troubleshooting/uncategorized/Package name in firebase android config must match your app's package name.md b/docs/troubleshooting/uncategorized/Package name in firebase android config must match your app's package name.md new file mode 100644 index 00000000..0a7cf87a --- /dev/null +++ b/docs/troubleshooting/uncategorized/Package name in firebase android config must match your app's package name.md @@ -0,0 +1,26 @@ +--- +keywords: ['firebase', 'android', 'package'] +author: Unknown +created_at: '1656590920' +slug: /package-name-in-firebase-android-config-must-match-your-app-s-package-name +title: Package name in firebase android config must match your app's package name +updated_at: '1713554289' +url: https://intercom.help/flutterflow/en/articles/6349025-package-name-in-firebase-android-config-must-match-your-app-s-package-name +--- +# Package name in firebase android config must match your app's package name + +This is a common issue which arises when the package name defined in FlutterFlow is changed recently and when it doesn't matches with the Firebase config files. + +Tip: Make sure that your package name matches exactly in FlutterFlow and Firebase (this includes capitalization, spacing, etc.) + +In order to resolve this issue please follow the following steps. + +You'll need to Regenerate the config files from FlutterFlow. To do this, open your app in **FlutterFlow** and then click on **Settings** **>** **Firebase**. + +![](../assets/20250430121404176944.png) + +Here, Click on the **Regenerate Config Files **button, Enter the new package name and then Click on **Generate File.** + +![](../assets/20250430121404592193.png) + +This issue should now be resolved. You can now re-test to confirm that the issue has been fixed. diff --git a/docs/troubleshooting/uncategorized/Project Sample How to Create a sub menu.md b/docs/troubleshooting/uncategorized/Project Sample How to Create a sub menu.md new file mode 100644 index 00000000..0d1463b7 --- /dev/null +++ b/docs/troubleshooting/uncategorized/Project Sample How to Create a sub menu.md @@ -0,0 +1,31 @@ +--- +keywords: ['menu', 'sample', 'create'] +author: Unknown +created_at: '1662555707' +slug: /project-sample-how-to-create-a-sub-menu +title: 'Project Sample : How to Create a sub menu' +updated_at: '1662556527' +url: https://intercom.help/flutterflow/en/articles/6538546-project-sample-how-to-create-a-sub-menu +--- +# Project Sample : How to Create a sub menu + +![](../assets/20250430121319778896.gif)Project URL: **https://app.flutterflow.io/project/sub-menu-840l5q**Run mode URL: **https://app.flutterflow.io/run/LfzBGTaef8WldndHa2x4** + +We need a local state variable type boolean to keep the active state of the menu + +True means the menu is open and False means the menu is close now + +Make sure you place the menu in the right place, based on your need + +Put the visibility rule on the menu, the local state variable we made before + +**We need to put the open/close actions for the menu in three different places** + +1- menu icon button: open and close the menu +in this action, we check the menu local state variable and if it is false we make it true and if it is true make it false + +2- menu items: on each item on the menu, when actions are finished in the end we need to change the local state variable of the menu to false to close the menu + +3- on the page body [ the main widget on the page ] we need to close the menu in tap for the body of the page, why? because we want to close this menu when the user clicks anywhere on the page. +Now we put the local state variable as a visibility rule on the menu, it means when that variable is true show the menu and when it is false hide it.Notice: We need to use the Stack widget, so we can place widgets on top of each other. so based on your need and your UI first of all you need to make the sub-menu and put it in the right place. + diff --git a/docs/troubleshooting/uncategorized/Project in useEnable Realtime Collaboration.md b/docs/troubleshooting/uncategorized/Project in useEnable Realtime Collaboration.md new file mode 100644 index 00000000..24e320c5 --- /dev/null +++ b/docs/troubleshooting/uncategorized/Project in useEnable Realtime Collaboration.md @@ -0,0 +1,16 @@ +--- +keywords: ['error', 'realtime', 'collaboration'] +author: Unknown +created_at: '1682859928' +slug: /project-in-useenable-realtime-collaboration +title: Project in use/Enable Realtime Collaboration +updated_at: '1687270258' +url: https://intercom.help/flutterflow/en/articles/7850281-project-in-use-enable-realtime-collaboration +--- +# Project in use/Enable Realtime Collaboration + +**Error Message:** +![](../assets/20250430121221837885.png)**Background:**This error appears when the user has not shared the project with the organization**Solution**Head over to the Collaboration settings of the project and turn on the "**Share with my organization"** option.​ +![](../assets/20250430121222180988.png)Additionally, Now that you have shared it with the organization if you want to enable **"updated real-time collaboration"**, Click on this button and enable real-time Collaboration for your project.​ +![](../assets/20250430121222507402.png)After implementing this solution, your team members will be able to make changes to your project in real-time.**The issue was not resolved** +If the error persists after following the outlined steps, please report this issue to support via Chat or Email at support@flutterflow.io.​ \ No newline at end of file diff --git a/docs/troubleshooting/uncategorized/Provided value is not a valid PEM encoded private key.md b/docs/troubleshooting/uncategorized/Provided value is not a valid PEM encoded private key.md new file mode 100644 index 00000000..834a38da --- /dev/null +++ b/docs/troubleshooting/uncategorized/Provided value is not a valid PEM encoded private key.md @@ -0,0 +1,19 @@ +--- +keywords: ['deployment', 'error', 'value'] +author: Unknown +created_at: '1662024265' +slug: /provided-value-is-not-a-valid-pem-encoded-private-key +title: Provided value is not a valid PEM encoded private key +updated_at: '1662026753' +url: https://intercom.help/flutterflow/en/articles/6521694-provided-value-is-not-a-valid-pem-encoded-private-key +--- +# Provided value is not a valid PEM encoded private key + +Full Error Message + +``` +Failed Step: Fetch Signing files usage: app-store-connect [-h][--long-stream {stderr,stdout}][--no-color][--version][-s][-v]{app-store-version-localizations,app-store-version-submissions,app-store-versions,apps,beta-app-review-submissions.beta-build-localizations,beta-groups,builds,create-bundle-id,create-certificate,create-profile,delete-bundle-id,delete-certificate,delete-profile,fetch-signing-files,get-bundle-id,get-certificate,get-latest-app-store-build-number.get-latest-testfligjt-build-number,get-profile,list-builds,list-bundle-id-profiles,list-certificates,list-devices,list-profiles,publish,register-device,review-submission-tems,review-submissons}..app-store-connect: error: arugment --private-key: Provided value is not a valid PEM encoded private key +``` +** What does this error mean?** +The private key submitted in FlutterFlow is not valid or permitted.**How can I resolve this error?**Navigate to **App Settings** > **Mobile Deployment > App Store **Please reupload the private key for App Store once more ​ +![](../assets/20250430121327171389.png)If the app store configuration was not set up, here are step-by-step instructions on how to do so **This did not resolve the reported issue.** Please contact support@flutterflow.io for further assistance \ No newline at end of file diff --git a/docs/troubleshooting/uncategorized/Provisioning Profile Doesn't Support Push Notifications.md b/docs/troubleshooting/uncategorized/Provisioning Profile Doesn't Support Push Notifications.md new file mode 100644 index 00000000..b962f3c9 --- /dev/null +++ b/docs/troubleshooting/uncategorized/Provisioning Profile Doesn't Support Push Notifications.md @@ -0,0 +1,42 @@ +--- +keywords: ['push', 'notifications', 'support'] +author: Unknown +created_at: '1678745766' +slug: /provisioning-profile-doesn-t-support-push-notifications +title: Provisioning Profile Doesn't Support Push Notifications +updated_at: '1721943743' +url: https://intercom.help/flutterflow/en/articles/7126543-provisioning-profile-doesn-t-support-push-notifications +--- +# Provisioning Profile Doesn't Support Push Notifications + +This article runs through troubleshooting steps when you face issues after setting up push notifications. For a step-by-step guide on how to enable push notifications in your app identifier via Apple Connect, check our documentation here. + +Issue Overview +When deploying an app through FlutterFlow to the Apple App Store, developers may encounter a specific error related to the "**Push Notifications**" capability. This article aims to illuminate this issue, explain its cause, and guiding you through the process of enabling this capability within your Apple Developer account's key identifier. + +Full Error Message +``` +Provisioning profile doesn't support the Push Notifications capability.​ +``` +Common Causes +The error message `Provisioning profile doesn't support the Push Notifications capability` is presented when an app that includes push notification functionality is submitted to the Apple App Store without first completing the necessary configurations. This setup is essential because the push notifications feature requires explicit permission within your Apple Developer account to function properly.​ +Resolution Steps +Enable the Push Notifications capability in your Apple Developer Account +To resolve this issue, follow these steps to enable the "Push Notifications" capability for your existing app: + +**Visit Your Apple Developer Account:** Log into your Apple Developer account and navigate to the "Identifiers" section under the "Certificates, Identifiers & Profiles" area.​ +![](../assets/20250430121236782215.png) +​ + +**Select Your App's Identifier:** Identify the App ID associated with the app you are deploying. This step is critical as the adjustments you're about to make are specific to the app's identifier.​ + +**Enable the Capability:** Within your app's identifier details, find the section for enabling capabilities. Check the option for "Push Notifications." Unlike some capabilities, there's no need to alter the primary App ID or create a new key if it's your first time enabling this capability for an App ID.​ +![](../assets/20250430121236976235.png) +​ + +**Save Changes:** Make sure to save the changes. Even if you see UI elements suggesting further edits, enabling this feature and saving changes is enough for the initial configuration.​ + +**Deploy Through FlutterFlow:** With the "Push Notifications" capability now enabled for your App ID, you can deploy your app through FlutterFlow without encountering the previous error. + + + diff --git a/docs/troubleshooting/uncategorized/Provisioning profile [app store project ID] doesn't support the Associated Domains capability..md b/docs/troubleshooting/uncategorized/Provisioning profile [app store project ID] doesn't support the Associated Domains capability..md new file mode 100644 index 00000000..6f95befd --- /dev/null +++ b/docs/troubleshooting/uncategorized/Provisioning profile [app store project ID] doesn't support the Associated Domains capability..md @@ -0,0 +1,42 @@ +--- +keywords: ['error', 'store', 'provisioning'] +author: Unknown +created_at: '1660467438' +slug: /provisioning-profile-app-store-project-id-doesn-t-support-the-associated-domains-capability +title: Provisioning profile [app store project ID] doesn't support the Associated + Domains capability. +updated_at: '1711693757' +url: https://intercom.help/flutterflow/en/articles/6469842-provisioning-profile-app-store-project-id-doesn-t-support-the-associated-domains-capability +--- +# Provisioning profile [app store project ID] doesn't support the Associated Domains capability. + +When deploying an app through FlutterFlow to the Apple App Store, developers might encounter a specific error regarding the 'Associated Domains' capability. This article aims to clarify this issue, explaining its cause and guiding you through the process of enabling this capability within your Apple Developer account to ensure smooth app functionality.​ +**The Root of the Problem** +The error message 'Provisioning profile [app store project ID] doesn't support the Associated Domains capability' occurs when an app submitted to the App Store lacks the proper configuration for the Associated Domains. This capability is essential for apps that need to verify domain ownership and set up app-to-site associations, which are critical for features like Universal Links, App Clips, and website authentication. +Enabling 'Associated Domains' Capability​​**Example: You will face this error when you use dynamic links in your projects.**​ +To resolve this issue and enable the 'Associated Domains' capability for your app, follow these steps: + +**Visit Your Apple Developer Account**: Sign in to your Apple Developer account and navigate to the 'Identifiers' section found under 'Certificates, Identifiers & Profiles'.​ +![](../assets/20250430121344371643.png) +​ + +**Select Your App's Identifier**: Locate the App ID for the app you're deploying. It's essential since the capability adjustments are specific to your app's identifier. + +**Enable the Capability**: In your app's identifier details, find the section for enabling capabilities. Select the option for 'Associated Domains'. This step does not require altering the primary App ID or creating a new key if it's the first time you're enabling this capability for an App ID.​ +![](../assets/20250430121344599814.png) +​ + +**Save Changes**: After enabling the 'Associated Domains' capability, ensure you save the changes. Unlike some UI elements that might suggest further editing, enabling the feature and saving should be sufficient for the initial setup.​ + +**Deploy Through FlutterFlow**: With the 'Associated Domains' capability now enabled for your App ID, you can proceed to deploy your app via FlutterFlow.​ + +Understanding Your Developer Account's Capabilities +​**What does this error mean?** +The provisioning profile error indicates that the domain linked to the developer account is unsupported due to the user's subscription status. This often occurs when the user is not subscribed to a paid Apple Developer account plan. +​**Full error message** +'Provisioning profile [app store project ID] doesn't support the Associated Domains capability.'​ +**How can I resolve this issue?** + +**Verify Your Apple Developer Account Subscription Status**: Ensure that your account type supports the 'Associated Domains' capability, which requires a paid plan. +![](../assets/20250430121344826995.png)​**How can I view my subscription status?** +To check your Apple Developer subscription status, log into your Apple Developer account. Your account information, including subscription status, will be displayed on the dashboard, with active subscriptions marked as 'Current'. If your subscription is nearing its expiration, the 'Expiration Date' will be visible, allowing you to plan for renewal. For further assistance, contact Apple Developer support at devsupport@apple.com.​ \ No newline at end of file diff --git a/docs/troubleshooting/uncategorized/Resolve Issues Running Code Locally After Exporting My Code APK.md b/docs/troubleshooting/uncategorized/Resolve Issues Running Code Locally After Exporting My Code APK.md new file mode 100644 index 00000000..37c0b788 --- /dev/null +++ b/docs/troubleshooting/uncategorized/Resolve Issues Running Code Locally After Exporting My Code APK.md @@ -0,0 +1,39 @@ +--- +keywords: ['build', 'locally', 'after'] +author: Unknown +created_at: '1650311947' +slug: /resolve-issues-running-code-locally-after-exporting-my-code-apk +title: Resolve Issues Running Code Locally After Exporting My Code / APK +updated_at: '1721943790' +url: https://intercom.help/flutterflow/en/articles/6150284-resolve-issues-running-code-locally-after-exporting-my-code-apk +--- +# Resolve Issues Running Code Locally After Exporting My Code / APK + +Introduction +If you're facing issues with APKs not functioning as expected after downloading from FlutterFlow, a few preliminary steps can help ensure smoother operation and integration with Firebase authentication services. + +This guide will walk you through resolving any project issues within FlutterFlow, saving your changes, and properly rebuilding the APK. Additionally, running the APK locally can reveal any underlying compiler errors, providing clear insights for further troubleshooting. + +Follow these steps carefully to address and rectify common pitfalls in the APK generation process. + +Resolution Steps +Before downloading APK again, in Flutterflow: + +Resolve any issues in the project. + +![](../assets/20250430121526027709.png) + +Save the Project before building the APK (Ctrl/Cmd + S). + +![](../assets/20250430121526232282.png) + +Rebuild and download the APK.​ +![](../assets/20250430121526436202.png) + +Download the code/APK and run it locally to view any compiler errors. Make sure you run any necessary commands in the terminal. Here are instructions on how to do this. + +**​Note when you download your code and build directly from your local machine vs. APK: **Some features, like Google sign-on, may not work when you release and build from your local machine. In this scenario, you'd need to add your "SHA1" key to Firebase + your Android app. + +​Need help with this? Check this video on YouTube. + + diff --git "a/docs/troubleshooting/uncategorized/RevenueCat for Subscription and One-Time Payments in FlutterFlow \342\200\223 PayWall.md" "b/docs/troubleshooting/uncategorized/RevenueCat for Subscription and One-Time Payments in FlutterFlow \342\200\223 PayWall.md" new file mode 100644 index 00000000..19375cab --- /dev/null +++ "b/docs/troubleshooting/uncategorized/RevenueCat for Subscription and One-Time Payments in FlutterFlow \342\200\223 PayWall.md" @@ -0,0 +1,61 @@ +--- +keywords: ['subscription', 'paywall', 'revenuecat'] +author: Unknown +created_at: '1708947931' +slug: /revenuecat-for-subscription-and-one-time-payments-in-flutterflow-paywall +title: RevenueCat for Subscription and One-Time Payments in FlutterFlow – PayWall +updated_at: '1709662926' +url: https://intercom.help/flutterflow/en/articles/8999321-revenuecat-for-subscription-and-one-time-payments-in-flutterflow-paywall +--- +# RevenueCat for Subscription and One-Time Payments in FlutterFlow – PayWall + +In the evolving landscape of mobile applications, **in-app purchases** and **subscriptions** represent a significant revenue stream. RevenueCat emerges as a powerful tool to simplify the management of these monetization strategies, particularly when integrated with platforms like **FlutterFlow**. This article delves into how RevenueCat orchestrates paywalls for both subscription and one-time payment models, ensuring seamless entitlement management across different user scenarios.​ +Understanding RevenueCat's Role +RevenueCat serves as a **middleman** between your app and the app stores (Google Play and Apple App Store), managing in-app subscriptions and purchases. By abstracting the complexities of store-specific APIs, RevenueCat provides a unified interface to track subscription revenue, handle user subscriptions, and manage in-app receipts. + +Preparing Your App +Before diving into RevenueCat's implementation, ensure your app is deployed on Google Play Store and Apple App Store. FlutterFlow facilitates this in the "Settings and Integrations > Mobile Deployment" section. It's crucial to define your subscriptions and one-time purchases in both app stores prior to integration with RevenueCat. + +Configuring Products in RevenueCat + +**Subscriptions**: In RevenueCat, subscriptions are set up as auto-renewable products. Each subscription needs a unique identifier and should be added under the "Product Setup" section. This includes defining the subscription details like duration, price, and available tiers. + +**One-Time Purchases**: Similarly, one-time purchases are configured in RevenueCat as non-consumable products. Each one-time purchase requires a unique identifier, allowing you to track and manage these transactions separately from subscriptions. + +![](../assets/20250430121151165998.png) +Entitlements and Offerings +**Entitlements** in RevenueCat help in determining user access to content or features based on their purchases. For example, you might have an entitlement named "PremiumAccess" that unlocks additional app functionality for subscribed users. +Offerings and their associated packages describe the actual products available for purchase. They represent the bridge between your app's paywall and the products defined in RevenueCat, ensuring users are presented with the correct options for subscriptions or one-time purchases.​​ +![](../assets/20250430121151456692.png)If you have different types of products, like subscription and one-time payment products, you may need to check the list of the user's entitlements to see if it contains a specific entitlement (instead of using the paywall action).​​**Why? **Even if the user bought a one-time product (i.e., not a subscription), a paywall will be passed. ​If you allow users to purchase items like tokens, buying tokens will enable users to bypass the paywall. This purchase adds a one-time product to their entitlements. The paywall treats subscriptions and one-time products the same, accommodating users who prefer to grant access through a single purchase.​​ +Implementing the Paywall in FlutterFlow +The paywall is the pivotal point in your app where users decide to make a purchase or subscribe. In FlutterFlow, you can design a paywall page or modal displaying the offerings fetched from RevenueCat. Utilizing FlutterFlow actions like "Check Subscription Status" and "Initiate Purchase," you can manage user interactions with the paywall, guiding them through the subscription or purchase process. + +![](../assets/20250430121151672498.png)In Flutterflow Paywall is an action, and the result of the action is a boolean value, If you add a condition after the paywall action Flutterflow will set the condition automatically to the paywall result, #3 if the user has entitlement then we do the next actions, If not we could show a modal for users to subscribe or navigate to another page to let them subscribe + +In Flutterflow, a paywall is an **action** that produces a **boolean** value. When you follow the paywall action with a condition, Flutterflow automatically applies the result of the paywall to this condition. If the user has entitlements, subsequent actions are triggered. Some other options are to: + +Display a modal prompting the user to subscribe + +Redirect users to another page for subscription purposes​​ + +![](../assets/20250430121151950315.png) +Managing User Transactions +After a user selects a product or subscription, the **Purchase** action in FlutterFlow initiates the buying process. + +RevenueCat handles the transaction with the app store, ensuring secure and reliable payment processing. Post-purchase, the user's entitlements are updated, granting them access to the paid content or features. + +If a user needs to restore previous purchases, the **Restore Purchase** action in FlutterFlow facilitates this process. By implementation this action, you ensure users can reclaim their subscriptions or purchases across devices or after reinstalling the app.​ +![](../assets/20250430121152202829.png)The outcome of the action is a string labeled as "paymentId." You can examine this string in the action's output via the source menu. + +**One important check:** ensure the "paymentId" is present and not null. If this condition is met, you can proceed with the actions you've planned for after a successful payment. + +Conclusion +Integrating RevenueCat with FlutterFlow for managing subscriptions and one-time payments offers a robust solution to monetize your app effectively. By understanding the configuration of products, entitlements, and the paywall mechanism, developers can provide a seamless user experience, encouraging purchases while simplifying the management of in-app revenue streams. For detailed guidance on setting up RevenueCat and FlutterFlow, refer to the FlutterFlow documentation and the RevenueCat SDK documentation.​​ +Additional Resources + +FlutterFlow YouTube Channel for tutorials and tips. + +RevenueCat Non-Subscription Purchases Documentation for insights into managing one-time payments. + +FlutterFlow Community for support and discussions with other developers. + diff --git "a/docs/troubleshooting/uncategorized/SVG images work on web, but don\342\200\231t have colors on a real device.md" "b/docs/troubleshooting/uncategorized/SVG images work on web, but don\342\200\231t have colors on a real device.md" new file mode 100644 index 00000000..8cf0f7bb --- /dev/null +++ "b/docs/troubleshooting/uncategorized/SVG images work on web, but don\342\200\231t have colors on a real device.md" @@ -0,0 +1,35 @@ +--- +keywords: ['device', 'real', 'images'] +author: Unknown +created_at: '1677764299' +slug: /svg-images-work-on-web-but-don-t-have-colors-on-a-real-device +title: SVG images work on web, but don’t have colors on a real device +updated_at: '1678244192' +url: https://intercom.help/flutterflow/en/articles/7044744-svg-images-work-on-web-but-don-t-have-colors-on-a-real-device +--- +# SVG images work on web, but don’t have colors on a real device + +![](../assets/20250430121251986970.png)Potential Causes Of This Issue +There could be a number of reasons why your SVG images are appearing without color when viewed on a mobile device. Some potential causes include: + +The color mode of the SVG file might not be set correctly. Some mobile devices may not support certain color modes, such as CMYK, and may only display the image in grayscale. + +There might be a problem with the way the SVG file is being embedded in your app. Make sure the file is being correctly linked and referenced in your code, and that there are no errors in the file path. + +There could be a problem with the device's display settings. Ensure that the device's color filter is turned off. + +The SVG file may be missing the necessary color information. Check that the SVG file has a fill or stroke attribute with a value set. + +The SVG file might have an attribute that is set to display: none; that's why it's not showing. + +Troubleshooting This Issue +To troubleshoot the issue, you could: + +Try another SVG image and see how they are shown. If you exported your SVG images, make sure to change your method or use another software. + +Open the SVG file in a browser on the mobile device to see if it displays correctly. + +Open the file in a text editor to check if the fill or stroke attributes are set correctly. + +Use a different SVG viewer app on the mobile device to see if the problem is specific to the app you're using. + diff --git a/docs/troubleshooting/uncategorized/Send Notifications To A Specific Group Of Users.md b/docs/troubleshooting/uncategorized/Send Notifications To A Specific Group Of Users.md new file mode 100644 index 00000000..2e0d68b3 --- /dev/null +++ b/docs/troubleshooting/uncategorized/Send Notifications To A Specific Group Of Users.md @@ -0,0 +1,75 @@ +--- +keywords: ['firebase', 'users', 'group'] +author: Unknown +created_at: '1679151141' +slug: /send-notifications-to-a-specific-group-of-users +title: Send Notifications To A Specific Group Of Users +updated_at: '1711172233' +url: None +--- +# Send Notifications To A Specific Group Of Users + +Use Case +FlutterFlow enables users to schedule and trigger notifications. When a document is created, you may want to automatically send notifications to a selected group/category of users from the user's collection. In certain scenarios, you may want to automatically send notifications to a specific group or category of users from the user's collection when a new document is created. This article details a step by step instructions on how to achieve this. +Sample Project +We've created a sample project to demonstrate how to build this in FlutterFlow: +https://app.flutterflow.io/project/auto-notification-2bm5hz​Keep reading for step-by-step instructions to learn how you can build what we have created in our sample project. + +Send Notification To A Specific Group Of Users +Project Configuration + +Ensure your project is set up correctly with Firebase. +- Here are detailed instructions on how to set up Firebase in Flutterflow + +Ensure **`firebase@flutterflow.io` **account has all the necessary permissions. +- Here are detailed instructions on how to enable access to your project + +To send notifications, your project must be in the Blaze plan. + +Enable Push notifications in your projects and deploy them. + +Send Notifications + +Send notifications to multiple users from the user's collection once a post is added; + +In submit button, add a backend query +- Set Query type to `Query Collection` +- Collection to your data source collection, i.e `users` +- Query type to `List of Documents` click `save` + +Add create document action to the button + +Set the value to the parameters sent to firebase + +add another action, trigger notification action + +Set notification parameters with the necessary data i.e (title, message, initial page) + +In the recipient section, select multiple recipients + +Click on the `unset` section, a pop will show + +Select `user document` as the source of data + +In the available options, select `filter list items` + +``` +Note : To send to a specific group you must have filter attribute in the users collection. i.e (isPremium) +``` + +Click `unset` under `filter conditions`, a pop will show + +Select `Items in list` , under document properties, select `isPremium` +- This will send notifications to all users who `isPremium` attribute is set to `True` + +Click `Confirm` , this will pop you back to the previous dialog + +In this pop, under available options, select `Map List Items` + +Click `unset` a pop will show, and under `Document Properties` select `Reference` + +Click `Confirm`` in all pop-ups + +Close the action chain + +The notification will be triggered automatically once a new post has been sent successfully. \ No newline at end of file diff --git a/docs/troubleshooting/uncategorized/Share mediafiles in storage, 1 user upload all users see.md b/docs/troubleshooting/uncategorized/Share mediafiles in storage, 1 user upload all users see.md new file mode 100644 index 00000000..7ffd1fff --- /dev/null +++ b/docs/troubleshooting/uncategorized/Share mediafiles in storage, 1 user upload all users see.md @@ -0,0 +1,34 @@ +--- +keywords: ['storage', 'users', 'upload'] +author: Unknown +created_at: '1652697832' +slug: /share-mediafiles-in-storage-1-user-upload-all-users-see +title: Share media/files in storage, 1 user upload all users see +updated_at: '1652697957' +url: None +--- +# Share media/files in storage, 1 user upload all users see + +chat;https://app.intercom.com/a/apps/w66h9try/inbox/inbox/5495770/conversations/1152 + +Solve the issue related to: when a user uploads an image to Firestore, other users cannot see the image with the same params. + +You need to run the following command in Google Cloud: + +https://cloud.google.com/storage/docs/gsutil_install + +```sh +gsutil cors set cors.json gs://exampleproject.appspot.com +``` + +Save the following as `cors.json` in your project directory: + +```json +[ + { + "origin": ["*"], + "method": ["GET"], + "maxAgeSeconds": 3600 + } +] +``` diff --git a/docs/troubleshooting/uncategorized/Signing for ImageNotification requires a development team - Flutterflow and Local builds.md b/docs/troubleshooting/uncategorized/Signing for ImageNotification requires a development team - Flutterflow and Local builds.md new file mode 100644 index 00000000..a4e16f61 --- /dev/null +++ b/docs/troubleshooting/uncategorized/Signing for ImageNotification requires a development team - Flutterflow and Local builds.md @@ -0,0 +1,27 @@ +--- +keywords: ['signing', 'ios', 'error'] +author: Unknown +created_at: '1661384913' +slug: /signing-for-imagenotification-requires-a-development-team-flutterflow-and-local-builds +title: iOS Signing for ImageNotification - Development Team Requirements +updated_at: '1712161705' +url: https://intercom.help/flutterflow/en/articles/6500626-signing-for-imagenotification-requires-a-development-team-flutterflow-and-local-builds +--- +Tip: Not sure which type of error your project has? Check out this article on how to identify your Codemagic error. + +## Introduction + +Builders often encounter issues when attempting to sign the "ImageNotification" feature within their applications, especially when configuring their projects in IDEs (Integrated Development Environments) and also directly from the Apple Store developer console. This process is crucial for ensuring the application's integrity and security, as it involves selecting the appropriate development team and configuring the signing certificates correctly. + +## Common Error +``` +Signing for "ImageNotification" requires a development team +``` + +## Solution + +1. Make sure you have a valid Apple Developer account +2. In XCode, select the proper development team for your app +3. Ensure your provisioning profiles are properly configured +4. For FlutterFlow builds, make sure to specify your development team in the iOS deployment settings + diff --git a/docs/troubleshooting/uncategorized/Social loginGoogle signin does not work in RUNTEST or Web.md b/docs/troubleshooting/uncategorized/Social loginGoogle signin does not work in RUNTEST or Web.md new file mode 100644 index 00000000..bc250d8b --- /dev/null +++ b/docs/troubleshooting/uncategorized/Social loginGoogle signin does not work in RUNTEST or Web.md @@ -0,0 +1,25 @@ +--- +keywords: ['google', 'work', 'login'] +author: Unknown +created_at: '1677590725' +slug: /social-logingoogle-signin-does-not-work-in-runtest-or-web +title: Social login/Google signin does not work in RUN/TEST or Web? +updated_at: '1678111475' +url: https://intercom.help/flutterflow/en/articles/7038347-social-login-google-signin-does-not-work-in-run-test-or-web +--- +# Social login/Google signin does not work in RUN/TEST or Web? + +If you want to use social login features such as Google sign-in, Facebook, Microsoft, etc. on RUN or TEST mode or for your published web application, you need to add your domain to Firebase Authentication/Authorized Domain.Documentation link + +![](../assets/20250430121259325933.png) +By doing this, you will whitelist your domain for Firebase authentication and give permission to the social login performed from the domain as an origin. +Here are the steps to follow: + +Open your Firebase project. + +Go to Authentication > Settings. + +Select Authorized Domains. + +You should now see a list of domains that are already authorized. To add your domain, click on the Add Domain button. +For instance, if you want to use social login in RUN mode in Flutterflow builds, you can whitelist this domain: app.flutterflow.io. If you published your app to yourapp.flutterflow.app, you need to add the exact same URL to your Authorized domains. \ No newline at end of file diff --git a/docs/troubleshooting/uncategorized/Solving for Issues Where Provisioning Profile Doesn't Support 'Sign in with Apple'.md b/docs/troubleshooting/uncategorized/Solving for Issues Where Provisioning Profile Doesn't Support 'Sign in with Apple'.md new file mode 100644 index 00000000..6d711227 --- /dev/null +++ b/docs/troubleshooting/uncategorized/Solving for Issues Where Provisioning Profile Doesn't Support 'Sign in with Apple'.md @@ -0,0 +1,37 @@ +--- +keywords: ['where', 'sign', 'provisioning'] +author: Unknown +created_at: '1660215746' +slug: /solving-for-issues-where-provisioning-profile-doesn-t-support-sign-in-with-apple +title: Solving for Issues Where Provisioning Profile Doesn't Support 'Sign in with + Apple' +updated_at: '1713208860' +url: https://intercom.help/flutterflow/en/articles/6463189-solving-for-issues-where-provisioning-profile-doesn-t-support-sign-in-with-apple +--- +# Solving for Issues Where Provisioning Profile Doesn't Support 'Sign in with Apple' + +Understanding the 'Sign in with Apple' Capability Issue +When deploying an app through FlutterFlow to the Apple App Store, developers might encounter a specific error regarding the "Sign in with Apple" capability. This article aims to shed light on this issue, explaining its cause and guiding you through the process of enabling this capability within your Apple Developer account's key identifier.​ + +Root of the Problem +The error message "Provisioning profile doesn't support the Sign in with Apple capability" occurs when an app that includes the **Apple Sign** In method is submitted to the App Store without the proper configuration steps being completed. This configuration is crucial because the "Sign in with Apple" feature requires explicit permission set within your Apple Developer account to work seamlessly with your app.​ + +Enabling "Sign in with Apple" Capability +To resolve this issue, follow these steps to enable the "Sign In with Apple" capability for your existing app: + +**Visit Your Apple Developer Account:** Log into your Apple Developer account and navigate to the "Identifiers" section under the "Certificates, Identifiers & Profiles" area.​ +![](../assets/20250430121345698106.png) +​ + +**Select Your App's Identifier:** Find the App ID associated with the app you're deploying. This is crucial as the configuration you're about to adjust is tied specifically to the app's identifier.​ + +**Enable the Capability:** Within your app's identifier details, locate the section for enabling capabilities. Check the option for "Sign in with Apple." There's no need to alter the primary App ID or create a new key for this step if it's your first time enabling this capability for an App ID.​ +![](../assets/20250430121345966687.png) +​ + +**Save Changes:** Ensure you save the changes made. Contrary to some UI elements that might suggest editing further, simply enabling the feature and saving suffices for the initial setup.​ + +**Deploy Through FlutterFlow:** With the "Sign in with Apple" capability now enabled for your App ID, proceed to deploy your app through FlutterFlow.​​ + +**Contact Support if Necessary:** If you encounter any issues or your app does not utilize the "Sign in with Apple" method, it's advisable to contact FlutterFlow support for tailored assistance. You can reach out via live chat or email at support@flutterflow.io.​​ +For more information on deploying apps with FlutterFlow and other app development topics, visit Apple Sign-in Documentation, FlutterFlow's documentation and community resources.​ \ No newline at end of file diff --git a/docs/troubleshooting/uncategorized/Stripe payment action error Unknown Error Occurred.md b/docs/troubleshooting/uncategorized/Stripe payment action error Unknown Error Occurred.md new file mode 100644 index 00000000..6b99effb --- /dev/null +++ b/docs/troubleshooting/uncategorized/Stripe payment action error Unknown Error Occurred.md @@ -0,0 +1,18 @@ +--- +keywords: ['error', 'firebase', 'unknown'] +author: Unknown +created_at: '1679317685' +slug: /stripe-payment-action-error-unknown-error-occurred +title: 'Stripe payment action error: Unknown Error Occurred' +updated_at: '1679323917' +url: None +--- +# Stripe payment action error: Unknown Error Occurred + +**Error Details:**Snackbar: Unknown Error Occurred**Console:** +Access to fetch at 'https://us-central1-bayside-festival.cloudfunctions.net/initStripeTestPayment' from origin 'https://ff-debug-service-frontend-ygxkweukma-uc.a.run.app' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: Redirect is not allowed for a preflight request.**Why this Error is caused:**The Cloud function region is different comparing to the region defined in Firebase.**How to Resolve this Error:** +Step 1: Head over to the firebase in the settings page **(You can also do this from command palette with keys ⌘+K or Ctrl+K and write firebase)**, Show Advanced settings, Here you will see the Cloud Functions Regions dropdown. +Step 2: Set the Cloud functions Region to [Default] or a region defined in firebase.​ +![](../assets/20250430121226481647.png)Step 3: Delete the already deployed functions from firebase.​ +![](../assets/20250430121226777130.png)Step 4: Re-Deploy Stripe in your project​ +![](../assets/20250430121227109718.png)After these steps, your problem should be resolved, if the problem still persists feel free to contact us at support@flutterflow.io​ diff --git "a/docs/troubleshooting/uncategorized/Test Mode Won\342\200\231t Load.md" "b/docs/troubleshooting/uncategorized/Test Mode Won\342\200\231t Load.md" new file mode 100644 index 00000000..4ba1b785 --- /dev/null +++ "b/docs/troubleshooting/uncategorized/Test Mode Won\342\200\231t Load.md" @@ -0,0 +1,135 @@ +--- +keywords: ['mode', 'load', 'test'] +author: Unknown +created_at: '1710854314' +slug: /test-mode-won-t-load +title: Test Mode Won’t Load +updated_at: '1712594564' +url: https://intercom.help/flutterflow/en/articles/9089262-test-mode-won-t-load +--- +# Test Mode Won’t Load + +Introduction +When developing applications with Flutter, encountering a red screen filled with errors during the test mode is a common challenge. This issue, while alarming at first glance, often stems from a range of causes such as bugs in the code or misconfigurations within the project. To help you navigate through this problem and restore functionality to your test mode, this guide will explore all potential causes and scenarios that might lead to these errors. + +Scenarios You May Encounter +There are several cases that can lead to trouble loading test mode – resulting in a red screen, or even displaying a blank page when testing your project. + +**1. Test Mode Infinite Loading** + +Service Outage +When a service outage is experienced, it may cause Test Run to load for a long time. +To verify this is not a global service outage, test `Test mode` the service with a different project. If this affects more than two different projects, please report this **immediately** to support@flutterflow.io + +Custom code method that runs an unsupported implementation (not supported on the web) in the main.dart file + +Running a custom code that is not supported on the web platform will result in an Infinite load in test mode + +To identify this, open the developer's console and check the logs shown + +To open the Console log, use **Option + ⌘ + J** (on macOS) or Shift + CTRL + J (on Windows/Linux). The console will either open up within your existing Chrome window, or in a new window. You may have to select the Console tab. + +![](../assets/20250430121129656368.png) + +![](../assets/20250430121130021370.png) + +The plugin causing the error will be indicated in the logs; verify whether the plugin is supported for the web on `pub.dev`. If the plugin used is not supported, you can look for an alternative plugin, here grouped in categories. + +To prevent other platform implementation exceptions, check the supported platforms for every third-party library that you are using in the project. + +![](../assets/20250430121130276404.png) + +2. Red Screen – Null Pointer Exceptions +Accessing null values in the project can also result in a red screen. This could be coming from: + +Trying to access a wrong API JSON path + +When an API response returns an empty/null value that is passed to a list. + +When Page parameters are not passed but used in the destination page + +Null values from custom action/function output used in the widgets. + +Developed/designed `User Interface` trying to access null values from a database or API + +Custom Code trying to access null values that were passed as parameter + +Opening the browser console log will help you to point to the page that is causing the error. However, this doesn’t show the actual line of code or the variable that is throwing the error. + +![](../assets/20250430121130545080.png) + +To effectively identify the value that is causing the issue, it is recommended that you download the code and run it locally. You can follow these steps: + +Download your code from FlutterFlow + +Open the downloaded project in your preferred IDE ( We recommend VS Code – it provides great logs for debugging) + +Run the app on your device – make sure you have a Flutter environment set up on your local device and the Flutter SDK is of the same version as the Flutter Version shown in FlutterFlow Builder! (Here are steps for Windows , MacOS, or UNIX . + +![](../assets/20250430121130820658.png) + +The VS Code debugger will break the code execution where the error is, and you can use this information to identify the variable that is injecting a null value to the User interface. + +You will need to check the `Breakpoints` `uncaught exception`s in Vscode so that the code execution stops at the line where the bug is. + +**Tip**: In some cases, you might have a number of errors in your project. This will result in a number of code execution blocks when the breakpoints are enabled. To effectively identify the null pointer exception, we recommend only enabling the breakpoints just before you navigate to the page that was throwing the error. + +![](../assets/20250430121131116479.png) + +3. Red Screen Error - Type Exception +Assigning the wrong data type can also result in a red screen when compiling your project in test mode. This can result when; + +Trying to assign a wrong type from the API JSON path to a widget or a variable that takes in a different data type than the supplied type + +Wrong data type from custom code output + +``` +TIP: Note that some type exceptions, like double/int, may not appear in test mode but will when running the project locally. This is because in test mode, the code is compiled to javascript, which is not type sensitive, While dart, which is run on the mobile device, is type strict language +``` + +![](../assets/20250430121131422645.png) + +``` +NOTE: In most cases also this type of exception, it is recommended to download the code locally. Check the steps in the Red screen - Null Pointer Exceptions +``` + +4. Build Errors: Test Mode won't Compile (Applies also for Run Mode) +A number of build failed/ compile errors are a result of bugs in the project. This can result when; + +The project has errors in the project that are not shown by the project analyzer + +Wrong data type assignment in Builder widgets,i.e., assigning an integer to a label + +![](../assets/20250430121131697707.png) + +Using an Incompatible third-party plugin in the project + +Code generation error (report to support for investigation) + +If your project shows no compile errors in the builder but cannot be built successfully, please contact the support team for assistance. + +5. Blank Screen on Specific Pages While Running Test Mode +Test mode runs may compile successfully; however, when you navigate to some of your pages in the project, they are blank. This can result because of ; + +Wrong flex assignment in the project: This kind of case will result in UI render box constraint issues shown in the console log. To troubleshoot this, we recommend downloading the project locally and navigating to the page that is not showing the content. The debugger will log the actual line number that is causing this render box paint error. + +The most common widgets to check that cause this error are Rows With containers / wrapped with containers and scrollable columns. + +6. Bonus (Other Known Issues) +In some cases, the Test mode run may fail due to minor user faults. In these cases, it is recommended to check these steps when troubleshooting the issue + +Make sure they read the troubleshooting notes in the test mode in the top left side of the windows + +![](../assets/20250430121131952557.png) + +Make sure to do a TEST build from the same project and check the result + +Open the test mode in the same browser that you are logged in to Flutterflow in + +Check the custom codes. There could be packages that are not supported on the web in their custom code + +Additional Resources +FlutterFlow Run Mode +FlutterFlow Basic Troubleshooting Guide +Flutter - **Understanding constraints** +Flutter Code Debugging \ No newline at end of file diff --git a/docs/troubleshooting/uncategorized/This release includes the com.google.android.gms.permission.AD_ID permission but your declaration on Play Console says your app doesn't use advertising ID. You must update your advertising ID declaration..md b/docs/troubleshooting/uncategorized/This release includes the com.google.android.gms.permission.AD_ID permission but your declaration on Play Console says your app doesn't use advertising ID. You must update your advertising ID declaration..md new file mode 100644 index 00000000..af79d394 --- /dev/null +++ b/docs/troubleshooting/uncategorized/This release includes the com.google.android.gms.permission.AD_ID permission but your declaration on Play Console says your app doesn't use advertising ID. You must update your advertising ID declaration..md @@ -0,0 +1,44 @@ +--- +keywords: ['android', 'release', 'error'] +author: Unknown +created_at: '1679337121' +slug: /this-release-includes-the-com-google-android-gms-permission-ad-id-permission-but-your-declaration-on-play-console-says-your-app-doesn-t-use-advertising-id-you-must-update-your-advertising-id-declaration +title: This release includes the com.google.android.gms.permission.AD_ID permission + but your declaration on Play Console says your app doesn't use advertising ID. You + must update your advertising ID declaration. +updated_at: '1687270143' +url: https://intercom.help/flutterflow/en/articles/7170290-this-release-includes-the-com-google-android-gms-permission-ad_id-permission-but-your-declaration-on-play-console-says-your-app-doesn-t-use-advertising-id-you-must-update-your-advertising-id-declaration +--- +# This release includes the com.google.android.gms.permission.AD_ID permission but your declaration on Play Console says your app doesn't use advertising ID. You must update your advertising ID declaration. + +If you are trying to deploy through the Play Store but have received this error message. This article will walk you through how to troubleshoot this issue. + +Full Error Message +``` +This release includes the com.google.android.gms.permission.AD_ID permission but your declaration on Play Console says your app doesn't use advertising ID. You must update your advertising ID declaration. I get this error when i deploy my app to play store. But in my app there is no app related content. +``` +**What does this error mean?** +This error can happen when you do not have advertisements in your project, but you use Google Analytics in your Flutterflow project. + +Advertising Id is usually set when your app uses AdMob; however, your application may import other services/libraries that have advertising ID SDK, in this case, you will also have to declare that your application uses Advertings Id similar to Admob, but you have the option to select where specifically it is used. + +**How to resolve this issue?** +Enable The Advertising ID In Your Google Play Console + +In your Google Developer Console, open your project (app), this setting is specific to a project you have +- Open your project +- From the left tool panel +- Scroll to App content, this should be under Policy and programs +- Click App content, and select Advertising Id +- Click start to set the configuration + +![](../assets/20250430121225466053.png)2. Under `Advertising ID` choose **YES** even if the app is not using Ads. + +If you use analytics, we need to choose **YES** on The AD_ID permission for an analytics use case in the Advertising ID section**.** + +3. Scroll until you see `Analytics` and check it + +![](../assets/20250430121225764598.png)4. Remember to Save all the changes. + +**The issue was not resolved** +If the error persists after following the outlined steps, please report this issue to support via Chat or Email at support@flutterflow.io. \ No newline at end of file diff --git a/docs/troubleshooting/uncategorized/Upload image in web view is not working in the real device but works in RunTest mode.md b/docs/troubleshooting/uncategorized/Upload image in web view is not working in the real device but works in RunTest mode.md new file mode 100644 index 00000000..840f4b86 --- /dev/null +++ b/docs/troubleshooting/uncategorized/Upload image in web view is not working in the real device but works in RunTest mode.md @@ -0,0 +1,22 @@ +--- +keywords: ['permissions', 'upload', 'view'] +author: Unknown +created_at: '1660647591' +slug: /upload-image-in-web-view-is-not-working-in-the-real-device-but-works-in-runtest-mode +title: Upload image in web view is not working in the real device but works in Run/Test + mode +updated_at: '1662981130' +url: https://intercom.help/flutterflow/en/articles/6475042-upload-image-in-web-view-is-not-working-in-the-real-device-but-works-in-run-test-mode +--- +# Upload image in web view is not working in the real device but works in Run/Test mode + +In a **web run**, **Permissions** will be gotten from the **browser**, and **uploading photo** is not an important one.so most of the time you don't notice this permission.But in **devices** this is different, access to the **photo library is big permission**, and phones are very cautious about it.Because your **photo uploader** is in a** Web View**, Flutterflow doesn't know about it.Flutterflow adds **permissions** based on your **actions**, so when you don't have an upload image action, Flutterflow doesn't add photo library permission. + +**You need to add this permission to your project**You need to go to **Setting **/ **Permissions** and turn on the "Photo Library" Permission.​ +![](../assets/20250430121337121891.png)Now, Flutterflow will add this permission to your project, and when you run the app on your device, the app will ask for this permission.The next step is before you do the upload in your webview, make sure you run the get permission action for it.​ +![](../assets/20250430121337385659.png)The permission means the user gives access to the gallery and now you can upload images inside the app. also inside a web view in your app. + +Notice: you need to uninstall the app from your device, clear the cache +then again install the app, so the app can ask for permission. +until you run the app and the app doesn't ask for permission, you don't have permission to upload an image in the web view +You need to make sure when you run the app on the device, you give the app the right permission about the photo library.​ \ No newline at end of file diff --git a/docs/troubleshooting/uncategorized/Why we need to clear database before big tests.md b/docs/troubleshooting/uncategorized/Why we need to clear database before big tests.md new file mode 100644 index 00000000..72ac132e --- /dev/null +++ b/docs/troubleshooting/uncategorized/Why we need to clear database before big tests.md @@ -0,0 +1,27 @@ +--- +keywords: ['database', 'clear', 'before'] +author: Unknown +created_at: '1653044001' +slug: /why-we-need-to-clear-database-before-big-tests +title: Why we need to clear database before big tests? +updated_at: '1653044023' +url: None +--- +# Why Do We Need to Clear the Database Before Big Tests? + +When running tests or developing your application, you may add items to your database. Later, as your app evolves, you might add new fields to your collections and start using those fields in your code. + +## The Problem +If you do not clear out old data from your database, you may end up with records that are missing the new fields. When your app tries to load or use these old records, it can cause errors or unexpected behavior because the required data is missing. + +## Best Practice +- **Clear your database before running major tests or after making significant schema changes.** +- This ensures all records are up-to-date and match your current data structure, preventing issues with missing fields. + +## Example Scenario +1. You add a new field to a collection (e.g., `profilePicture`). +2. Old records do not have this field. +3. Your app expects every record to have `profilePicture`. +4. Loading old records causes errors or incomplete data display. + +**Solution:** Clear out old data or update it to include the new fields before running tests or deploying your app. \ No newline at end of file diff --git a/docs/troubleshooting/uncategorized/Will the code edits I've made be overwritten the next time I push them to my GitHub repository.md b/docs/troubleshooting/uncategorized/Will the code edits I've made be overwritten the next time I push them to my GitHub repository.md new file mode 100644 index 00000000..e30eb23f --- /dev/null +++ b/docs/troubleshooting/uncategorized/Will the code edits I've made be overwritten the next time I push them to my GitHub repository.md @@ -0,0 +1,25 @@ +--- +keywords: ['made', 'edits', 'them'] +author: Unknown +created_at: '1650488396' +slug: /will-the-code-edits-i-ve-made-be-overwritten-the-next-time-i-push-them-to-my-github-repository +title: Will the code edits I've made be overwritten the next time I push them to my + GitHub repository? +updated_at: '1713554285' +url: https://intercom.help/flutterflow/en/articles/6156927-will-the-code-edits-i-ve-made-be-overwritten-the-next-time-i-push-them-to-my-github-repository +--- +# Will the code edits I've made be overwritten the next time I push them to my GitHub repository? + +FlutterFlow pushes any changes to a branch called "flutterflow". You should not make any direct changes to the flutterflow branch. Instead, you should create a separate branch for local modifications. +Here's an example of how to do this: + +Push from FlutterFlow to Github - this places the code in the **flutterflow** branch. + +Bring the FlutterFlow project into your **main** branch. + +Make any local modifications there in the **main** branch. + +Next time you push from FlutterFlow, it will overwrite the **flutterflow** branch. + +Now, you can merge the **flutterflow** branch onto the **main** branch, and choose what changes to keep and what to discard. + diff --git a/docs/troubleshooting/uncategorized/error in verify sms.md b/docs/troubleshooting/uncategorized/error in verify sms.md new file mode 100644 index 00000000..efaa6a60 --- /dev/null +++ b/docs/troubleshooting/uncategorized/error in verify sms.md @@ -0,0 +1,31 @@ +--- +keywords: ['error', 'verify'] +author: Unknown +created_at: '1651736299' +slug: /error-in-verify-sms +title: error in verify sms +updated_at: '1651736360' +url: None +--- +# Error in Verify SMS + +If you are experiencing issues with SMS authorization verification in FlutterFlow, especially when setting the action on the authorization code confirmation page, you may encounter an error such as: + +> **SMS code field must be provided when verifying SMS code** + +## Common Cause + +This problem often occurs due to the **TextField widget name** used for entering the SMS code. If you have copied, pasted, or duplicated pages, the widget name may not match what the verification action expects. These field names are critical for the verification process. + +## Solution + +1. **Check the TextField Name:** + - Go to the page where you enter the SMS code. + - Select the TextField widget used for the code input. + - Ensure its name matches what is required by the verification action (e.g., `smsCode` or similar). +2. **Rename if Needed:** + - If you duplicated the page or widget, rename the TextField to the correct name. + - Save and try the verification process again. + + +If you continue to have issues, please contact FlutterFlow support or refer to the [support conversation](https://app.intercom.com/a/apps/w66h9try/inbox/inbox/unassigned/conversations/796). \ No newline at end of file