user_oidc icon indicating copy to clipboard operation
user_oidc copied to clipboard

RuntimeException: image not found: image:app-dark.svg webroot

Open alerque opened this issue 3 years ago • 4 comments

I'm using user_odic and after some recent updates (not sure whether Nextcloud server or this app triggered this, both were updated at similar times) I can now no longer access the settings page for most of my users. Strangely this does not affect all users, but most. I suspect the difference is what users had a theme preference set or have other seemingly unrelated settings...

Server: 24.0.6 User OIDC: 1.2.0

  Error    index              RuntimeException: image not found: image:app-dark.svg webroot:                          2022-10-14T16:50:31+00:00
                              serverroot:/usr/share/webapps/nextcloud at lib/private/URLGenerator.php line 244

                               0. apps/user_oidc/lib/Settings/Section.php line 73
                                  OC\URLGenerator->imagePath(

                                  )
                               1. .../CommonSettingsTrait.php line 90
                                  OCA\UserOIDC\Settings\Section->getIcon(

                                  )
                               2. .../CommonSettingsTrait.php line 115
                                  OCA\Settings\Controller\PersonalSettingsController->formatSections(

                                  )
                               3. .../CommonSettingsTrait.php line 67
                                  OCA\Settings\Controller\PersonalSettingsController->formatAdminSections(

                                  )
                               4. .../CommonSettingsTrait.php line 139
                                  OCA\Settings\Controller\PersonalSettingsController->getNavigationParameters(

                                  )
                               5. .../PersonalSettingsController.php line 64
                                  OCA\Settings\Controller\PersonalSettingsController->getIndexResponse(

                                  )
                               6. .../Dispatcher.php line 225
                                  OCA\Settings\Controller\PersonalSettingsController->index(

                                  )
                               7. .../Dispatcher.php line 133
                                  OC\AppFramework\Http\Dispatcher->executeController(

                                  )
                               8. .../AppFramework/App.php line 172
                                  OC\AppFramework\Http\Dispatcher->dispatch(

                                  )
                               9. lib/private/Route/Router.php line 298
                                  OC\AppFramework\App::main(

                                  )
                              10. lib/base.php line 1030
                                  OC\Route\Router->match(

                                  )
                              11. index.php line 36
                                  OC::handleRequest(

                                  )
  Error    index              RuntimeException: image not found: image:app-dark.svg webroot:                          2022-10-14T16:50:31+00:00
                              serverroot:/usr/share/webapps/nextcloud at lib/private/URLGenerator.php line 244

                               0. apps/user_oidc/lib/Settings/Section.php line 73
                                  OC\URLGenerator->imagePath(

                                  )
                               1. .../CommonSettingsTrait.php line 90
                                  OCA\UserOIDC\Settings\Section->getIcon(

                                  )
                               2. .../CommonSettingsTrait.php line 115
                                  OCA\Settings\Controller\PersonalSettingsController->formatSections(

                                  )
                               3. .../CommonSettingsTrait.php line 67
                                  OCA\Settings\Controller\PersonalSettingsController->formatAdminSections(

                                  )
                               4. .../CommonSettingsTrait.php line 139
                                  OCA\Settings\Controller\PersonalSettingsController->getNavigationParameters(

                                  )
                               5. .../PersonalSettingsController.php line 64
                                  OCA\Settings\Controller\PersonalSettingsController->getIndexResponse(

                                  )
                               6. .../Dispatcher.php line 225
                                  OCA\Settings\Controller\PersonalSettingsController->index(

                                  )
                               7. .../Dispatcher.php line 133
                                  OC\AppFramework\Http\Dispatcher->executeController(

                                  )
                               8. .../AppFramework/App.php line 172
                                  OC\AppFramework\Http\Dispatcher->dispatch(

                                  )
                               9. lib/private/Route/Router.php line 298
                                  OC\AppFramework\App::main(

                                  )
                              10. lib/base.php line 1030
                                  OC\Route\Router->match(

                                  )
                              11. index.php line 36
                                  OC::handleRequest(

                                  )

Messing with the code in lib/private/URLGenerator.php I was able to isolate the issue to know that the only thrown when $appName is user_oidc. I also determined that if I change line 239 like so:

-		if ($path !== '') {
+		if ($path !== '' || true) {

Not only is the error not thrown but next cloud can now load the settings page for all users.

alerque avatar Oct 14 '22 16:10 alerque

The line to change to hack around this has moved to 260 in recent Nextcloud versions like 25.x, but this plugin in still throwing this same error.

alerque avatar Feb 15 '23 13:02 alerque