Skip to content

Kaspersky antivirus breaks Firestore ("Could not reach Cloud Firestore backend.") #1190

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
h2u opened this issue Sep 2, 2018 · 85 comments

Comments

@h2u
Copy link

h2u commented Sep 2, 2018

UPDATE [by @mikelehen 2018/10/21]: This issue has morphed into specifically being about the Kaspersky antivirus software blocking Firestore. Please open a separate bug if you're encountering issues without Kaspersky.

Environment

  • Operating System version: Windows 10
  • Browser version: Chrome 68.0.3440.106
  • Firebase SDK version: 5.4.2
  • Firebase Product: store

Problem

Im using Firestore with Ionic (Angularfire2 package). Any collection or doc gives error but after ~10 seconds it gives data. Auth works without any problems.

Error:

@firebase/firestore: Firestore (5.0.4): Could not reach Cloud Firestore backend. Backend didn't respond within 10 seconds.
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.

Created new Firebase Project and new Ionic project, installed packages, tried to make collection, shows same error.

"angularfire2": "^5.0.0-rc.12",
"firebase": "^5.4.2",
"rxjs": "^6.3.1",
"rxjs-compat": "^6.3.1",

The code im trying to run:

  db.collection('categories').valueChanges().subscribe(data => {
    console.log(data);
  });

And the console output:

