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

Course search promise rejection #2502

Closed
drewvolz opened this issue Apr 3, 2018 · 12 comments
Closed

Course search promise rejection #2502

drewvolz opened this issue Apr 3, 2018 · 12 comments

Comments

@drewvolz
Copy link
Member

drewvolz commented Apr 3, 2018

Happens when the course search data for Android is loaded.

@hawkrives
Copy link
Member

Can you give us the stack trace from the devtools? That'll have the actual file paths in it

@drewvolz
Copy link
Member Author

drewvolz commented Apr 4, 2018

I could not. I spent an hour trying to get RN debugger to launch but it was freezing and stalling out. My devtools would not successfully launch.

@drewvolz
Copy link
Member Author

drewvolz commented Apr 8, 2018

Weirdly enough, the error happens when I do not have a debugger enabled. I cannot replicate with the debugger, but I see the rejection when using as normal.

@drewvolz
Copy link
Member Author

drewvolz commented Apr 8, 2018

Bugsnag has this to say:

screen shot 2018-04-08 at 2 18 12 pm

@drewvolz
Copy link
Member Author

drewvolz commented Apr 8, 2018

Relevant: facebook/react-native#15902

@hawkrives
Copy link
Member

Try

// symbol polyfills
global.Symbol = require('core-js/es6/symbol');
require('core-js/fn/symbol/iterator');

// collection fn polyfills
require('core-js/fn/map');
require('core-js/fn/set');

The reason it works with a debugger is that remote debugging uses Chrome's js engine, instead of the bundled js engine.

@drewvolz
Copy link
Member Author

drewvolz commented Apr 8, 2018

Getting a runtime error to the effect of Incompatible receiver, Set required! which that thread is hinting at core-js being the culprit.

@hannesmcman
Copy link
Member

So is there nothing we can do about this one besides wait?

@hawkrives
Copy link
Member

I'll try to dig into this. Assigning to me.

@hawkrives hawkrives self-assigned this May 7, 2018
@hawkrives
Copy link
Member

Having looked at the code again, I think it's the Promise#finally:

.finally(() => this.doneLoading())

Promise.prototype.finally is not yet standardized. I have now made a local branch that replaces the Promise chain here with an async function, which should have the same results.

@hawkrives
Copy link
Member

hawkrives commented Jun 10, 2018

Not fixed yet.

So yeah, we still have the Symbol.iterator problem. Easy (temporary) solution: move away from p-props.

Long term: figure out how to set Array.prototype[Symbol.iterator] so that things work.

@hannesmcman
Copy link
Member

@hawkrives Should this be reopened?

@hawkrives hawkrives reopened this Jun 11, 2018
hawkrives added a commit that referenced this issue Aug 4, 2018
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

3 participants