「プロジェクトの公開」のエラー処理を調べる

プロジェクトの「公開」は、ワークショップの際、環境が固まる状況に私が多く遭遇する機能の一つのような気がしていました。
エラーが起きる際には、適切なエラーメッセージが表示されることなく処理中?のままになるので、子供もサポーターにも、固まったようにしか見えません。納得させられるような説明もできず、サポーターとしても後味が悪い。だんだん慣れてきて、しばらく応答がない場合は「前のプロジェクト」に戻ると、そちらの画面にエラーが出ていることがわかりました。とりあえず対応に苦慮することはなくなったが、気持ちが悪いので、ずっと直したかった部分でした。

やっとまとまった時間ができたので、ソースコードを追いかけたら、非常にtrickyなことをしていることがわかりました。
Modal Dialogっぽい動きをさせるために、わざわざ一時的なプロジェクトを作ってそこに入り、その中で保存先の選択や途中経過を表示させる。元のプロジェクトはバックグラウンド処理として保存をさせる。だから保存処理中に発生したエラーは、元のプロジェクトのWorld側でハンドルしようとする。
おそらく、このModal Dialogもどきは、保存処理の最中に画面を操作させないよう後づけで入れたのでしょう。でも、保存処理中に発生したエラーは対話的にハンドリングされているのでもともと無理があります。

Morphの世界でこのような問題をどう取り扱えばいいのか?作戦をゼロから考え直すしかなさそうです。