inProgress-team / react-native-meteor

Meteor Reactivity for your React Native application :)
MIT License
693 stars 210 forks source link

Issue to update #183

Closed txs closed 7 years ago

txs commented 7 years ago

I'm having a issue about this.db.batchedUpdates is not a function inside WriteTransaction.js And also _.all is not a function

Please help

spencercarli commented 7 years ago

Possibly related:

I believe the issues comes from this line: https://github.com/inProgress-team/react-native-meteor/blob/874112d5e73782e68446fbb1f5b502f1b0ecda5d/src/Data.js#L9

RN source where it was defined: https://github.com/facebook/react-native/blob/3683beb88ab3233038ac32b9c33112d537478088/Libraries/Renderer/src/renderers/native/ReactNative.js#L41

@txs what version of React Native are you using? I wonder if ReactNative.unstable_batchedUpdates is no longer valid.

@Mokto I checked out the git blame and looks like you made that change - any insight on this?

txs commented 7 years ago

RN 0.39.2

txs commented 7 years ago

I'm using the ws not wss

txs commented 7 years ago

the line is in WriteTransaction.js "return this.db.batchedUpdates((function(_this) {" line 75

txs commented 7 years ago

@spencercarli Do you know how to solve it?

spencercarli commented 7 years ago

@txs no sorry I don't. I'm using the latest React Native and latest version of this packages without any issues.

txs commented 7 years ago

I still have this issue and the batchupdate seems deprecated

turbobuilt commented 7 years ago

I'm having this issue in .45.0-rc.0. When I downrgrade to .44 it goes away

txs commented 7 years ago

I think it's a issue with minimongo 0.48

txs commented 7 years ago

I'm using react native 0.42, I'll try upgrade to 0.44

txs commented 7 years ago

I think we have to change it to unstable_batchedUpdate

txs commented 7 years ago

Can require("reactUpdates") solve the issue?

dtruel notifications@github.com 於 2017年5月12日 週五 上午3:05寫道:

I'm having this issue in .45.0-rc.0. When I downrgrade to .44 it goes away

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/inProgress-team/react-native-meteor/issues/183#issuecomment-300886996, or mute the thread https://github.com/notifications/unsubscribe-auth/AAh1WW-SlRY7zD-3VIpOdXUyzS6EwBPwks5r41vxgaJpZM4LWbak .

turbobuilt commented 7 years ago

Hey @txs, I don't have a lot of extra time right now so I'm going to wait to test till .45 comes out of rc because it makes upgrading quicker. Thanks for the tip though.

anhtuank7c commented 7 years ago

