While shuffling around between various sandboxes I noticed that when there is not a currently valid SF OAuth token the field editing form fails to load. It records a series of errors in watchdog that start with the attempt to connect to Salesforce failing:

GuzzleHttp\Exception\ClientException: Client error: `POST https://****.salesforce.com/services/oauth2/token` resulted in a `400 Bad Request` response: {"error":"invalid_grant","error_description":"expired access/refresh token"} in GuzzleHttp\Exception\RequestException::create() (line 113 of /drupal/path/vendor/guzzlehttp/guzzle/src/Exception/RequestException.php).

And then a bunch of errors from editor that are similar to:

Notice: Trying to get property of non-object in Drupal\editor\Plugin\InPlaceEditor\Editor->isCompatible() (line 33 of /drupal/path/core/modules/editor/src/Plugin/InPlaceEditor/Editor.php)

There may be a more general issue with handling authentication failures for existing connections since the authentication form throws the same Guzzle error cleanly and then records a second blank message in WatchDog.

I think to reproduce you can connect the suite to a sandbox and then remove the sandbox or disable the user you used to setup the connection.

A more graceful failure would be helpful.

Comments

acrosman created an issue. See original summary.

  • aaronbauman committed 4f7dc13 on 8.x-3.x
    Issue #3024550 - better exception handling on mapping forms
    
aaronbauman’s picture

Status: Active » Fixed

4f7dc13 should fix it, but re-open if you have alternate ideas

Status: Fixed » Closed (fixed)

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