First-run wizard breaks and renders NextCloud unusable when video autoplay is disabled
Steps to reproduce
- Ensure that audio/video autoplay are disabled
- Open NextCloud
Expected behaviour
NextCloud can be used
Actual behaviour
A blank white rectangle on a dark transparent background appears, blocking out the UI. It is impossible to dismiss this, and NextCloud cannot be used normally any more. Turning on audio/video (not sure which of these is important, probably video?) autoplay and refreshing displays the first-run wizard and allows me to click through and close it. I would attach a screenshot, except I don't know how to trigger the first-run wizard again.
This isn't a problem with how my browser is configured; NextCloud should not become bricked when videos cannot be autoplayed just because it wants to display a fancy animation to new users (or users who have just upgraded NextCloud, as in my case). It should fall back gracefully and display a static graphic. For new users, this is obviously a pretty terrible user experience.
Server configuration
N/A
Client configuration
Browser: Firefox 129.0.1 Operating system: N/A
Logs
N/A
Nextcloud log (data/owncloud.log)
N/A
Browser log
Don't know how to retrigger the first-run wizard, so can't get these.
Btw, @susnux any idea how to resolve this?
Hey! I am not exactly sure where to report, so I will do this here. Just tell me if I should open a separate issue elsewhere.
I just upgraded to NC31, and it seems a couple of links/redirects are broken.
This might be a server config issue, but this is really not my expertise, so I wouldn't really know...
From the JS console :
GET https://nc.example.com/index.php/settings/api/apps/media?fileName=https%3A%2F%2Fnextcloud.com%2Fc%2Fuploads%2F2025%2F02%2FNextcloud-Hub-10-featured-image.png 500 (Internal Server Error)
GET https://nc.example.com/index.php/settings/api/apps/media?fileName=https%3A%2F%2Fnextcloud.com%2Fc%2Fuploads%2F2024%2F10%2FNextcloud-podcast-Open-source-government-Schleswig-Holstein.png 500 (Internal Server Error)
GET https://nc.example.com/index.php/settings/api/apps/media?fileName=https%3A%2F%2Fgithub.com%2Fnextcloud%2Ffirstrunwizard%2Fraw%2Fmaster%2Fimg%2FNextcloud.webm 500 (Internal Server Error)
With 'debug' => true and this link :
Erreur interne du serveur
Le serveur est incapable d'exécuter votre requête.
Si cela se reproduit, veuillez envoyer les détails techniques ci-dessous à l'administrateur du serveur.
Le fichier journal du serveur peut fournir plus de renseignements.
Renseignements techniques
Adresse distante : 111.111.111.111
ID de la demande : Z9znpW56YIMJJCtiF-mcuQAAAVY
Type : Exception
Code : 0
Message : OCA\Settings\Controller\AppSettingsController::getAppDiscoverMedia(): Argument #1 ($fileName) must be of type string, null given, called in /home/user/public_html/lib/private/AppFramework/Http/Dispatcher.php on line 200 in file '/home/user/public_html/apps/settings/lib/Controller/AppSettingsController.php' line 131
Fichier : /home/user/public_html/lib/private/AppFramework/Http/Dispatcher.php
Ligne : 146
Trace
#0 /home/user/public_html/lib/private/AppFramework/App.php(161): OC\AppFramework\Http\Dispatcher->dispatch()
#1 /home/user/public_html/lib/private/Route/Router.php(307): OC\AppFramework\App::main()
#2 /home/user/public_html/lib/base.php(1025): OC\Route\Router->match()
#3 /home/user/public_html/index.php(24): OC::handleRequest()
#4 {main}
Précédent
#0 /home/user/public_html/lib/private/AppFramework/Http/Dispatcher.php(200): OCA\Settings\Controller\AppSettingsController->getAppDiscoverMedia()
#1 /home/user/public_html/lib/private/AppFramework/Http/Dispatcher.php(114): OC\AppFramework\Http\Dispatcher->executeController()
#2 /home/user/public_html/lib/private/AppFramework/App.php(161): OC\AppFramework\Http\Dispatcher->dispatch()
#3 /home/user/public_html/lib/private/Route/Router.php(307): OC\AppFramework\App::main()
#4 /home/user/public_html/lib/base.php(1025): OC\Route\Router->match()
#5 /home/user/public_html/index.php(24): OC::handleRequest()
#6 {main}
@lolcabanon This seems unrelated. Please troubleshoot your situation on the forum - https://help.nextcloud.com
There appears to be no widely supported means of detecting whether autoplay is functioning, but I think we can implement Example 3 (most widely supported) from MDN in parallel with Example 2 (presumably what will be the main way of doing so in the future):
https://developer.mozilla.org/en-US/docs/Web/Media/Guides/Autoplay#autoplay_availability
https://developer.mozilla.org/en-US/docs/Web/Media/Guides/Autoplay#the_autoplay_attribute
EDIT: Adding a poster might help too:
https://github.com/nextcloud/firstrunwizard/blob/master/src/components/pages/IntroAnimation.vue
I know this issue has been closed, but I upgraded to Nextcloud 32 (32.0.1) this morning and the first run wizard ran and I encountered this bug, so it is still present in stable releases. Luckily I've got SSH access and could run occ app:disable firstrunwizard to work around it, otherwise I would have been completely locked out.
@pwaring which browser do you use? Its fixed for browsers supporting getAutoplayPolicy which is at least Firefox.
FWIW I ran into this issue yesterday on Firefox and Opera. Disabling the firstrunwizard helped.
Opera sounds valid as it does not yet implement getAutoplayPolicy - Firefox supports it since 112 with Nextcloud 31.0.9+ or 32.0.0+. In case auto play is disabled for muted videos, then an image is shown and auto-skipped after 2.5 seconds.
Seems we need the same for chrome based browsers.
@susnux I initially tried Firefox (144.0) and then Chromium (141.0.7390.54). Both showed a broken modal which I couldn't dismiss.
Do you have any adblocker? I cannot reproduce this with Firefox 144 - it works as expected for me with or without enabled autoplay.
I do not have any extensions installed in Firefox (it is Firefox on Linux, installed via the Snap if that makes any difference).
This is not cool. I had the same issue that OP mentioned on a clean NextCloud install. I had "Autoplay" set to "Default (Allow)" in Vivaldi Browser settings and had to explicitly set it to "Allow". This is a very basic and stupid mistake on NextCloud's side.
Server: "This Nextcloud is on version 32.0.2."
Client: Version: 7.7.3851.52 (Official Build) (arm64) Chromium Version: 142.0.7444.180 Channel: Official Build Platform / OS: macOS Version 15.7 (Build 24G222)
This is a very basic and stupid mistake on NextCloud's side.
I agree bugs like this are annoying, but I don't think it's helpful to say that it's a basic / stupid mistake.
True. It doesn't help, but I still think it's true. I obviously speak of frustration as I wasted quite some time, because of this.
Just in case this is a reasonable suggestion: if the video began with a frame that either wasn't black, or had a "play button" graphic on it, that may help users realize that the page is fully loaded with a video instead of broken and running off to troubleshoot their setup.
I see - the problem here is that Chrome does not implement the API to detect the disabled state of autoplay. We implemented it by using the official API but it seems that only fixes it for Firefox users - not for Chrome.
It would also help if there was a big X in one of the corners to just simply close the overlay and let the users go about their business.
For search engines: I didn't want to ssh, so I disabled the firstrunwizard app from nextcloud app manager after I removed the overlay from the DOM for each page that was blocked. (With web developer tools - F12).
Note: this was after an update on a nextcloudpi that I have been using for years, so the "firstrunwizard" is kind of a misnomer (or is that also a bug that this wizard is triggered after an update)?
Reopen for chrome