0.45.0 is now official and still got this error :(

txs commented 7 years ago

Are you using the react native or react native web?

Nguyễn Anh Tuấn notifications@github.com 於 2017年6月8日 週四 下午12:10寫道:

0.45.0 is now official and still got this error :(

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/inProgress-team/react-native-meteor/issues/183#issuecomment-306993083, or mute the thread https://github.com/notifications/unsubscribe-auth/AAh1WYFYYvYR36ISBY8ddmQjdrnJKPGFks5sB3Q3gaJpZM4LWbak .

anhtuank7c commented 7 years ago

@txs I use React Native.

    "dependencies": {
        "react": "16.0.0-alpha.12",
        "react-native": "0.45.0"
        }

screen shot 2017-06-08 at 5 04 37 pm

steven-tib commented 7 years ago

I'm having the same issue, I just tried to update to 0.45 and also have react 16 alpha dependency Anyone found a way to fix it with 0.45 or should I downgrade to 0.44?

anhtuank7c commented 7 years ago

@steven-tib I have to use RN 44 instead of 45.

steven-tib commented 7 years ago

@anhtuank7c thanks, I'll switch back to 0.44 then

Nauzer commented 7 years ago

I'm having the same issue. Downgrading to 0.44 has helped. Is this an issue of React-Native or with this package?

Edit issue in mini-mongo-cache package

wenzelmkay commented 7 years ago

I'm having the same problem, and I'm having trouble figuring out how to downgrade to 0.44. Could anyone point me in the direction of some instructions on how to downgrade?

Nauzer commented 7 years ago

I think you can just remove your node_modules folder, update the version in your package.json and run npm install.

Sent from my OnePlus ONEPLUS A3003 using FastHub

Nauzer commented 7 years ago

@steven-tib to avoid staying stuck on 0.44, I was looking into fixing this. Haven't gotten a lot further though. How about you?

Nauzer commented 7 years ago

I was able to get it to work by using ReactDOM. Which is ofcourse not a real solution. Shouldn't need ReactDOM dependency in a react-native project. Anyway sharing it here to get people going until a more structural solution is found.

@txs @spencercarli @Mokto @dtruel Any ideas?

Data.js:

// line 
import ReactDOM from 'react-dom';
...
// line 9 change to:
db.batchedUpdates = ReactDOM.unstable_batchedUpdates;

Make sure to add ReactDOM to your project dependencies.

A working branch can be found here: https://github.com/Nauzer/react-native-meteor/commit/4c18bbe1aeaec6b44deb574b811617f382c46c0f

EDIT: I opened an issue in the ReactNative repo as the error is caused by ReactNative no longer exposing unstable_batchedUpdates method.

steven-tib commented 7 years ago

@Nauzer I haven't checked this further sorry, just downgraded for now. Thanks for trying to fix it though

spencercarli commented 7 years ago

Been working on this all morning. Having trouble upgrading to 0.45 - my app crashes whenever I turn remote debugging on 🙄

Nauzer commented 7 years ago

@spencercarli same here. All I could do was use ReactDOM to replace it as a hack... Let's hope someone at FB looks at the react-native issue I posted.

For your issue --> Had this same issue. Here's helped for me:

Also upgrading to 0.45.1 made everything a lot better in terms of build stability. Doesn't solve the issue though.

@steven-tib Downgrade doesn't do for me because of some issue with react-native-maps. Let's see.

spencercarli commented 7 years ago

@Nauzer the issue I had (I think) was related to react-native-maps. I was on 0.43 then upgraded to 0.44, maps didn't work so I unlinked and relinked react-native-maps which fixed everything in 0.44, then went to 0.45. Now batchedUpdates 😄

react-dom crashes my app for some reason. Hopefully I can figure it out!

Nauzer commented 7 years ago

What kind of error are you getting? I included react-dom@16.0.0-alpha.12 as a dependency of my react-native-meteor fork not directly in my project.

BTW, what your experience on RN. Is it always such a pain in the ... or is it just a unlucky moment for me to step in? ;-)

Sent from my OnePlus ONEPLUS A3003 using FastHub

spencercarli commented 7 years ago

@Nauzer I was (stupidly) using the wrong version of react-dom - completely neglected to see your working branch the branch you linked to! Thanks for providing that!

You just stepped in at a lucky time 😄 - this issue just started hitting most people (except OP) in the last few days with the release of RN v0.45 (my email has been inundated with questions about it)

Other than that there haven't been many issues (at least from my experience)

edmundkwok commented 7 years ago

Looks like 'ReactNativeInternals' (which exported unstable_batchedUpdates) was removed from being exposed as per:

https://github.com/facebook/react-native/commit/f3dbddcf2bdc0e4f49dd6f5220360b5ff383e16f#diff-834d77988fd4294e13e3e35533b3e248L161

While waiting for an update on https://github.com/facebook/react-native/issues/14490, I did the following change in react-native-meteor to import ReactNativeInternals directly:

Data.js

// Line 1
- import ReactNative from 'react-native';
+ const ReactNative = require('react-native/Libraries/Renderer/src/renderers/native/ReactNative');

Seems like it's working, but may not be the best long term fix.

What do you guys think?

Nauzer commented 7 years ago

Thanks @edmundkwok I was on this trail yesterday by using ReactNativeStack/ReactNativeFiber - didn't get it to work. Good job! One thing - I would suggest sticking to ES6 imports.

Data.js:

// line 1
- import ReactNative from 'react-native';
+import ReactNative from 'react-native/Libraries/Renderer/src/renderers/native/ReactNative'

Maybe you want to post your solution to the RN Issue to add some context?

edmundkwok commented 7 years ago

Thanks @Nauzer! Yes, of course, we should stick to ES6 😉

I have added a comment on https://github.com/facebook/react-native/issues/14490

wenzelmkay commented 7 years ago

@Nauzer Thanks for your previous help! I have a question that might be kind of dumb, but where should I be adding the change recommended by @edmundkwok to? (I'm very new to coding + react-native in general).

Nauzer commented 7 years ago

Hi @wenzelmk Until we merge this in this repo somehow (for that we need to confirm the issue in the react-native repo link to above) you can use my branch.

git clone https://github.com/Nauzer/react-native-meteor.git in a directory of your liking.

In your project's package.json replace react-native-meteor with the relative path to the directory where you cloned it. I did it in my project's parent folder.

-"react-native-meteor": "^1.0.3",
+"react-native-meteor": "../react-native-meteor"

remove the node_modules folder

npm install

And you should be good to go :)

abser commented 7 years ago

Thanks @Nauzer . It helps me as well.

ujwal-setlur commented 7 years ago

Just ran into this as well. Downgrading to 0.44. Hopefully, I won't run into any issues on that path.

ujwal-setlur commented 7 years ago

OK, downgrading to RN 0.44 worked for me. Hopefully, this will get resolved soon.

Nauzer commented 7 years ago

I could do a PR for this. Automatic tests are failing but that is not a result of the change for this fix.

@noris666 Any suggestions?

elie222 commented 7 years ago

Or this: "react-native-meteor": "git://github.com/Nauzer/react-native-meteor.git",

jasonnathan commented 7 years ago

@Nauzer, I tried using your branch and I'm getting another error, this time for loginWithPassword. (I could start a new issue, but not sure if it's related & issues are disabled on your branch)

