Skip to content

WebChannelConnection RPC 'Listen' stream 0x17d185b2 transport errored #3631

Open

Description

@moblizeit

i am trying to deploy my app from android studio to my phone and see the below error stream indicating internet issue. but that is definitely not correct. as the same code with same connection is working fine on iOS.

2025-03-01 08:18:33.297 11755-11755 Capacitor/Console it.moblize.baniya I File: https://localhost/main.7f6f6bc5bd9d23e4.js - Line 1 - Msg: [2025-03-01T14:18:33.295Z] @firebase/firestore: Firestore (9.23.0): PersistentStream close with error: FirebaseError: [code=unavailable]: The operation could not be completed
2025-03-01 08:18:33.302 11755-11755 Capacitor/Console it.moblize.baniya E File: https://localhost/main.7f6f6bc5bd9d23e4.js - Line 1 - Msg: [2025-03-01T14:18:33.299Z] @firebase/firestore: Firestore (9.23.0): Could not reach Cloud Firestore backend. Connection failed 1 times. Most recent error: FirebaseError: [code=unavailable]: The operation could not be completed
This typically indicates that your device does not have a healthy Internet connection at the moment. The client will operate in offline mode until it is able to successfully connect to the backend.
2025-03-01 08:18:33.307 11755-11755 Capacitor/Console it.moblize.baniya I File: https://localhost/main.7f6f6bc5bd9d23e4.js - Line 1 - Msg: [2025-03-01T14:18:33.305Z] @firebase/firestore: Firestore (9.23.0): MemoryPersistence Starting transaction: Release target
2025-03-01 08:18:33.314 11755-11755 Capacitor/Console it.moblize.baniya E File: https://localhost/main.7f6f6bc5bd9d23e4.js - Line 1 - Msg: ERROR Error: Uncaught (in promise): FirebaseError: [code=unavailable]: Failed to get document because the client is offline.
FirebaseError: Failed to get document because the client is offline.
2025-03-01 08:18:33.316 11755-11755 Capacitor/Console it.moblize.baniya I File: https://localhost/main.7f6f6bc5bd9d23e4.js - Line 1 - Msg: [2025-03-01T14:18:33.313Z] @firebase/firestore: Firestore (9.23.0): MemoryPersistence Starting transaction: Release target
2025-03-01 08:18:33.318 11755-11755 Capacitor/Console it.moblize.baniya E File: https://localhost/main.7f6f6bc5bd9d23e4.js - Line 1 - Msg: ERROR Error: Uncaught (in promise): FirebaseError: [code=unavailable]: Failed to get document because the client is offline.
FirebaseError: Failed to get document because the client is offline.
2025-03-01 08:18:33.320 11755-11755 Capacitor/Console it.moblize.baniya I File: https://localhost/main.7f6f6bc5bd9d23e4.js - Line 1 - Msg: [2025-03-01T14:18:33.317Z] @firebase/firestore: Firestore (9.23.0): WebChannelConnection Creating RPC 'Listen' stream 0x17d185b3: https://firestore.googleapis.com/google.firestore.v1.Firestore/Listen/channel {"httpSessionIdParam":"gsessionid","initMessageHeaders":{"X-Goog-Api-Client":"gl-js/ fire/9.23.0","Content-Type":"text/plain","X-Firebase-GMPID":"1:329500481487:web:7157d20dc5123abd4ea4ba"},"messageUrlParams":{"database":"projects/baniya-38d78/databases/(default)"},"sendRawJson":true,"supportsCrossDomainXhr":true,"internalChannelParams":{"forwardChannelRequestTimeoutMs":600000},"forceLongPolling":true,"detectBufferingProxy":false,"xmlHttpFactory":{"l":null,"j":false},"encodeInitMessageHeaders":true}
2025-03-01 08:18:37.232 11755-12003 ProfileInstaller it.moblize.baniya D Installing profile for it.moblize.baniya
202

Based on suggestions here is my code looks like:

imports: [
BrowserModule,
IonicModule.forRoot(
{
mode: 'ios'
}
),
provideFirebaseApp(() => initializeApp(firebaseConfig)),
provideAuth(() => {
if (Capacitor.isNativePlatform()) {
return initializeAuth(getApp(), {
persistence: indexedDBLocalPersistence,
});
} else {
return getAuth();
}
}),
provideFirestore(() => {
return initializeFirestore(getApp(), {
experimentalForceLongPolling: true,
})
}),
AppRoutingModule,
FormsModule,
ReactiveFormsModule,
CurrencyPipe
],

My package.json looks like below:

