googlearchive / polymer-element-catalog

A catalog of Polymer-based web components built by the Polymer team
BSD 3-Clause "New" or "Revised" License
164 stars 91 forks source link

Maybe fixes #207? Force upgrades before highlighting. #254

Open arthurevans opened 8 years ago

arthurevans commented 8 years ago

The Polymer.dom.flush() call should force any pending upgrades to complete, meaning that the prism-highlighter should be attached before we fire the highlight events. See the bug description in #207 for analysis of what we think's going on here...

Also, use Polymer.dom() correctly. Existing code was calling scopeSubtree instead of doing the right thing.

arthurevans commented 8 years ago

Unfortunately, this issue is intermittent, and I haven't found any reliable way to reproduce it. Assuming this patch doesn't make anything worse (so far as I can tell, it doesn't), perhaps we could roll it out for a while and ask folks to keep an eye out for this problem.

arthurevans commented 8 years ago

More "correct" fix here would be to rework the racy connection between the guides page and the highlighter element. For example, have the prism-highlighter element fire an even on attached, upon receipt of which page retries the highlight request. Or, just have the page call a method directly on the element.

Better long-term fix might be to doing highlighting as a build step or on the server-side instead of offloading to the client.