How do you query older events? since the protocol requires only the latest event be returned in this case? Maybe you need to draft a nip for archived events?
Discussion
The events are still there, unless someone deleted them. Long-form articles are parameterized replaceable. You can just have the server keep n number of events or hold older versions for n number of months (whichever is higher).
>>events are parameterized replaceable, which means that, for each combination of pubkey, kind and the d tag's first value, only the latest event MUST be stored by relays, older versions MAY be discarded.<<
So, you could say that you keep 20 replaced versions or hold one replaced version for 20 months.
As soon as they hit 21 versions, you delete the oldest, or you delete a version, once it gets past 20 months.
My logic here is that there are probably forks and backups of documents that change quickly and the other documents are only edited rarely and they need to see what happened last time.
the signatures must be fully retained, but the content can be compressed down to a series of diffs in the actual database storage format, if the concern is about efficiency of data storage... a compression algorithm will also automatically do a lot of this, but is more expensive than unpacking diffs
Yes, the events might still be there but the querying mechanism doesn’t allow you to query for older versions, it would break the functioning otherwise, there’s a nip that needs to be drafted that lets you do that. Or the relay needs to provide “out of band” ways to let you access the older events.
Don't need a NIP to do something. We can just do it.