[2018-09-02T09:05:36.388Z]  @firebase/firestore: Firestore (5.0.4) [FirestoreClient]: Initializing. user= null
index.esm.js:65 [2018-09-02T09:05:36.389Z]  @firebase/firestore: Firestore (5.0.4) [MemoryPersistence]: Starting transaction: Start LocalStore
index.esm.js:65 [2018-09-02T09:05:36.391Z]  @firebase/firestore: Firestore (5.0.4) [MemoryPersistence]: Starting transaction: Get last stream token
index.esm.js:65 [2018-09-02T09:05:36.392Z]  @firebase/firestore: Firestore (5.0.4) [MemoryPersistence]: Starting transaction: Get next mutation batch
index.esm.js:65 [2018-09-02T09:05:36.394Z]  @firebase/firestore: Firestore (5.0.4) [MemoryPersistence]: Starting transaction: Allocate query
index.esm.js:65 [2018-09-02T09:05:36.396Z]  @firebase/firestore: Firestore (5.0.4) [MemoryPersistence]: Starting transaction: Execute query
index.esm.js:65 [2018-09-02T09:05:36.396Z]  @firebase/firestore: Firestore (5.0.4) [MemoryPersistence]: Starting transaction: Remote document keys
index.esm.js:65 [2018-09-02T09:05:36.399Z]  @firebase/firestore: Firestore (5.0.4) [Connection]: Creating WebChannel: https://firestore.googleapis.com/google.firestore.v1beta1.Firestore/Listen/channel [object Object]
index.esm.js:65 [2018-09-02T09:05:36.415Z]  @firebase/firestore: Firestore (5.0.4) [Connection]: Opening WebChannel transport.
index.esm.js:65 [2018-09-02T09:05:36.418Z]  @firebase/firestore: Firestore (5.0.4) [Connection]: WebChannel sending: {"database":"projects/app-17s82/databases/(default)","addTarget":{"query":{"structuredQuery":{"from":[{"collectionId":"categories"}],"orderBy":[{"field":{"fieldPath":"__name__"},"direction":"ASCENDING"}]},"parent":"projects/app-17s82/databases/(default)"},"targetId":2}}
index.esm.js:65 [2018-09-02T09:05:36.683Z]  @firebase/firestore: Firestore (5.0.4) [Connection]: WebChannel transport opened.
index.esm.js:77 [2018-09-02T09:05:47.151Z]  @firebase/firestore: Firestore (5.0.4): Could not reach Cloud Firestore backend. Backend didn't respond within 10 seconds. 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.
index.esm.js:65 [2018-09-02T09:06:06.989Z]  @firebase/firestore: Firestore (5.0.4) [Connection]: WebChannel received: {"targetChange":{"targetChangeType":"ADD","targetIds":[2]}}
index.esm.js:65 [2018-09-02T09:06:06.991Z]  @firebase/firestore: Firestore (5.0.4) [Connection]: WebChannel received: {"documentChange":{"document":{"createTime":"2018-08-26T18:59:32.276692Z","fields":{"image":{"stringValue":"categories/a.jpg"},"lang_key":{"stringValue":"A"},"order":{"integerValue":"10"},"visible":{"booleanValue":true}},"name":"projects/app-17s82/databases/(default)/documents/categories/54Nxy6OOm4yantdzUDXu","updateTime":"2018-08-27T18:08:13.536914Z"},"targetIds":[2]}}
index.esm.js:65 [2018-09-02T09:06:06.994Z]  @firebase/firestore: Firestore (5.0.4) [Connection]: WebChannel received: {"documentChange":{"document":{"createTime":"2018-08-26T18:59:31.537482Z","fields":{"image":{"stringValue":"categories/b.jpg"},"lang_key":{"stringValue":"B"},"order":{"integerValue":"6"},"visible":{"booleanValue":true}},"name":"projects/app-17s82/databases/(default)/documents/categories/8xNLqdlqqflMbu6Y8P8k","updateTime":"2018-08-26T18:59:31.537482Z"},"targetIds":[2]}}
index.esm.js:65 [2018-09-02T09:06:06.996Z]  @firebase/firestore: Firestore (5.0.4) [Connection]: WebChannel received: {"documentChange":{"document":{"createTime":"2018-08-26T18:59:30.510370Z","fields":{"image":{"stringValue":"categories/c.jpg"},"lang_key":{"stringValue":"C"},"order":{"integerValue":"1"},"visible":{"booleanValue":true}},"name":"projects/app-17s82/databases/(default)/documents/categories/9UFJB2KAhFij6tcKaVFK","updateTime":"2018-08-26T18:59:30.510370Z"},"targetIds":[2]}}
index.esm.js:65 [2018-09-02T09:06:06.997Z]  @firebase/firestore: Firestore (5.0.4) [Connection]: WebChannel received: {"documentChange":{"document":{"createTime":"2018-08-26T18:59:31.944855Z","fields":{"image":{"stringValue":"categories/d.jpg"},"lang_key":{"stringValue":"D"},"order":{"integerValue":"8"},"visible":{"booleanValue":true}},"name":"projects/app-17s82/databases/(default)/documents/categories/B76lIXguh3hFZcnXLybt","updateTime":"2018-08-26T18:59:31.944855Z"},"targetIds":[2]}}
index.esm.js:65 [2018-09-02T09:06:06.999Z]  @firebase/firestore: Firestore (5.0.4) [Connection]: WebChannel received: {"documentChange":{"document":{"createTime":"2018-08-26T18:59:31.144277Z","fields":{"image":{"stringValue":"categories/e.jpg"},"lang_key":{"stringValue":"E"},"order":{"integerValue":"4"},"visible":{"booleanValue":true}},"name":"projects/app-17s82/databases/(default)/documents/categories/Dh10cOAFtywBF1nD6Oit","updateTime":"2018-08-26T18:59:31.144277Z"},"targetIds":[2]}}
index.esm.js:65 [2018-09-02T09:06:07.000Z]  @firebase/firestore: Firestore (5.0.4) [Connection]: WebChannel received: {"documentChange":{"document":{"createTime":"2018-08-26T18:59:32.469426Z","fields":{"image":{"stringValue":"categories/a1.jpg"},"lang_key":{"stringValue":"A1"},"order":{"integerValue":"11"},"visible":{"booleanValue":true}},"name":"projects/app-17s82/databases/(default)/documents/categories/TaMikooiiCQSVcgvdUcM","updateTime":"2018-08-26T18:59:32.469426Z"},"targetIds":[2]}}
index.esm.js:65 [2018-09-02T09:06:07.002Z]  @firebase/firestore: Firestore (5.0.4) [Connection]: WebChannel received: {"documentChange":{"document":{"createTime":"2018-08-26T18:59:31.341506Z","fields":{"image":{"stringValue":"categories/a2.jpg"},"lang_key":{"stringValue":"A2"},"order":{"integerValue":"5"},"visible":{"booleanValue":true}},"name":"projects/app-17s82/databases/(default)/documents/categories/bNk3WF02m9QC72W9CNFD","updateTime":"2018-08-26T18:59:31.341506Z"},"targetIds":[2]}}
index.esm.js:65 [2018-09-02T09:06:07.003Z]  @firebase/firestore: Firestore (5.0.4) [Connection]: WebChannel received: {"documentChange":{"document":{"createTime":"2018-08-26T18:59:32.137302Z","fields":{"image":{"stringValue":"categories/a3.jpg"},"lang_key":{"stringValue":"A3"},"order":{"integerValue":"9"},"visible":{"booleanValue":true}},"name":"projects/app-17s82/databases/(default)/documents/categories/e0ffuG7GM1ikxdksjihZ","updateTime":"2018-08-26T18:59:32.137302Z"},"targetIds":[2]}}
index.esm.js:65 [2018-09-02T09:06:07.004Z]  @firebase/firestore: Firestore (5.0.4) [Connection]: WebChannel received: {"documentChange":{"document":{"createTime":"2018-08-26T18:59:30.946686Z","fields":{"image":{"stringValue":"categories/a4.jpg"},"lang_key":{"stringValue":"A4"},"order":{"integerValue":"3"},"visible":{"booleanValue":true}},"name":"projects/app-17s82/databases/(default)/documents/categories/fgxGcgA9Ye3sue2FkNzo","updateTime":"2018-08-26T18:59:30.946686Z"},"targetIds":[2]}}
index.esm.js:65 [2018-09-02T09:06:07.006Z]  @firebase/firestore: Firestore (5.0.4) [Connection]: WebChannel received: {"documentChange":{"document":{"createTime":"2018-08-26T18:59:31.747379Z","fields":{"image":{"stringValue":"categories/a5.jpg"},"lang_key":{"stringValue":"A5"},"order":{"integerValue":"7"},"visible":{"booleanValue":true}},"name":"projects/app-17s82/databases/(default)/documents/categories/fnSThPm2vbDdO8w5fIA1","updateTime":"2018-08-26T18:59:31.747379Z"},"targetIds":[2]}}
index.esm.js:65 [2018-09-02T09:06:07.008Z]  @firebase/firestore: Firestore (5.0.4) [Connection]: WebChannel received: {"documentChange":{"document":{"createTime":"2018-08-26T18:59:30.294481Z","fields":{"image":{"stringValue":"categories/b1.jpg"},"lang_key":{"stringValue":"WORK"},"B1":{"integerValue":"0"},"visible":{"booleanValue":true}},"name":"projects/app-17s82/databases/(default)/documents/categories/tDQRayJlugtkIvIdtqGb","updateTime":"2018-08-26T18:59:30.294481Z"},"targetIds":[2]}}
index.esm.js:65 [2018-09-02T09:06:07.010Z]  @firebase/firestore: Firestore (5.0.4) [Connection]: WebChannel received: {"documentChange":{"document":{"createTime":"2018-08-26T18:59:30.712287Z","fields":{"image":{"stringValue":"categories/b2.jpg"},"lang_key":{"stringValue":"B2"},"order":{"integerValue":"2"},"visible":{"booleanValue":true}},"name":"projects/app-17s82/databases/(default)/documents/categories/tymqkjiII9sEKWxR9Cnw","updateTime":"2018-08-26T18:59:30.712287Z"},"targetIds":[2]}}
index.esm.js:65 [2018-09-02T09:06:07.011Z]  @firebase/firestore: Firestore (5.0.4) [Connection]: WebChannel received: {"targetChange":{"readTime":"2018-09-02T10:06:51.233599Z","resumeToken":"CgkIv6qFq4mc3QI=","targetChangeType":"CURRENT","targetIds":[2]}}
index.esm.js:65 [2018-09-02T09:06:07.011Z]  @firebase/firestore: Firestore (5.0.4) [Connection]: WebChannel received: {"targetChange":{"readTime":"2018-09-02T10:06:51.233599Z","resumeToken":"CgkIv6qFq4mc3QI="}}
index.esm.js:65 [2018-09-02T09:06:07.022Z]  @firebase/firestore: Firestore (5.0.4) [MemoryPersistence]: Starting transaction: Get last remote snapshot version
index.esm.js:65 [2018-09-02T09:06:07.026Z]  @firebase/firestore: Firestore (5.0.4) [MemoryPersistence]: Starting transaction: Apply remote event
index.esm.js:65 [2018-09-02T09:06:07.043Z]  @firebase/firestore: Firestore (5.0.4) [MemoryPersistence]: Starting transaction: Garbage collection
app.provider.ts:62 (12) [{…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}]
@nguyenviettung7691

This comment has been minimized.

@banazak
Copy link

banazak commented Sep 6, 2018

+1

@d-yoshi
Copy link

d-yoshi commented Sep 10, 2018

I think that anti-virus software is causing this error as one of the causes.

@mickev36

This comment has been minimized.

@h2u
Copy link
Author

h2u commented Sep 12, 2018

@mickev36 , the problem is random but happens very recently.

Maybe @d-yoshi is right, it's anti-virus. Had no chance to work on project without anti-virus on Windows.

At the moment Im working on MacOS on the same network as Windows was and have no problems with connection.

@banazak
Copy link

banazak commented Sep 12, 2018

In our case it was also the anti-virus (Kaspersky). It worked without it.

@h2u
Copy link
Author

h2u commented Sep 12, 2018

I feel that I have same problem because I have Kaspersky as well.

@d-yoshi
Copy link

d-yoshi commented Sep 13, 2018

I'm also using Kaspersky and I encountered this problem frequently.
I don't know any solution other than invalidating Kaspersky for now. 😢

@nguyenviettung7691

This comment has been minimized.

@gamsterx
Copy link

Same problem here since a week or two. Also Kaspersky...
When I first load the page the following error message is output (every single time):

@firebase/firestore: Firestore (5.5.0): Could not reach Cloud Firestore backend. Backend didn't respond within 10 seconds.

