Avatar
ノイン
41aec21af79710bd51d765f169b5ecd74d251fb8704f0429b77b048694e36516
そこらへんにいるエンジニア

技術書典で思ったよりも買い込んでしまったので頑張って読まねば!

お年玉Zap!

ありがとうございます 🙇

お久しぶりです

あけましておめでとうございます

今年もよろしくお願いしますー

あ、誤操作した…

取得し切るまで何も表示しない vs 取得できたものから表示する

画面の更新頻度にもよるけど、ユーザー見え的には後者の方が良さそうかなと個人的に思うところ

ただ、全て揃わないと意味がない場合は前者しか選択肢がないけども…

こちらですが React で StrictMode 有効にした状態でデバッグ実行した際に、 useEffect が2回呼び出されるのが原因でした (React としての仕様動作)。

ひとまずですが rx-nostr 起因では無さそうです。

と思って組んだけど、何故か2回リクエスト飛んでるっぽいのでダメかも…

kind: 1 から kind: 0 を取りに行く流れは、 kind: 1 を表示するタイミングで onshot 使って取りに行くのもありかも

できれば1つにまとめられると嬉しいけど、取り敢えず動けば良いの方針で

ただ取得処理散らばるからそのうちどうにかしたいなー

Replying to Avatar ぽーまん🐧

nostr:npub1gxhvyxhhjugt65whvhcknd0v6axj28acwp8sg2dh0vzgd98rv5tqvan59j 再現環境ありがとうございました、とても助かりました!v1.7.3 で問題を修正し、手元では再現環境上での修正も確認できました。お手隙でご確認ください

v1.7.3 に更新したところ、こちらでも修正されていることを確認しました!

ご対応ありがとうございます🙇‍♂

取り敢えずコードは共有できたので続きは明日

お待たせしました。

本件が発生するコードになります。

実行は yarn install のあと yarn run dev で動くと思います。

https://github.com/neoinal/nostrdeck/tree/features/making

とりあえず多少整理したで GitHub にあげよう。。

node_modules 消して更新し直してみましたが、状況は変わらないですね

あーそれはありうるかもしれません。

ちょっと一度 node_modules 消して入れ直してみます。

yarn 使っている yarn.lock を確認しましたが、インストールされているバージョンは 1.7.2 になっていたので更新はされているかと思います (yarn upgrade で更新しました)。

ちょっとこちらでも再現するコード用意したいと思います。

やっぱり実装悪い説

ミニマムの再現コード作ったほうが良い気がしてきたぞ

Replying to Avatar ぽーまん🐧

nostr:npub1gxhvyxhhjugt65whvhcknd0v6axj28acwp8sg2dh0vzgd98rv5tqvan59j 今 1.7.2 を出して、多分直ったのでお手隙でご確認いただけますか🙏

1.7.2 を試してみましたが、やっぱりダメそうです…

Chrome の DevTools で Network タブ見ていますが、 Pending 状態のまま1つのリレーに対して2本残ってしまってます。

ただ setTimeout で dispose を呼ぶタイミングをずらすとクローズしてそうです。

今回みたいなことがあることを考慮して、ある程度はコードきれいにしておこう…

ちなみに、今のコードは結構とっちらかってしまっているので共有は厳しかった…