javascript-sdk icon indicating copy to clipboard operation
javascript-sdk copied to clipboard

Run project config parse inside web worker

Open PepijnSenders opened this issue 2 years ago • 7 comments

Summary

The createProjectConfig() function is quite slow and runs sync with the application if the datafile is provided as an object.

This function could easily be run inside a web worker, freeing up the main thread, and we could use the same promise to track when it's done as we use for when we fetch the datafile.

For this PR to work, we'd still need:

  • A way to publish a worker with this project, we could parse the worker code as a string, for that we should isolate the functions it uses a bit better to reduce the load of this string. We could also have the worker as its own file in the repo, and the consumer could pass it as a parameter to the createInstance function.

PepijnSenders avatar Jan 17 '23 16:01 PepijnSenders

@PepijnSenders - thanks for submitting the PR! Looked through it and looks pretty slick.

As this is technically a feature request, we'll want to document it through our feature request pipeline as well. Here's the link to the Optimizely Feedback page where you can submit a feature request in the form of feedback: https://feedback.optimizely.com/?category=7093871273740179703

Please submit a request there when you have the chance - thanks in advance!

opti-jnguyen avatar Jan 20 '23 19:01 opti-jnguyen

Hey @opti-jnguyen, I was already discussing this change with one of your Solution Architects, do you need both? Happy to do so!

PepijnSenders avatar Jan 23 '23 16:01 PepijnSenders

Hi @PepijnSenders , I apologize for the delayed reply here. It's my understanding that you're also speaking with one of our Solution Architects. If he has not mentioned this already, we would greatly appreciate if you could please submit this through the feature request pipeline as well.

Rest assured we are tracking the issue within our Development team. If it's not too much trouble to also submit this via the feature request pipeline, this will allow for more visibility across our Product and Engineering org.

Lastly, I believe Joshua has spoken with you about next steps for evaluating this change in your environment. I cannot comment on when we can look at this in more detail past our initial review unfortunately due to prior planned work.

Thanks for your collaboration and if you have any questions please let us know.

This was last mentioned in internal spike/research ticket FSSDK-8510. I've requested a dev ticket be created.

mikechu-optimizely avatar Aug 24 '23 20:08 mikechu-optimizely

This was last mentioned in internal spike/research ticket FSSDK-8510. I've requested a dev ticket be created.

Oops. The development ticket for this is FSSDK-9614. We should be pointing it shortly.

mikechu-optimizely avatar Aug 29 '23 15:08 mikechu-optimizely

Any update?

jame-earnin avatar Dec 13 '23 16:12 jame-earnin

Any update?

I bumped the internal work ticket for comment.

mikechu-optimizely avatar Dec 13 '23 22:12 mikechu-optimizely