Hey all - I'm running into this problem as well.
The problem only occurs if [tubepress] is the last piece of text in the row. If there's anything after the shortcode, it works totally fine and gets put in the correct spot. The workaround posted by Eric does work, but is there going to be an actual fix for this? Tubepress is clearly doing something out of the ordinary while outputting the shortcode content.
I've mapped the [tubepress] shortcode to a VC element and that works fine, meaning that it outputs the content of the shortcode but still goes in the incorrect spot if it is the last piece of text in the row. I tried getting around this by mapping the Tubepress VC element to my own shortcode that simply served as a wrapper for [tubepress][video]. (Code below) This resulted in WordPress, for some reason, not evaluating the [tubepress] shortcode while it did evaluate the [video] shortcode.
function tubepress_output( $atts ) {
$output = do_shortcode('[tubepress][video]');
return $output;
}
add_shortcode( 'tubepress-test', 'tubepress_output' );
As Clovis said, I do like using Tubepress but I do believe it's doing something 'strange' with the shortcode output.
I can give links as needed.