Fix error handling and IrRemoteProvider