ExceptionsManager.js:63 _reactNativeMeteor2.default.loginWithPassword(...) is not a function

Nauzer commented 7 years ago

@jasonnathan i cant reproduce. Can you share your code?

Sent from my OnePlus ONEPLUS A3003 using FastHub

ujwal-setlur commented 7 years ago

Any hope this will get merged into the official repo?

Get Outlook for iOShttps://aka.ms/o0ukef


From: Nauzer notifications@github.com Sent: Sunday, July 2, 2017 2:05:42 PM To: inProgress-team/react-native-meteor Cc: Ujwal Setlur; Manual Subject: Re: [inProgress-team/react-native-meteor] Issue to update (#183)

@jasonnathanhttps://github.com/jasonnathan i cant reproduce. Can you share your code?

Sent from my OnePlus ONEPLUS A3003 using FastHubhttps://play.google.com/store/apps/details?id=com.fastaccess.github

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHubhttps://github.com/inProgress-team/react-native-meteor/issues/183#issuecomment-312516898, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AFkMXT-6cj52cSXJZm10viL4hNDKMNo1ks5sKAYmgaJpZM4LWbak.

jasonnathan commented 7 years ago

Apologies @Nauzer, false alarm!

Nauzer commented 7 years ago

@ujwal-setlur It was already nerged. Will be pushed to npm somewhere today.

Sent from my OnePlus ONEPLUS A3003 using FastHub

ujwal-setlur commented 7 years ago

Awesome!

Get Outlook for iOShttps://aka.ms/o0ukef


From: Nauzer notifications@github.com Sent: Sunday, July 2, 2017 11:39:08 PM To: inProgress-team/react-native-meteor Cc: Ujwal Setlur; Mention Subject: Re: [inProgress-team/react-native-meteor] Issue to update (#183)

@ujwal-setlurhttps://github.com/ujwal-setlur It was already nerged. Will be pushed to npm somewhere today.

Sent from my OnePlus ONEPLUS A3003 using FastHubhttps://play.google.com/store/apps/details?id=com.fastaccess.github

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/inProgress-team/react-native-meteor/issues/183#issuecomment-312561468, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AFkMXSGsutyiyaAmCfUjlKSdFE4eihSFks5sKIyMgaJpZM4LWbak.

Nauzer commented 7 years ago

Merged to version 1.0.5. Closed.

Sent from my OnePlus ONEPLUS A3003 using FastHub

ujwal-setlur commented 7 years ago

Thanks!

Get Outlook for iOShttps://aka.ms/o0ukef


From: Nauzer notifications@github.com Sent: Tuesday, July 4, 2017 1:36:56 AM To: inProgress-team/react-native-meteor Cc: Ujwal Setlur; Mention Subject: Re: [inProgress-team/react-native-meteor] Issue to update (#183)

Closed #183https://github.com/inProgress-team/react-native-meteor/issues/183.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/inProgress-team/react-native-meteor/issues/183#event-1149179645, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AFkMXdPojGzcKFZ3yRKx1NI-Mk9amhsDks5sKfmogaJpZM4LWbak.

charpeni commented 7 years ago

@Nauzer in react-native@0.46.0, it has been renamed. :sweat:

-import ReactNative from 'react-native/Libraries/Renderer/src/renderers/native/ReactNative';
+import ReactNative from 'react-native/Libraries/Renderer/shims/ReactNative';

I'll send a PR.