why use behavior subject with sharereplay?
get todos() is also overkill. It's not a good way to get data from observer, except in async pipe. For adding todo we should use scan operator, same as for mark as completed. Subject with shareReplay (or ReplaySubject) solves all the problems and BehaviorSubject is really redundant here.
Thanks for the feedback, updated.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.