`
{
"name": "baniya",
"version": "0.0.1",
"author": "Moblize.it LLC",
"homepage": "https://baniya.app",
"scripts": {
"ng": "ng",
"start": "ng serve",
"build": "ng build",
"watch": "ng build --watch --configuration development",
"test": "ng test",
"lint": "ng lint"
},
"private": true,
"dependencies": {
"@angular/common": "^15.0.0",
"@angular/core": "^15.0.0",
"@angular/fire": "^7.5.0",
"@angular/forms": "^15.0.0",
"@angular/platform-browser": "^15.0.0",
"@angular/platform-browser-dynamic": "^15.0.0",
"@angular/router": "^15.0.0",
"@capacitor-community/apple-sign-in": "^7.0.0",
"@capacitor/android": "7.0.1",
"@capacitor/app": "7.0.0",
"@capacitor/browser": "7.0.0",
"@capacitor/core": "^7.0.1",
"@capacitor/haptics": "7.0.0",
"@capacitor/ios": "7.0.1",
"@capacitor/keyboard": "7.0.0",
"@capacitor/network": "^7.0.0",
"@capacitor/status-bar": "7.0.0",
"@capgo/capacitor-social-login": "^1.2.6",
"@googlemaps/js-api-loader": "^1.16.8",
"@ionic/angular": "^7.0.0",
"chart.js": "^4.3.0",
"chartjs-gauge": "^0.3.0",
"chartjs-plugin-datalabels": "^2.2.0",
"firebase": "^9.22.2",
"ionicons": "^7.0.0",
"moment": "^2.29.4",
"rxjs": "~7.5.0",
"swiper": "^9.3.2",
"tslib": "^2.3.0",
"zone.js": "~0.11.4"
},
"devDependencies": {
"@angular-devkit/build-angular": "^15.0.0",
"@angular-eslint/builder": "^15.0.0",
"@angular-eslint/eslint-plugin": "^15.0.0",
"@angular-eslint/eslint-plugin-template": "^15.0.0",
"@angular-eslint/schematics": "^15.0.0",
"@angular-eslint/template-parser": "^15.0.0",
"@angular/cli": "^15.0.0",
"@angular/compiler": "^15.0.0",
"@angular/compiler-cli": "^15.0.0",
"@angular/language-service": "^15.0.0",
"@capacitor/assets": "^2.0.4",
"@capacitor/cli": "^7.0.1",
"@ionic/angular-toolkit": "^9.0.0",
"@types/google.maps": "^3.58.1",
"@types/jasmine": "~4.0.0",
"@types/node": "^12.11.1",
"@typescript-eslint/eslint-plugin": "5.3.0",
"@typescript-eslint/parser": "5.3.0",
"eslint": "^7.6.0",
"eslint-plugin-import": "2.22.1",
"eslint-plugin-jsdoc": "30.7.6",
"eslint-plugin-prefer-arrow": "1.2.2",
"jasmine-core": "~4.3.0",
"jasmine-spec-reporter": "~5.0.0",
"karma": "~6.4.0",
"karma-chrome-launcher": "~3.1.0",
"karma-coverage": "~2.2.0",
"karma-coverage-istanbul-reporter": "~3.0.2",
"karma-jasmine": "~5.1.0",
"karma-jasmine-html-reporter": "~2.0.0",
"ts-node": "~8.3.0",
"typescript": "^4.8.4"
},
"description": "Baniya App by Moblize.it LLC"
}

`

