Collaborative editing with OT on Client side

Hi i am trying to achieve collaborative editing and want to perform OT on client side. I have few questions

How to transform client steps with respect to server doc will receiveTransaction handle that ? because i want to send transformed client steps to all other active clients, or should i rebase each step if so how to do that, with step.map method ?

In my current approach as i want to resolve conflict on client side i am fetching all server steps applying them and then trying to transform client steps on top of the new state is this approach correct ?

Yes, it will transform unconfirmed local steps over the received steps.

When will steps be confirmed after applying transaction to state ? if so if we have a conflict they should be re transformed right ?