Skip to content
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

[v3] Queries with equalTo() return null #121

Open
murej opened this issue Nov 9, 2016 · 16 comments
Open

[v3] Queries with equalTo() return null #121

murej opened this issue Nov 9, 2016 · 16 comments
Labels
Milestone

Comments

@murej
Copy link

murej commented Nov 9, 2016

Hey,

The following code returns null, however I do get a correct response using Firebase Web API.

firestack.database.ref('messages').orderByChild('uid').equalTo('wIRBRv9SdtfO7EUdhqL45tLhkzm2').on('value', (snapshot) => {
  console.log(snapshot.val());
});

Any ideas? Thanks for all the effort, much appreciation here

Edit: Using iOS

@pedro-ribeiro
Copy link
Contributor

pedro-ribeiro commented Nov 9, 2016

I believe I'm getting this too.

Edit: I'm using android

@pedro-ribeiro
Copy link
Contributor

I believe I fixed it. Please review PR #122

@murej
Copy link
Author

murej commented Nov 9, 2016

Wow awesome, thanks for working on it!

Tried it, and I do get this error:
image

@pedro-ribeiro
Copy link
Contributor

pedro-ribeiro commented Nov 9, 2016

I created the PR against the HEAD of master, but I didn't test it there. Maybe there's another issue. I'll have to investigate.

Edit: oh! and once again I've just tested it in android.

@auser
Copy link
Contributor

auser commented Nov 9, 2016

Yeah, the : at the end is causing the problem, I think. We currently split on the :, so having that at the end would cause that error. I suppose we'll need to split on the first one and join the rest of the string together?

@pedro-ribeiro
Copy link
Contributor

Not completely sure I understood what you proposed since I'm not familiar with the ios code, but what about changing the equalTo code to conditionally pass the key variable?

equalTo(value, key) {
  // test key parameter here
  return this.query.setFilter('equalTo', value, key);
}

I guess that way it wouldn't have the trailing ':' due to having an undefined entry in the filters array.

@auser
Copy link
Contributor

auser commented Nov 9, 2016

Well, it shouldn't actually have a trailing : in the key on iOS anyway... maybe it does in java, just not sure off-hand. Will have to check it...

@murej
Copy link
Author

murej commented Nov 14, 2016

Anything I could help with here? Happy to get this forward. Thanks for the effort guys!

@murej
Copy link
Author

murej commented Nov 16, 2016

Hey auser (& other contributors),
this issue is fairly crucial for the project I'm working on with my team, so we're thinking of putting a bounty on it. We have the backing for it and would be happy to push the project this way. Any objections?

@pedro-ribeiro
Copy link
Contributor

@murej, can you give #137 a try?

@pedro-ribeiro
Copy link
Contributor

@auser, from what I've seen you have merged both #136 and #137. They do the same thing. imho, one of them should be reverted.

@Salakar Salakar added this to the v3 milestone Nov 19, 2016
@Salakar Salakar changed the title Queries with equalTo() return null [v3] Queries with equalTo() return null Nov 19, 2016
@auser auser added the bug label Nov 19, 2016
@moooji
Copy link

moooji commented Jan 12, 2017

This is working in v3 now. I think this can be closed @auser

@AndrewHenderson
Copy link

AndrewHenderson commented Mar 26, 2017

@moooji @auser I am still experiencing this bug and it looks like I'm not the only one. #293 cc: @neuberoliveira

I'm considering migrating to @Salakar's https://github.com/invertase/react-native-firebase

Data filtering is crucial for my application.

Is this library still being maintained? There haven't been any updates in months.

@Salakar
Copy link
Collaborator

Salakar commented Mar 27, 2017

@AndrewHenderson can confirm this works and has also been tested over at my end, I fixed this in v3 firestack (my fork of firestack = v3) originally and works also in my repo as above.

@AndrewHenderson
Copy link

AndrewHenderson commented Mar 27, 2017

@Salakar I'm attempting to use your library. However, I'm having issues migrating to your project's API.

The docs on your repo seem to be out of date. npm i react-native-firebase installed v0.0.2. I went on to install v1.0.0-alpha9.

Since then, I've been troubleshooting signing in with Facebook. Currently, your Facebook sign in method fails silently.

// React Native Firestack
// This works.
firebaseApp.auth.signInWithProvider('facebook', data.accessToken, '');
// React Native Firebase
// This does not work.
firebaseApp.auth().signInWithCredential({
  provider: 'facebook',
  token: data.accessToken,
  secret: ''
});

I tried adding the Facebook app secret, but that didn't resolve the issue.

@Salakar
Copy link
Collaborator

Salakar commented Mar 27, 2017

@AndrewHenderson can you make an issue over at RNFirease please, but; I have taken a look though and can't see any issues with this, which platform isn't this working on? signInWithCredential returns a promise, to get any caught exceptions you'll need a .catch, can i see the full code for this if possible?

const credential = firebase.auth().FacebookAuthProvider.credential(data.accessToken);
// firebase.auth().FacebookAuthProvider will soon be moved to 
// firebase.auth.FacebookAuthProvider to match the firebase web sdk

firebase.auth().signInWithCredential(credential)
               .then(currentUser => {
                   // now signed in
                   console.warn(JSON.stringify(currentUser.toJSON()));
               })
               .catch(error => console.error(error));

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

No branches or pull requests

6 participants