Activity

  1. google-oss-bot commented on Mar 1, 2025

    @google-oss-bot

    This issue does not seem to follow the issue template. Make sure you provide all the required information.

  2. bmchunu commented on Mar 9, 2025

    @bmchunu

    this worked for me ...
    Okay so for everyone still struggling:
    For me the error occurred because I created a database in Firestone trough the google console with a custom name instead of (default).

    I fixed the issue by doing:

    Deleting database with custom name
    Deleting prebuilt (default) database because the database-mode was set to Datastore-Mode and not Native
    Creating a new database with the name "(default)", and setting the mode to Native-Mode

  3. moblizeit commented on Mar 9, 2025

    @moblizeit
    Author

    this worked for me ... Okay so for everyone still struggling: For me the error occurred because I created a database in Firestone trough the google console with a custom name instead of (default).

    I fixed the issue by doing:

    Deleting database with custom name Deleting prebuilt (default) database because the database-mode was set to Datastore-Mode and not Native Creating a new database with the name "(default)", and setting the mode to Native-Mode

    So, I did as you suggested. deleted existing database. created a new one and to be sure also ran the gcloud alpha firestore databases update --type=firestore-native

    via google cloud shell to be sure. however, I still see the same error. So, this does not resolve the issue for sure.

  4. moblizeit commented on Mar 28, 2025

    @moblizeit
    Author

    i created a new project and i did not see this issue so moved on happily. however, today all of a sudden in my new project I am facing the same problem again just for android. here is the package.json

    {
    "name": "baniya",
    "version": "0.0.1",
    "author": "Moblize.it LLC",
    "homepage": "https://baniya.app",
    "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build",
    "watch": "ng build --watch --configuration development",
    "test": "ng test",
    "lint": "ng lint"
    },
    "private": true,
    "dependencies": {
    "@angular/animations": "^19.0.0",
    "@angular/common": "^19.0.0",
    "@angular/compiler": "^19.0.0",
    "@angular/core": "^19.0.0",
    "@angular/fire": "^19.0.0",
    "@angular/forms": "^19.0.0",
    "@angular/platform-browser": "^19.0.0",
    "@angular/platform-browser-dynamic": "^19.0.0",
    "@angular/router": "^19.0.0",
    "@capacitor-community/apple-sign-in": "^7.0.0",
    "@capacitor-firebase/messaging": "^7.1.0",
    "@capacitor/android": "7.0.1",
    "@capacitor/app": "7.0.0",
    "@capacitor/browser": "^7.0.0",
    "@capacitor/core": "7.0.1",
    "@capacitor/haptics": "7.0.0",
    "@capacitor/ios": "7.0.1",
    "@capacitor/keyboard": "7.0.0",
    "@capacitor/network": "^7.0.0",
    "@capacitor/push-notifications": "^7.0.0",
    "@capacitor/status-bar": "7.0.0",
    "@capgo/capacitor-social-login": "^7.2.3",
    "@ionic/angular": "^8.0.0",
    "chart.js": "^4.4.8",
    "chartjs-plugin-datalabels": "^2.2.0",
    "ionicons": "^7.0.0",
    "moment": "^2.30.1",
    "rxjs": "~7.8.0",
    "swiper": "^11.2.5",
    "tslib": "^2.3.0",
    "zone.js": "~0.15.0"
    },
    "devDependencies": {
    "@angular-devkit/build-angular": "^19.0.0",
    "@angular-eslint/builder": "^19.0.0",
    "@angular-eslint/eslint-plugin": "^19.0.0",
    "@angular-eslint/eslint-plugin-template": "^19.0.0",
    "@angular-eslint/schematics": "^19.0.0",
    "@angular-eslint/template-parser": "^19.0.0",
    "@angular/cli": "^19.0.0",
    "@angular/compiler-cli": "^19.0.0",
    "@angular/language-service": "^19.0.0",
    "@capacitor/cli": "7.0.1",
    "@ionic/angular-toolkit": "^12.0.0",
    "@types/jasmine": "~5.1.0",
    "@typescript-eslint/eslint-plugin": "^8.18.0",
    "@typescript-eslint/parser": "^8.18.0",
    "eslint": "^9.16.0",
    "eslint-plugin-import": "^2.29.1",
    "eslint-plugin-jsdoc": "^48.2.1",
    "eslint-plugin-prefer-arrow": "1.2.2",
    "jasmine-core": "~5.1.0",
    "jasmine-spec-reporter": "~5.0.0",
    "karma": "~6.4.0",
    "karma-chrome-launcher": "~3.2.0",
    "karma-coverage": "~2.2.0",
    "karma-jasmine": "~5.1.0",
    "karma-jasmine-html-reporter": "~2.1.0",
    "typescript": "~5.6.3"
    },
    "description": "An Ionic project"
    }

  5. cm-cm-cm-cm commented on Jul 14, 2025

    @cm-cm-cm-cm

    I'm currently running into the same issue on android. (through capacitor)
    @moblizeit Did you ever find a solution?

  6. devmaxime commented on Sep 1, 2025

    @devmaxime

    @cm-cm-cm-cm I have the same issue, but only on Android, did you find the solution ?

    Do you use CapacitorHttp plugin ?

  7. cm-cm-cm-cm commented on Sep 2, 2025

    @cm-cm-cm-cm

    @devmaxime For me it was using the library wrong. Using wrong parameters in functions causes these cryptic errors.

  8. devmaxime commented on Sep 2, 2025

    @devmaxime

    @cm-cm-cm-cm What kind of parameters ?

    The error is specific to Android to me, so I'm really not use what's going on. I tried the experimental parameters without luck.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions