angularfire: @firebase/database: FIREBASE WARNING: Exception was thrown by user callback. TypeError: Cannot read property 'myID' of undefined
Version info
Angular: ^5.2.0
Firebase: ^4.13.1
AngularFire: ^5.0.0-rc.6.0
Other (e.g. Node, browser, operating system) (if applicable): Firebase Hosting
Test case
getLocations(radius: number, coords: Array<number>) {
this.geoFire.query({
center: coords,
radius: radius
})
.on('key_entered', (userKey, location, distance) => {
const existAlready = this.hits.value.filter(h=>h.userKey === userKey)
if(existAlready.length > 0){
return
}
const u = this.userList.query.ref
.child(`/${userKey}`)
.on('value',s=>{
const {name, address} = s.val()
console.log(s.val())
let hit = {
location,
distance,
name,
address,
userKey
}
let currentHits = this.hits.value
currentHits.push(hit)
this.hits.next(currentHits)
this.eventService.sendMessage(Constants.EVENT_MESSAGES.LOADING, true)
})
})
}
Basically what i am doing is fetching the current location and passing it to the function above
Steps to reproduce
I am using angularfire with geofire for a location based app for fetching locations around my user. It works perfectly on my dev machine, but as soon as i build and deploy to firebase hosting, I get a very strange error
@firebase/database: FIREBASE WARNING: Exception was thrown by user callback. TypeError: Cannot read property ‘myID’ of undefined
What i am doing basically is fetching the current location and passing it to the function above, the function is meant to fetch nearby locations and then put them in a behavioursubject. It works well in development like a said, but its a big NO NO on the firebase hosting server.
Expected behavior
I expect to get back the locations around me saved in firebase.
Actual behavior
I am getting an error as stated above.
About this issue
- Original URL
- State: closed
- Created 6 years ago
- Reactions: 7
- Comments: 33
Commits related to this issue
- Hotfix for strange "Cannot read property 'myID' of undefined" error Details here: https://github.com/firebase/angularfire/issues/970 — committed to Methodician/flight.run by Methodician 6 years ago
I have solved this issue. Just do this in your app.component.ts
This is a temporary solution, on network fluctuation it will throw same error
I ran into this issue today and it seemed to be related to having a logged in Firebase auth state. I pushed the same code to two different Firebase hosting projects and it worked on one and not the other. The site that worked was logged out. Once I clear cookies etc for the broken site and logged in again it started working.
No official fix for this yet? It’s still alive even on a wrong GitHub project, since the problem is apparent when using only the JS Database / library.
Not sure how you can be sure it’s not a problem with angularfire as the people reporting it all seem to be using angular - or at least I can’t find others experiencing this problem. I’m seeing the same problem as everyone else, only when compiled with --prod.
I am having the same issue as well! In dev the code runs fine, once I switch to
ng build --prod
i get the following message when i run the appCannot read property 'myID' of undefined
This is working to our case. in our case removing the localstorage item didn’t help.
I changed from
ng build --prod --aot --build-optimizer
tong build --prod --aot --build-optimizer=false
Same here with:
After network disconnection and later reconnection, error starts popping up, and gathered data cannot be sent to Firebase anymore. As @mubashshirul says, proposed solution doesn’t work for network outages.
Downgrading to
firebase#4.12.1
seems to solve the problem@mubashshirul ‘s solution worked good, but error sporadically appeared not only on developer but on clients’ computers too. Now after using
ng build --prod --build-optimizer=false
everything is OK for more than a week.Same issue here, it seems that if you delete Firebase’s cookies it will work, however once those are available it just starts spitting the error. Maybe that’s why many people reported it as an issue which is not always easily reproducible.
Same problem …
same here. works for the first time but when I close the browser and open the hosted site I get this error.
Same problem for me, it throws the error for some users, and works for some other users.