I've received a couple of complaints that the docs are crashing people's iOS browsers (both Safari and Chrome, both iPhone and iPad).
This is strange, considering how simple the site is.
It was happening earlier in development and I tried a few things (making sure HTML validated and removing unnecessary resources):
I thought it was fixed because I was no longer able to reproduce the crash. But others seem to be able to.
So if you are having this problem and are able to troubleshoot in any way, please help out!
This happens to me every time in Safari on iPhone (iOS7)...it's even happening when viewing the browser through the Twitter app, it kills the Twitter app. I'll try look into it.
That would be awesome if you could figure anything out! I haven't been able to reproduce with my own iPad or any simulators. And I just got a new iPhone -- and the site works on that. So ... it's kind of out of my hands until we figure out what specific situation is setting it off.
I always noticed that the problem happens when I try to scroll so ran a DevTools profiler and noticed that overthrow.js is being called on scroll events. I've just looked at the repo and noticed you'd already raised the issue about the library here? Did removing Overthrow not resolve the issue?
That issue hasn't received any attention I'm aware of. And there is a hefty backlog of issues on the Overthrow repo. So maybe we should look around for an alternative way to take care of the problem that Overthrow solves.
I'm having the same issue guys and I wasn't able to identify the cause thus far. So thank you big time for bringing my attention to the overthrow, I thought it was a memory leak issue with views management and spent couple of days on optimization, but the browser was still crashing after a while.
Thanks for saving me from a lot of frustration, I think I'll give up overthrow, until the issue is fixed.
Removed Overthrow polyfill; fixed #110
@patocallaghan I removed Overthrow then prematurely closed the issue: first we need to ensure that it's actually fixed! Can you please test whether the removal of Overthrow fixes the crashing on your device? If so, we can close this again.
Won't be able get to a dev machine for a day or two. I haven't checked whether you've actually pushed the code to live but I had a look at the live site on my phone through both Safari and the Twitter app and it still crashed both.
Adjusted the JS in a few ways, including use of event delegation instead of a unique event listener for each [?] of "Show CSS" button. New JS is here: https://github.com/davidtheclark/scut/blob/master/docs/dev/assets/js/main.js. Changes should be live now, so when you do have the chance please let me know if this affects the crashing in any way.
I put Overthrow back in: 2d095f8
Because without it the scrolling was terrible on my iPad. I don't really know what it did, because I thought the latest mobile Safari natively supported the things that it polyfilled --- but everything about this problem is carefully designed by demons me feel ignorant and incompetent, so whatever.
I tried something here: 1af5412
So @patocallaghan would you mind trying it again?
I actually managed to crash my phone with it a couple of times before this fix, and now after this fix it seems to be performing better (and hasn't crashed again yet).
Bingo! That seems to have fixed it. I was able to use the site with no trouble both in Safari and within the browser in the Twitter app. It didn't crash once. Good job! So what exactly was it you did?
Sorry I couldn't have been more help but first week at a new job so was pretty hectic.
Realized I should try changing the method by which I was hiding/showing the entry content at mobile size. Switched from a method that involved position: absolute -- which probably stacked everything on top of itself and demanded loads of rendering memory -- to the more straightforward display: none. It sounds like iOS will do a good job completely ignoring things that are display: none, whereas might not ignore things hidden by other methods.
Ugh. Still an issue, because although the mobile-size is (probably) fixed, the iPad gets the full-width size and that's still crashing it.
This should definitely be fixed with the new docs setup I just pushed, which has each utility on its own page -- avoiding both the rendering issues and document-size issues that seemed the most likely offenders. I've tested on the devices I have at my disposal and run into no troubles at all.