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

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

Open
asm0dey opened this issue Oct 1, 2020 · 12 comments
Open

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

asm0dey opened this issue Oct 1, 2020 · 12 comments
Labels
upstream Caused in upstream, not in this repo

Comments

@asm0dey
Copy link

asm0dey commented Oct 1, 2020

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
Copy link
Member

yhatt commented Oct 1, 2020

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 yhatt added the upstream Caused in upstream, not in this repo label Oct 1, 2020
@yhatt
Copy link
Member

yhatt commented Oct 2, 2020

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
Copy link
Member

yhatt commented Nov 3, 2021

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
Copy link

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
Copy link
Author

asm0dey commented Apr 25, 2023 via email

@interglobalmedia
Copy link

Thanks anyway!

@yhatt
Copy link
Member

yhatt commented Apr 26, 2023

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

  • Wait for an improvement of iOS browser. WebKit, the open-sourced browser engine in iOS, has slow but steady progress to fix this problem so Marp is holding on to fix this for now.

    A progress report of improvement in early 2023: https://wpewebkit.org/blog/05-new-svg-engine.html

  • If Apple stopped forcing to use the same WebKit browser engine to all browser apps in iOS, you should see Marp slide without crash when using the browser that has a different engine (e.g. Chrome's Blink, Firefox's Gecko)

    This option was a pipe dream previously, but a new EU law may bring the iOS browser with different engine in early.

@interglobalmedia
Copy link

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
Copy link
Author

asm0dey commented Apr 26, 2023 via email

@interglobalmedia
Copy link

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

@lastcoolnameleft
Copy link

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
Copy link
Member

yhatt commented Nov 1, 2024

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
upstream Caused in upstream, not in this repo
Projects
None yet
Development

No branches or pull requests

4 participants