Unsupported Realtime Database URL - FIREBASE FATAL ERROR: Cannot parse Firebase url #2589
Description
[READ] Step 1: Are you in the right place?
- For issues related to the code in this repository file a Github issue.
- If the issue pertains to Cloud Firestore, read the instructions in the "Firestore issue"
template. - For general technical questions, post a question on StackOverflow
with the firebase tag. - For general Firebase discussion, use the firebase-talk
google group. - For help troubleshooting your application that does not fall under one
of the above categories, reach out to the personalized
Firebase support channel.
[REQUIRED] Step 2: Describe your environment
- Operating System version: Windows 11 23H2
- Firebase SDK version: ^12.1.0
- Firebase Product: Hosting and Realtime Database
- Node.js version: v20.11.1
- NPM version: 10.8.1
[REQUIRED] Step 3: Describe the problem
Steps to reproduce:
I follow this tutorial to set up the Hosting, Cloud Functions, and Realtime Database.
https://developers.home.google.com/codelabs/smarthome-washer#1
After deployment, I visited the site and got this error from the console.
Uncaught Error: FIREBASE FATAL ERROR: Cannot parse Firebase url. Please use https://<YOUR FIREBASE>.firebaseio.com at st (util.ts:172:9) at Qt (parser.ts:88:5) at Oi.databaseFromApp (RepoManager.ts:108:21) at Qi.INTERNAL.registerComponent.z.setServiceProps.Reference [as instanceFactory] (index.ts:52:42) at S.getOrInitializeService (provider.ts:190:33) at S.getImmediate (provider.ts:95:29) at q._getService (firebaseApp.ts:127:54) at c.<computed> [as database] (firebaseNamespaceCore.ts:228:29) at Object.i [as database] (firebaseNamespaceCore.ts:209:32) at SmartHome.handleData (main.js:70:12)
I found that it is caused by const parsedUrl = parseDatabaseURL(dataURL)
in parser.ts, it doesn't support the URL with 4 parts.
Firebase projects with Realtime Database in us-central1 region work fine (3 parts)
https://x.firebaseio.com
But other regions don't work (4 parts)
https://x.asia-southeast1.firebasedatabase.app
This is the code causing the error, I didn't modify it much from the example given in the tutorial
firebase.database().ref('/').child('washer').on("value", (snapshot) => { ...