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

[CRITICAL] App hangs on iOS #35

Closed
dandv opened this issue Apr 21, 2015 · 5 comments
Closed

[CRITICAL] App hangs on iOS #35

dandv opened this issue Apr 21, 2015 · 5 comments

Comments

@dandv
Copy link
Contributor

dandv commented Apr 21, 2015

Merely adding Restivus.configure() to the Meteor skeleton app causes it to hang at the splash screen when meteor run ios or meteor run ios-device is executed.

@kahmali
Copy link
Owner

kahmali commented Apr 21, 2015

Hmmm. I'll certainly look into this. In the meantime, Restivus only has a single option that needs to be configured from the client (useClientRouter), and it currently doesn't work (Issue #24). Does moving all of the Restivus code to the server resolve the issue? There's no reason Restivus should have to exist on the client, and as soon as I stop using Iron Router as the server-side router (which I will likely replace with connect and a url parser like iron:url once I have a better look at it), I think it would be safe to require all configuration and route definition to be done from the server. I don't want to have to test for things like this when, as far as I can tell, a tool for serving REST APIs has no business on any client, be it web or mobile. Would you agree with that?

Up until the most recent release I don't even think I exported Restivus on the client (and even in that release there appears to be issues with it being available there). I wonder if that issue is connected to the error you're getting. A good test will be to try the previous version of Restivus (0.6.3).

Are there any error logs from the crash? I'll test this out as soon as I have a minute.

@dandv
Copy link
Contributor Author

dandv commented Apr 22, 2015

Not due to client code, I'm afraid:

meteor create x
cd x
meteor add-platform ios
meteor add nimble:restivus
meteor run ios  # hangs
meteor remove nimble:restivus
meteor run ios  # works

If you meteor add nimble:restivus in another shell, Meteor will HCP and the app works. However, if you stop the server and re-run meteor run ios, the app will hang in the iOS simulator. So hot code push isn't exactly equal to re-starting the server - a matter that perhaps merits a Meteor issue filed once we figure out what's causing the hang.

@kahmali
Copy link
Owner

kahmali commented Apr 30, 2015

Just tested this with #41 (the pull request for #38), and as expected, it fixes this bug. The real question is, what doesn't #41 fix? As soon as it's merged in I'll close this. Should be very soon.

@kahmali kahmali modified the milestone: v0.7.0 May 2, 2015
@kahmali
Copy link
Owner

kahmali commented May 2, 2015

This is resolved by #46 (which removes Iron Router), and will be included in the next major update, v0.7.0. If you'd like early access, you can clone the latest from the 0.7.0 branch, and use it as a local package. Of course, that branch is a work in progress, so there could be some unexpected behavior.

I wonder if we should still file an issue with Meteor or Iron Router? We may still need to do some further digging, since we never figured out the cause of the issue, other than it being related to Iron Router.

I'll leave this issue open a little while longer, in case you want to chime in about filing any issues related to it.

Thanks for taking the time to report this with the repro steps! That's always very helpful.

@kahmali
Copy link
Owner

kahmali commented May 15, 2015

Closing this since the actual issue has been resolved on the 0.7.0 branch.

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

2 participants