SafeExamBrowser / seb-mac

Safe Exam Browser for macOS and iOS
https://www.safeexambrowser.org/macosx
95 stars 38 forks source link

Webworkers in iOS #365

Open baclemen opened 4 months ago

baclemen commented 4 months ago

IMPORTANT Please always consult the documentation first before creating a bug report! Manual (use find text in browser if you're looking for specific subjects) Release Notes (for up-to-date information which might not be included in manual yet)

Describe the bug We do the Website WebTigerPython as a programming environment at our School. However i realized on iPads this does not work. I do think that it could be related to the Application uses Web and Service Workers.

To Reproduce Steps to reproduce the behavior:

  1. Create a Safe Exam Browser . Use https://webtigerpython.ethz.ch as starting Page
  2. Open Safe Exam Browser
  3. Enter the following code:
    from turtle import *
    forward(100)

Expected behavior The turtle should go forward 100 pixels. However this does not happen in the iPad version.

Screenshots If you run the code here. That is what should happen

however the Canvas stays blank on iPad in SEB

Version Information

Please complete the following information:

Additional Context Add any other context about the problem here: Is it happening on specific machines or OS versions only? How many devices are affected? Did you realize any other pattern?

It happens on all iPads that i tested until now.

github_issue.zip

WITHOUT THIS INFORMATION WE USUALLY CANNOT ANSWER YOUR SUPPORT REQUEST!

danschlet commented 3 months ago

Service Workers on iOS/iPadOS are only available in WKWebView (the "modern" WebView in SEB terminology, which is only used with according SEB settings). In addition, the app has to have the managed entitlement com.apple.developer.web-browser, which Apple only grants to web browsers, which satisfy specific requirements, as they have to be able to act as the default browser (instead of Safari).

We will investigate if this is realistic for SEB. One big hurdle (in case it's strictly enforced) is

Currently SEB has to still be able to use UIWebView (the "classic WebView") to maintain compatibility to assessment systems/LMS which require SEB to send the BrowserExamKey and ConfigKey in HTTP requests (which is impossible in WKWebView).

So I can't predict if and when SEB will support Service Workers. I will discuss this issue with Apple though.