SafeExamBrowser / seb-win-refactoring

Safe Exam Browser for Windows.
https://www.safeexambrowser.org/news_en.html
Mozilla Public License 2.0
180 stars 121 forks source link

ReadSpeaker DocReader in SEB 3.7 #889

Open Mobron opened 4 months ago

Mobron commented 4 months ago

Describe the Bug Recently, we encountered an issue with DocReader bt ReadSpeaker in Safe Exam Browser (SEB) version 3.7. When attempting to open a file, it gets stuck while trying to read it out loud (see image attached to this message). Interestingly, this problem does not exist in version 3.6 and earlier.

Our Moodle provider, OpenEdu, as well as ReadSpeaker support have confirmed the issue after conducting their analysis. They recommended that I file this bug for further assistance.

Steps to Reproduce Steps to reproduce the behavior:

  1. Create Quiz with SEB in Moodle with ReadSpeaker plugin
  2. Create Question with link to uploaden PDF file
  3. Open Quiz in SEB
  4. Open PDF with ReadSpeaker/DocReader
  5. Click 'Read' button on top
  6. See error

Expected Behavior Up untill version 3.6 ReadSpeaker DocReader would read the text aloud.

Screenshots IMG_20240517_160645

Version Information

Additional Context ReadSpeaker is an important accessibility tool in the online world. Support seems critical. They asked me to file this bug report, but they can be reached at support@readspeaker.com. Lisa knows the issue and can provide further assistance.

dbuechel commented 4 months ago

We'd need access to a quiz with that specific plugin, I personally do not know it nor how to install / configure it. In other words, it would be great if you could take care of steps 1 and 2 as specified abvoe so that we can investigate the remaining steps.

Mobron commented 4 months ago

Thank you for your reply, Damian. I've created an account for you on our Moodle instance, with access to a simple Quiz. The Quiz contains one question, linking to a PDF file.

Go to elo.keizerkarelcollege.nl Click 'Inloggen' and then 'Reguliere login' Log in with username: Damian Password: SEB4ever Here is the example test you can use.. Open the test in SEB 3.7 with password 'Doei' (exit password is the same) Click on the ReadSpeaker icon behind the link in the question to open the PDF in DocReader. DockReader opens the PDF, but will fail to read it.

NB: SEB 3.6 and earlier will work just fine.

Kind regards, Robin

dbuechel commented 4 months ago

Excellent, thank you. I shall investigate the issue as soon as I have time, presumably in the upcoming 1-2 weeks.

Mobron commented 3 months ago

Very good. Thank you. We and all our dyslectic students will keep our fingers crossed for a solution

ObscureScience commented 3 months ago

Hi @dbuechel I work with ReadSpeaker and am interested if any findings has been made. If changes in CSP configuration of SEB has been made that could be something to look at. As this is a open source project, are there instruction on how to enable a debug build, which will make inspector tools available?

thomasvergouwe commented 3 months ago

Following this thread, as we have the exact same issue in our schools.

dbuechel commented 3 months ago

As this is a open source project, are there instruction on how to enable a debug build, which will make inspector tools available?

You can enable the development tools via the configuration under User Interface > Enable browser toolbar > Show developer tools (see https://safeexambrowser.org/windows/win_usermanual_en.html#AppearancePane).

ObscureScience commented 3 months ago

@dbuechel Thank you! What we've been able to see is that some responses from ReadSpeaker servers are blocked by the browser because the browser sets CORS credentials mode "include" on fetches, and ReadSpeaker has "Access-Control-Allow-Origin" set to "*" on responses.

The error is basically this: "Credential is not supported if the CORS header 'Access-Control-Allow-Origin' is '*'"

IMG_9311

This must have changed between v3.6 and 3.7. My recommendation would be to at least allow the header parameter to be set (including "omit").

dbuechel commented 3 months ago

Thanks for the information, that might very well be the case due to a change in the browser engine. I shall thus try to set the credentials mode as mentioned above, though we obviously need to make sure that this won't impact other requests resp. use cases.

Dirk076-BMLDNCK commented 2 months ago

Good morning @dbuechel Are there any relevant updates for this issue with SEB 3.7.0? Or can you maybey confirm this issue is going to be fixed with a new browser engine in SEB 3.8 or later? Thanks in advance also on behalve of our students

dbuechel commented 2 months ago

We will definitely have a look at it and do already have an internal work item created. It currently is scheduled for version 3.8.0, but most unfortunately and due to various factors we'll probably need to reschedule it for a later version.

The code change itself may be and hopefully is minor, but the possible side effects and required testing unfortunately not. We already had quite a few issues related to CORS, thus experiences has taught that any related changes must be made with great caution.

thomasvergouwe commented 1 month ago

Is there an update on this problem? We start schools again in september and we'd like to use Readspeaker Docreader in combination with SEB.

dbuechel commented 1 month ago

Most unfortunately not, we were not able to have a look at the issue due to other priorities. The issue is however still in our backlog and we will inform here once we were able to make any changes.

Mobron commented 1 month ago

For anyone tuning in. I can confirm that version 3.6 still works for now. The problem is however, that in my experience older versions will eventually stop working as automated SEB config creators (such as Moodle's) get updated.