seb-mac icon indicating copy to clipboard operation
seb-mac copied to clipboard

SEB does not wait on file/disk access prompt to start

Open acamacho-unige opened this issue 3 years ago • 7 comments

Description of problem

  • When using a new computer (Mac Intel, or Mac M1, does not matter) with SEB 3.1, Safe Exam Browser should ask the user to accept giving disk access (Documents folder, I think) to Safe Exam Browser.

  • When asking a student to

    • Download and install SEB
    • Download and double-clic on a "configure client" .seb file
  • What we see is that Safe Exam Browser launches, then asks user for disk access, but the prompt stays only a few seconds on screen before Safe Exam Browser launches itself even without answer.

  • Result is that students that did answer NO or did not answer, have their Safe Exam Browser launching and then staying stuck on the infinite loading icon. I think SEB stops working because of the lack of disk access.

  • As soon as we restart the student computer, and check in Settings that SEB has disk access, we can launch SEB again and it does not "bug" anymore. We did that on a few dozens of students, and all of them had their problem disappear.

What is the problem

  • Students that had their apps open again on restart, they see Safe Exam Browser launching at every boot and freezing. Only way to unlock this computer, is to restart in Safe Mode, so the disk access can be given, and then SEB starts working again without problem.
  • Students that do not see "Safe Exam Browser" in "Files and documents" (Preferences > Security > Privacy) have to give "full disk access" to SEB, as "Files and documents" can be asked by apps, but cannot be added manually.

Did anyone see this bug on MacOS computers ? Does SEB developer team has any idea if it's a problem in 3.1 or if it could be a problem of the devices ?

FYI we had around 100 students. 60 of them had MacOS computers. Probably 30 or 40 of them, had this problem. The others didn't because (1) they gave disk access to SEB, or (2) SEB does not start at reboot, so they could fix the problem after a reboot.

Thanks a lot !

acamacho-unige avatar Sep 28 '22 13:09 acamacho-unige

I have to try to reproduce this problem. Is the .seb configuration file saved in the Documents folder? It's a bit unclear when applications have to get file system access, maybe this applies only to specific folders (and for example not to the Downloads folder).

The workaround, which we would in general always recommend: Don't send any .seb files to students, use a sebs:// link to the file placed on a web server under your control. You can even use a server where authentication is necessary to access the file.

danschlet avatar Sep 28 '22 13:09 danschlet

I have to try to reproduce this problem. Is the .seb configuration file saved in the Documents folder? It's a bit unclear when applications have to get file system access, maybe this applies only to specific folders (and for example not to the Downloads folder).

No, I think that for the majority of students, Google Chrome saved the file in "Downloads" folder, and student double-clic on Google Chrome notification, which triggers an opening of the file from its original location.

The workaround, which we would in general always recommend: Don't send any .seb files to students, use a sebs:// link to the file placed on a web server under your control. You can even use a server where authentication is necessary to access the file.

Oh, I did not think about this.

We will try to reproduce the problem on a computer, and then we will test if the fact that students load "client configuration" from a sebs:// link does allow for a clean configuration, and avoids that problem.

Thank you very much for this quick reply ! I will be back with the result of the later test soon !

Thanks again !

acamacho-unige avatar Sep 28 '22 13:09 acamacho-unige

I don't think this is a general problem. I tried it by removing "Safe Exam Browser" in "Files and documents" (Preferences > Security > Privacy) and then starting SEB using a .seb file either in the Downloads folder or some subfolder in Documents. The system prompt asking for access to Documents doesn't appear.

Previously I also had the system file access prompt appear, but I never observed SEB freezing or crashing. I then found out that I had a custom path for the "Save log file to" setting, I think it was actually ~/Documents. I don't remember if the setting was in the client settings I was using or in the loaded config file. I will try to reproduce that and check if SEB now freezes with a custom log path. But for now I would recommend to remove custom log file paths from all settings you use, if there is such a path defined. In the Preferences menu / Security remove any path from Save log file to or select "Use standard directory". Note that if you used some config file which had a custom Save log file to setting as base for your config file, the setting would have been copied to all the new config files based on that.

danschlet avatar Sep 28 '22 21:09 danschlet

Dear Daniel,

You are right. It seems the configure-client SEB configuration we made on Windows, had some leftovers from the MacOS SEB Configuration Tool, and Downloads were allowed, and supposed to go to Documents folder.

That seems to be the reason why our Safe Exam Browser was asking for disk access at launch.

It still seems to me that a fix can be made, to be sure that Safe Exam Browser does not start and get full screen, when a prompt is asking user to accept or deny something. Don't you think - as soon as the prompt is on screen - the user should have all the time he wants to reply to the question ?

To reproduce this problem, it should be enough to install SEB and try to configure the client with a SEB file allowing downloads and specifying download location on MacOS. You should see that the prompt does not prevent SEB from launching and going full screen.

Let me know if you can reproduce that part of the problem, and if something can be done.

Again, thanks a lot for your quick and precise reply.

acamacho-unige avatar Sep 30 '22 07:09 acamacho-unige

I will check if I can use an API to prevent or control the displaying of this prompt. This prompt/alert is displayed by macOS, not SEB, and SEB doesn't 'know' that this alert is displayed, therefore it's not so easy to make sure 'the user should have all the time he wants to reply to the question' (trust me, otherwise I of course would have implemented it like that...).

danschlet avatar Sep 30 '22 09:09 danschlet

I will check if I can use an API to prevent or control the displaying of this prompt. This prompt/alert is displayed by macOS, not SEB, and SEB doesn't 'know' that this alert is displayed, therefore it's not so easy to make sure 'the user should have all the time he wants to reply to the question' (trust me, otherwise I of course would have implemented it like that...).

Ok thanks, I understand perfectly. I tried to describe the problem, and the way I think it should work, but did not want to make it seem easy or even doable.

acamacho-unige avatar Sep 30 '22 10:09 acamacho-unige

I will check if I can use an API to prevent or control the displaying of this prompt. This prompt/alert is displayed by macOS, not SEB, and SEB doesn't 'know' that this alert is displayed, therefore it's not so easy to make sure 'the user should have all the time he wants to reply to the question' (trust me, otherwise I of course would have implemented it like that...).

Ok thanks, I understand perfectly. I tried to describe the problem, and the way I think it should work, but did not want to make it seem easy or even doable.

No problem, I'm only frustrated by this kind of privacy alerts. Apple since a while in each macOS version introduces such new prompts and often doesn't provide good API to developers to control them or doesn't document it properly. Even their own developers don't know how to deal with it, as for example the camera/microphone permission prompts are hidden by the AAC Assessment kiosk mode which is built-in in macOS (so one Apple developer team didn't know how to deal with something another of their developer teams implemented...).

danschlet avatar Sep 30 '22 10:09 danschlet

I think this was fixed in a particular SEB release, if not please reopen the issue and provide instructions how to reproduce.

danschlet avatar Mar 08 '24 18:03 danschlet