marp-team / marp-core

The core of Marp converter
MIT License
797 stars 132 forks source link

Large(ish) presentation won't open in any iOS browser #195

Open asm0dey opened 4 years ago

asm0dey commented 4 years ago

For example this presentation https://github.com/asm0dey/kotlin-spark (rendered version is here: https://asm0dey.ru/p/kotlin-spark/) won't open in any browser on iOS, but opens in any other OS/browser combination.

yhatt commented 4 years ago

Probably iOS browser, that has less memories, is making crash by marpit-svg-polyfill. https://stackoverflow.com/questions/11831429/mobile-safari-on-ios-crashes-on-big-pages

Marp Core is depending on Marpit's inline SVG slide: https://marpit.marp.app/inline-svg. Due to a long-standing Webkit bug, iOS support in Marp is unstable while a long time.

In many cases, it brings crash in the big HTML slide deck as you shown. However, just rendering a few Marp slides like marp.app seems to make crash in sometimes too.

Apple denies 3rd-party rendering engine in iOS app so all rendering engines are the same WebKit in any iOS browsers (Safari, Firefox, Chrome, Edge, Brave, etc...). For using Marp slides in iOS stably, you have to convert into the stable format like PDF, or raise your voice to Webkit bug tracker.

yhatt commented 4 years ago

Additional: In my iPhone 7 Plus, too zooming-in into Marp slide on https://marp.app/ by pinch gesture will make crashes. 😭

RPReplay_Final1601618183

It shows this issue is not limited to large presentation.

yhatt commented 3 years ago

UPDATE: This issue will be fixed in an upcoming WebKit improvement. See a document of the awesome work by Nikolas: https://blogs.igalia.com/nzimmermann/posts/2021-10-29-layer-based-svg-engine/

interglobalmedia commented 1 year ago

Hi,

I just tried to open up my marp presentation in Firefox on my iPad, which is a pretty new one on iOS 16.4.1 I believe. The latest update of the OS anyway. And it tries to open up, but then crashes. So it is not just Safari. it is a general incompatibility with mobile I believe. This is kind of a deal breaker. reveal.js/reveal-md work beautifully on iPad/iPhone, mobile in general, right out of the box. FYI. This is too bad, because I love working with it! Is there anything that needs to be done in order to be able to view it in iPad? Thanks!

asm0dey commented 1 year ago

Not with mobile, with iOS. It's overly cautious about the memory consumption

On Tue, 25 Apr 2023, 15:58 Maria Campbell, @.***> wrote:

Hi,

I just tried to open up my marp presentation in Firefox on my iPad, which is a pretty new one on iOS 16.4.1 I believe. The latest update of the OS anyway. And it tries to open up, but then crashes. So it is not just Safari. it is a general incompatibility with mobile I believe. This is kind of a deal breaker. reveal.js/reveal-md work beautifully on iPad/iPhone, mobile in general, right out of the box. FYI. This is too bad, because I love working with it! Is there anything that needs to be done in order to be able to view it in iPad? Thanks!

— Reply to this email directly, view it on GitHub https://github.com/marp-team/marp-core/issues/195#issuecomment-1521839334, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAJ4XAXYQPWKLOXOGDR2D6TXC7KB5ANCNFSM4SARSDBA . You are receiving this because you authored the thread.Message ID: @.***>

interglobalmedia commented 1 year ago

Thanks anyway!

yhatt commented 1 year ago

This issue is iOS specific, including iPhone and iPad. It should not apply to Android mobile/tablet devices. Currently, there are 2 possibilities:

interglobalmedia commented 1 year ago

I'll keep on checking in for that. But I have an immediate need on iPad, so will have to opt elsewhere for the time being. Thanks so much for the information!

asm0dey commented 1 year ago

PDF of also your friend in this kind of situations. They work perfectly fine on iOS

On Wed, 26 Apr 2023, 04:14 Maria Campbell, @.***> wrote:

I'll keep on checking in for that. But I have an immediate need on iPad, so will have to opt elsewhere for the time being. Thanks so much for the information!

— Reply to this email directly, view it on GitHub https://github.com/marp-team/marp-core/issues/195#issuecomment-1522664233, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAJ4XARKZCZ65PCJIZNAPD3XDCAJ3ANCNFSM4SARSDBA . You are receiving this because you authored the thread.Message ID: @.***>

interglobalmedia commented 1 year ago

Thanks for letting me know, but that is not what I need for my current use case. Thanks!

lastcoolnameleft commented 3 weeks ago

I think Apple (or Mark) just pushed a fix for this. I was having issues last week and looked up the bug today but am not experiencing the problem now. Thoughts?

https://lastcoolnameleft.github.io/how-to-punkin-chunkin/

yhatt commented 3 weeks ago

At least the crash is still occuring in originally reported slide, so I think that is not yet fixed completely. Layer-based SVG engine (for resolving an rendering issue of inline SVG slides) is still working in progress, and is not yet coming to WebKit 18.1.