Flutter Advanced Tip:
One detail with Streams that makes a real difference in Flutter apps: not emitting the same state twice.
In many apps, streams emit even when nothing changed. Same user, same auth state, same data. It looks harmless, but over time it creates noise: unnecessary rebuilds, duplicated side effects, harder-to-reason flows.
A lot of people assume Equatable solves this. It doesnβt. It helps compare states, but it doesnβt stop them from being emitted.
If you want cleaner behavior, you need to act at the stream level. Only react when something actually changes.
Equatable helps you compare.
distinct helps you control emissions.
Small detail, but it makes the app feel much more predictable.