after 30+ seconds the data from firestore finally loads

XHR finished loading: POST "https://firestore.googleapis.com/google.firestore.v1beta1.Firestore/Listen/channel..."

If I reload the page and navigate to another page, where firestore data is loaded, I immediately get the data back without the error. 😕

If I pause Kaspersky the error does not occurr.

...
"@angular/fire": "^5.0.0",
"firebase": "^5.5.0",
...

@ThiloKielmann
Copy link

Same here. My users (in web browsers) get the same message about firestore not being able to reach its backend once Kaspersky is activated on a Win 10 machine...

@Geoffrey-Pliez

This comment has been minimized.

@chunkydonut21

This comment has been minimized.

@rodrigomata
Copy link

+1

@gamsterx
Copy link

So I just generated a new angular project and only used the firebase sdk (5.5.2) to see if some other package causes the issue. It had the same outcome.

I currently have Kaspersky Internet Security 2018 installed. When I switch off the web anti virus feature the error does not occur! I immediately get all my desired data back from firestore.

My current workaround for development is to leave web anti virus running and to add the following url to the tursted websites within the web anti virus settings of kaspersky:

https://firestore.googleapis.com/*

This seems to work, but would only be acceptable for development.

@mikelehen
Copy link
Contributor

@gamsterx It would be very helpful if you could report this as a bug to Kaspersky. Unfortunately there isn't much that we can do if 3rd-party software is blocking our network access.

@ddesna

This comment has been minimized.

@wilhuff

This comment has been minimized.

@iffj
Copy link

iffj commented Oct 11, 2018

same here. In my case it was due to the Adguard I was using

