PABLOF7z on Nostr: not just that; it would prevent an app from overwriting a new version of the event it ...
not just that; it would prevent an app from overwriting a new version of the event it hasn't seen
I should have pointed that out explicitly 😅: relays SHOULD reject a replaceable event if the passed in timestamp is not the most recent one
e.g.
### creates event at T+0 seconds
"created_at": 1683015000,
"tags": [ ["d", "replace-me" ] ]
### client 1 replaces event at T+10 seconds
"created_at": 1683015010,
"tags": [ ["d", "replace-me" ], "1683015000" ]
### client 2 fails to replace event at T+20 seconds
"created_at": 1683015020,
"tags": [ ["d", "replace-me" ], "1683015000" ]
Published at
2023-05-02 08:14:21Event JSON
{
"id": "1438027459c01ad452bbb1fecc28a66e02bec8609f09f6ac9c997c40e15b2d67",
"pubkey": "fa984bd7dbb282f07e16e7ae87b26a2a7b9b90b7246a44771f0cf5ae58018f52",
"created_at": 1683015261,
"kind": 1,
"tags": [
[
"e",
"ede021264d0d55890cfc18b3f9d5d655cb25a4c9f977cefab776c14d3940f270",
"",
"root"
],
[
"e",
"aeeee456be576a0fa9a2434382b51a9cb451bd626434a242d9d0abc9a8bf4495",
"",
"reply"
],
[
"p",
"1739d937dc8c0c7370aa27585938c119e25c41f6c441a5d34c6d38503e3136ef"
]
],
"content": "not just that; it would prevent an app from overwriting a new version of the event it hasn't seen\n\nI should have pointed that out explicitly 😅: relays SHOULD reject a replaceable event if the passed in timestamp is not the most recent one\n\ne.g.\n\n### creates event at T+0 seconds\n\n\"created_at\": 1683015000,\n\"tags\": [ [\"d\", \"replace-me\" ] ]\n\n### client 1 replaces event at T+10 seconds\n\n\"created_at\": 1683015010,\n\"tags\": [ [\"d\", \"replace-me\" ], \"1683015000\" ]\n\n### client 2 fails to replace event at T+20 seconds\n\n\"created_at\": 1683015020,\n\"tags\": [ [\"d\", \"replace-me\" ], \"1683015000\" ]\n",
"sig": "cf7be253b9aec11a8638bc5994f7e4bba63526e63ff8166e092901cbe6ca11ed49074a6bba4e6e278d81201b244cba1c9c5caa3946e7a195caa8997fcdbbd9a6"
}