#realy progress report:
thanks to the helpful code review of nostr:nprofile1qyghwumn8ghj7mn0wd68ytnhd9hx2tcprdmhxue69uhhg6r9vehhyetnwshxummnw3erztnrdakj7qgkwaehxw309ahx7um5wfjkc6t5v4ejummjvuhsz8rhwden5te0vejk2ern9ehx7um5wghxyctwvshkzatyd9hszythwden5te0xy6rqtnxxaazu6t09uq3vamnwvaz7t69v3jkutnwdaehgu3wd3skuep0qyt8wumn8ghj7mtvv44h2tnjv4skc7fwd3hkctcprpmhxue69uhkzapwdehhxarjwahhy6mn9e3k7mf0qyghwumn8ghj7nn0wd68ytnhd9hx2tcqypcpygfgyuaacpa0n0nhyha9cj7qls2xse47cwx5gdsdcj7xesvtjqzauug i stumbled on some serious errors in handling delete events that have now been fixed
it was allowing post dated events to delete, for users to delete other users events, the deletion of delete events, and the a-tag replaceable events selector touching non-parameterised replaceables, and a few other naughty things
all fixed now
oh yeah, and most importantly it prevents owners from accidentally deleting their own follow and mute lists, which are critical for maintaining the access control list on realy
it already correctly handles replaceable events, i did make a small fix with that so that if an error occurs during saving a replaceable event, it does not delete the old one, was a very simple fix, just defers the delete to after the save, and doesn't do the delete if it gets an error from the save, this should prevent any possible race conditions, pretty much mainly just the relay dying exactly between saving the event and deleting the old event
it already would only return the newest of a replaceable type, anyway, this just prevents a rare non-atomic replacement from ever occurring
Showing page 1 of
1 pages