Why does Spawner not go via /spawn-pending/ when there are 'options_from_form'?

Does anyone know the rationale for the different behavior of JupyterHub’s SpawnHandler depending on whether options_from_form happens to have any options?

If there is no form for user options before spawning, SpawnHandler in GET kicks off the spawning and then redirects to the /spawn-pending/ page to show the user the progress stream.

If there is a form, SpawnHandler in POST starts the spawn but then just awaits its finish before redirecting to the hopefully-running server. It doesn’t go via /spawn-pending/ in this case.

Is there any reason for this difference, or have I misunderstood something about possible uses for the options form etc?

Any thoughts would still be very welcome, but I have submitted a Pull Request to JupyterHub that makes this behavior uniform.