@pitw
Copy link

pitw commented Oct 11, 2018

Have same Problem with Kaspersky + Firestore.
@mikelehen @gamsterx Report to Kaspersky is done, hopefully they lower the restrictions.
https://forum.kaspersky.com/index.php?/topic/402132-kaspersky-blocks-firestore/

@mikelehen
Copy link
Contributor

Thanks @pitw ! Much appreciated.

@steelcorsy
Copy link

Have same Problem with Kaspersky + Firestore.
@mikelehen @gamsterx Report to Kaspersky is done, hopefully they lower the restrictions.
https://forum.kaspersky.com/index.php?/topic/402132-kaspersky-blocks-firestore/

Response of Kaspersky:
According with some posts included on the link : The problem described happen

randomly and is Not only caused by kaspersky, but for other sources too..

So better contact "github.com" or Kaspersky Technical support

at this weblink : https://my.kaspersky.com/support

Then?

@mikelehen
Copy link
Contributor

Perhaps somebody experiencing the issue can go ahead and follow the "Request Technical Support" button from https://my.kaspersky.com/support ? Be sure to let them know that at least 7 developers here are reporting that Kaspersky is preventing their Cloud Firestore apps from working and that adding https://firestore.googleapis.com/* to the trusted sites list works around the issue, but as an app developer, it's not a viable solution to ask all your customers to do that.

And if you can provide a simple site demonstrating the issue, it's probably more likely to get traction faster.

@pitw
Copy link

pitw commented Oct 16, 2018

@mikelehen Its reported. We have now a trackable issue from Kasperksy. Will report here what they think.

Edit 1: They wanted some screenshots + demolinks. They got them; Now waiting how fast they are.
Edit 2: "Problem +Description transmitted to Moscow, product developement "...
Edit 3: Submitted 30 MB of Log files to Kaspersky as requested...waiting on final answer from product devs

Final Edit: Kaspersky opened Bug Nr. 3056440. Devs should fix this asap - then everything should work as expected.

@arturcarvalho

This comment has been minimized.

@mikelehen

This comment has been minimized.

@arturcarvalho

This comment has been minimized.

@pitw
Copy link

pitw commented Jul 1, 2019

And bug is here again...

@firebase/firestore: Firestore (5.11.0): Could not reach Cloud Firestore backend. Backend didn't respond within 10 seconds.
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.

Happened after upgrading Kaspersky to 19.0.0.1088 (d)

I'm a little bit sceptical if that bug reallly is fixed...

@anisabboud
Copy link

@pitw hover over the Kaspersky icon.
image
Patch (f) is currently the latest version.
Try restarting your computer to see if Kaspersky got updated.

The bug was fixed in Patch (e).
image

@pitw
Copy link

pitw commented Jul 1, 2019

You're right. Thanks.
Kaspersky complained about "not able to update Database" so my genious idea was to "reinstall" with loader from here: https://www.kaspersky.de/downloads/thank-you/internet-security-free-trial

After download, install, restart (1.Time), finish install... Version was still "D" but Database updates worked.
It needed another reboot (2.Time) to get D with Firebase Fix... ;)

@anisabboud
Copy link

I did the same thing :)
It showed (f) only after reboot.

@danieldanielecki
Copy link

The problem still exists on the Kaspersky Internet Security newest version...

@mikelehen
Copy link
Contributor

@danieldanielecki Can you visit https://debug-my.firebaseapp.com and share your results (e.g. in a gist)? If this is really happening again, you (or somebody else) will likely need to reach out to Kaspersky as the issue had been solved (as noted in the above release notes and confirmed by several people on this thread).

@pitw
Copy link

pitw commented Aug 2, 2019

@danieldanielecki As I'm almost paranoid now with Kaspersky + Firebase ;) I tried with several stations which were before concerned from bug.

If you move your mouse over the Kaspersky Icon does it look like this ?
kaspsfireb

As @anisabboud told above -> the (f) is important!

It should work then - double checked on our side (also with the very nice debug tool ;))

