例外が起きると他の画面に遷移できなくなるバグがあるみたいです。おそらく Developer Tools で見ると event.tags が undefined なのに find を呼び出そうとしているはず。以下の issue で1個直しましたが他にもありそう。

https://github.com/irislib/iris-messenger/pull/309

Reply to this note

Please Login to reply.

Discussion

PublicMessage.js:419:56で

Uncaught TypeError: this.state.msg.event.tags.reverse().find(...) is undefined

renderZap PublicMessage.js:419

render PublicMessage.js:610

Preact 11

というメッセージを見かけましたがこっちはどうなんでしょうか…

eventの問題は多分このエラーの話かと思うのですが…

path.ts:148:14

Error: event has no d tag: "ad882ee5168fe9c968893fddf5adeb6515abf0872f7215339ae3619bd3341c94"

set path.ts:62

set path.ts:142

v Notifications.js:19

Lodash 8

componentDidMount Notifications.js:28

t Events.ts:721

handle Events.ts:485

sendSubToRelays Subscriptions.ts:72

v relay.ts:125

v relay.ts:125

setInterval handler*n/

n relay.ts:152

n relay.ts:69

connect relay.ts:163

connect Relays.ts:61

e Relays.ts:70

作者が「tags なしのイベントなんてあるの知らなかったわー」と言ってるので、いずれ治るかもです。

それは今試そうとしているコード(単にイベントにsigを付けるだけ)にとって重要な知見です…ありがとうございます…

NIP-01によれば署名に含まれるtagsは "" なのでtagsがないイベントは不正だと思いますね……

ちなみに僕の環境では kind: 30000 が飛んできて例外起きてました。

あ、それは tags が undefined の話じゃなく d が無いって話でした。