Simply installing a vanilla version of Open Social 8.1 with the default modules, when you try to register, after filling the account details (password...), OSocial tries to open the profile form and returns an error:

Symfony\Component\Routing\Exception\RouteNotFoundException: Route "entity.profile.type.user_profile_form" does not exist. in Drupal\Core\Routing\RouteProvider->getRouteByName() (line 208 of core/lib/Drupal/Core/Routing/RouteProvider.php).

Drupal\Core\Routing\UrlGenerator->getRoute('entity.profile.type.user_profile_form') (Line: 271)
Drupal\Core\Routing\UrlGenerator->generateFromRoute('entity.profile.type.user_profile_form', Array, Array, 1) (Line: 105)
Drupal\Core\Render\MetadataBubblingUrlGenerator->generateFromRoute('entity.profile.type.user_profile_form', Array, Array, ) (Line: 754)
Drupal\Core\Url->toString() (Line: 133)
Drupal\Core\Form\FormSubmitter->redirectForm(Object) (Line: 80)
Drupal\Core\Form\FormSubmitter->doSubmitForm(Array, Object) (Line: 591)
Drupal\Core\Form\FormBuilder->processForm('user_form', Array, Object) (Line: 320)
Drupal\Core\Form\FormBuilder->buildForm(Object, Object) (Line: 91)
Drupal\Core\Controller\FormController->getContentResult(Object, Object)
call_user_func_array(Array, Array) (Line: 123)
Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}() (Line: 573)
Drupal\Core\Render\Renderer->executeInRenderContext(Object, Object) (Line: 124)
Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->wrapControllerExecutionInRenderContext(Array, Array) (Line: 97)
Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}() (Line: 151)
Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object, 1) (Line: 68)
Symfony\Component\HttpKernel\HttpKernel->handle(Object, 1, 1) (Line: 57)
Drupal\Core\StackMiddleware\Session->handle(Object, 1, 1) (Line: 47)
Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object, 1, 1) (Line: 106)
Drupal\page_cache\StackMiddleware\PageCache->pass(Object, 1, 1) (Line: 85)
Drupal\page_cache\StackMiddleware\PageCache->handle(Object, 1, 1) (Line: 47)
Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object, 1, 1) (Line: 52)
Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object, 1, 1) (Line: 23)
Stack\StackedHttpKernel->handle(Object, 1, 1) (Line: 694)
Drupal\Core\DrupalKernel->handle(Object) (Line: 19)

I found that the route "entity.profile.type.user_profile_form" was defined before version 1.0-rc2 of the Profile module, after that version they've changed it and OSocial isn't updated. OSocial uses that route on many modules and themes: social_auth_extra, social_profile, social_user and socialblue.

Opensocial 8.1 requires Profile ^1.1 so there must be a reason?
Cheers

Comments

7thkey created an issue. See original summary.

ronaldtebrake’s picture

Updating profile to the latest version was quite a hassle due to it being at the core of Open Social.
It being a security release, there might be issues that were missed. Keep in mind Profile decided to update a lot of their routes in their last release before being stable. That was also the reason it wasnt updated before, it wasnt backwards compatible. But due to security concerns we rolled it out when we believed we got it all covered. Guess we missed this.

Here is a work in progress PR: https://github.com/goalgorilla/open_social/pull/1751
You can grab the patch as so: https://github.com/goalgorilla/open_social/pull/1751.patch and see if it applies and works for you :)

spiderman’s picture

I couldn't get the patch linked in the PR mentioned above to apply cleanly, due to one (seemingly) extraneous hunk in social_private_message.install:

@@ -244,7 +244,7 @@ function social_private_message_update_8801() {
 /**
  * Revert remaining social_private_message configs not included in 8801.
  */
-function social_private_message_update_8802() {
+function social_private_message_update_8804() {
   $config_files = [
     'core.entity_view_display.private_message.private_message.inbox',
     'core.entity_view_display.profile.profile.compact_private_message',

Attached is a re-rolled version of that patch without the offending hunk. The original hook_update_8802() doesn't exist on my freshly cloned copy of open_social at 8.1.

7thkey’s picture

Thanks @spiderman and @ronaldtebrake, the last patch #3 works ok for me.

7thkey’s picture

Status: Active » Needs review
mparker17’s picture

Status: Needs review » Reviewed & tested by the community

Code review looks good.

Manual testing confirms this works.

RTBC from me.

ribel’s picture

Patch #3 doesn't apply on Open Social version 7.4, so here is another one for this version.

ronaldtebrake’s picture

Status: Reviewed & tested by the community » Fixed

Will be in 8.2 and 7.5

  • ronaldtebrake committed 7c55bea on 8.x-9.x
    Issue #3118746 by ronaldtebrake: see changerecord on profile update,...
  • ronaldtebrake authored 2a4c2c8 on 8.x-9.x
    Merge pull request #1751 from goalgorilla/bugfix/3118746
    
    Issue #3118746...
  • ronaldtebrake committed 4bb8842 on 8.x-9.x authored by spiderman
    Issue #3118746 by spiderman, 7thkey, ronaldtebrake, mparker17: When you...

  • ronaldtebrake committed 2b43358 on 8.x-7.x authored by ribel
    Issue #3118746 by spiderman, ribel, 7thkey, ronaldtebrake, mparker17:...

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.

spiderman’s picture