@lborgman
Copy link

lborgman commented Aug 3, 2019

I think I am affected by this issue as well. Could we please get a way to check (from JavaScript) that this error has occurred? (I can see it in the console, of course.)

That would make it possible to tell users.

@mikelehen
Copy link
Contributor

@lborgman Unfortunately, as far as the SDK can tell, the issue is indistinguishable from just being offline or on a slow internet connection...

FWIW- That message is logged if our connection fails or (in the case of Kaspersky usually) doesn't succeed within 10 seconds. You could get a similar signal by just doing a documentReference.get({source: 'server'}) call from your code. If it fails, then you know the client wasn't able to reach the backend. But there's no way to know it's because of Kaspersky.

@lborgman
Copy link

lborgman commented Aug 4, 2019

@mikelehen Thanks, that looks nearly like what I want. I guess it is this?

https://firebase.google.com/docs/reference/android/com/google/firebase/firestore/Source

However it would be nice to be able to check if the result I got from my original query is from the server. Hm. Maybe there is some way to find out this already and I just have to read the docs?

@schmidt-sebastian
Copy link
Contributor

@lborgman Both QuerySnapshot.getMetadata() and DocumentSnapshot.getMetadata() expose this via the SnapshotMetadata object. You can take a look at the isFromCache() property, which will be set to false if the snapshot was raised with data from the server.

@guillaumevincent
Copy link

guillaumevincent commented Sep 3, 2019

If it's fixed It's only fixed on Kaspersky 19+
Still have the problem on 18.0.0.405

@pitw
Copy link

pitw commented Sep 12, 2019

I'm pretty sure that with KIS 20 (In theory: released after Patch F of KIS 19 which fixed the bug...) the same problem happens again.

kis20

@andyfensham
Copy link

Strange, I am only experiencing this in Chrome. Not in Firefox or Edge or IE. Also, I went to Settings->Clear history, cookies, cache and more and used the default values to clear the cache in Chrome. The moment I did it, it works. Please try and revert back

@pitw
Copy link

pitw commented Sep 17, 2019

I don't know what exactly from KIS 20 causes the Issue but I'm 99% sure that Kaspersky is responsible for it. Tested on same machine: With Kaspersky 20 installed (Causes Firebase "Network issues"...) and with Kaspersky 20 completly removed (works perfect).

Beside our "beloved" known error "Could not reach Cloud Firestore backend. Backend didn't respond within 10 seconds"... with KIS 20 there's a second error on auth (without any more log infos):

networkIssue

Switching now back to KIS 19 where problem was solved.

Edit: I don't like unfinished stuff ;) So still tried to fix / find problem with KIS 20.
It looks like its solved by unchecking "Inject scripts into web traffic" described also in Known Issues here: https://support.kaspersky.com/14378#block1
All other solutions (white list, etc..) didnt help - this one does at least for me.

@julianandrade
Copy link

julianandrade commented Nov 9, 2019

Same problem here since a week or two. Also Kaspersky...
When I first load the page the following error message is output (every single time):

@firebase/firestore: Firestore (5.5.0): Could not reach Cloud Firestore backend. Backend didn't respond within 10 seconds.

after 30+ seconds the data from firestore finally loads

XHR finished loading: POST "https://firestore.googleapis.com/google.firestore.v1beta1.Firestore/Listen/channel..."

If I reload the page and navigate to another page, where firestore data is loaded, I immediately get the data back without the error. 😕

If I pause Kaspersky the error does not occurr.

...
"@angular/fire": "^5.0.0",
"firebase": "^5.5.0",
...

I've experienced the exact same issue using firebase, firestore and vuejs.
I was using Kaspersky Endpoint Security 11.1

@mikelehen
Copy link
Contributor

mikelehen commented Nov 11, 2019

@julianandrade I'm not very familiar with Kaspersky products and versioning but based on e.g. #1190 (comment) I think the original issue was fixed in Kaspersky Antivirus 19.0.0.1088 patch E. I'm not sure how that relates to the Kaspersky Endpoint Security 11.1 that you are using.

