Yeah I get that.

In both cases the ids will end up being 1 whereas the streams are totally different. Since the ID generation code is using incremental IDs and that they aren't synced.

Why not use something like UUIDs, which would eliminate the possibility of collisions, while preserving the simplicity of not having to deal with local and remote streams differently.