ReadAllEventsForwardAsync returns events from (soft) deleted streams

I’m using ReadAllEventsForwardAsync to rebuild my readmodel, however, I also get events from a stream that is deleted. Is this by design? If so, how do I know this event can be ignored?

I wanted to check this behavior with a catchup subscription ( but this seems to be gone in the .net API? What’s the alternative? ReadAllEventsForwardAsync & then switch to SubscribeToAllAsync?



AllReads use a special path for optimization and ignore things like
soft deleted/maxage/maxcount/etc

catchup subscription would have the same behavior. Once you scavenge I think they will go away.