For anybody running into issues with latest versions of Kaspersky software, I'd really encourage you to reach out to Kaspersky and remind them of:

  • "We have fixed an issue that sometimes caused Kaspersky Anti-Virus to block connections to the Google Cloud Firestore cloud database." from the 19.0.0.1088 patch E release notes
  • The prior investigation of this issue was associated with bug 3056440 on their end.

FYI- For folks that are running into this issue and need a workaround, you can try adding this at the start of your app using the current Firestore SDK:

firebase.firestore().settings({
  experimentalForceLongPolling: true
});

This forces the SDK to use a less-efficient long-polling mechanism that we believe works around proxies that buffer traffic indefinitely, like Kaspersky has done in the past.

@pitw
Copy link

pitw commented Nov 11, 2019

@julianandrade @mikelehen The version Julian uses is the "business" version. All the settings we talked above can be either fixed in:

  • Kaspersky Security Console (if its hosted in local infrastructure)
  • Kaspersky Endpoint Security Cloud (if its the "cloud" variant)

If Julian don't have access to one of these --> theres no way to fix it from "user side" as usually the interesting settings are blocked by admin... 😁

@julianandrade
Copy link

@julianandrade I'm not very familiar with Kaspersky products and versioning but based on e.g. #1190 (comment) I think the original issue was fixed in Kaspersky Antivirus 19.0.0.1088 patch E. I'm not sure how that relates to the Kaspersky Endpoint Security 11.1 that you are using.

For anybody running into issues with latest versions of Kaspersky software, I'd really encourage you to reach out to Kaspersky and remind them of:

  • "We have fixed an issue that sometimes caused Kaspersky Anti-Virus to block connections to the Google Cloud Firestore cloud database." from the 19.0.0.1088 patch E release notes
  • The prior investigation of this issue was associated with bug 3056440 on their end.

FYI- For folks that are running into this issue and need a workaround, you can try adding this at the start of your app using the current Firestore SDK:

firebase.firestore().settings({
  experimentalForceLongPolling: true
});

This forces the SDK to use a less-efficient long-polling mechanism that we believe works around proxies that buffer traffic indefinitely, like Kaspersky has done in the past.

Yup, that setting worked. Thanks.

@julianandrade
Copy link

@julianandrade @mikelehen The version Julian uses is the "business" version. All the settings we talked above can be either fixed in:

  • Kaspersky Security Console (if its hosted in local infrastructure)
  • Kaspersky Endpoint Security Cloud (if its the "cloud" variant)

If Julian don't have access to one of these --> theres no way to fix it from "user side" as usually the interesting settings are blocked by admin... 😁

yes, it's a business version and I'll ask our helpdesk team to check the settings.
Thank you all.

@DeniCarvalho
Copy link

Guys, one solutions is usage Firestore REST

@mattiagalati
Copy link

We recently had the same problem with Kaspersky Endpoint version 11.
Using the proposed configuration experimentalForceLongPolling seems to have fixed the problem, but we are really thinking about the future of our Javascript applications: even if this is a Kaspersky issue, in more than a year, there was no step forward to completely solve it, also Google in its docs says

This setting may be removed in a future release

that said, we cannot plan to develop an application based on this SDK knowing that the workaround could be wiped out and our users could not being able to use our services anymore.

@wilhuff
Copy link
Contributor

wilhuff commented Jul 1, 2020

This setting may be removed in a future release

The intent of this phrase is that we may remove the option when the need for manually specifying this workaround is gone. Our intent is to fix the SDK to handle this case automatically. Only once that's the case will this option be removed.

@mattiagalati
Copy link

This setting may be removed in a future release

The intent of this phrase is that we may remove the option when the need for manually specifying this workaround is gone. Our intent is to fix the SDK to handle this case automatically. Only once that's the case will this option be removed.

Thank you @wilhuff , this is reassuring. May I suggest you to change the docs in order to reflect this intent?

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

No branches or pull requests